Message ID | 6ecdbd01b8c42c8784f2235c1e5109dac3dd86a5.1526331777.git.sean@mess.org |
---|---|
State | Changes Requested, archived |
Delegated to: | BPF Maintainers |
Headers | show |
Series | IR decoding using BPF | expand |
Hi Sean,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v4.17-rc5]
[cannot apply to next-20180514]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Sean-Young/media-rc-introduce-BPF_PROG_IR_DECODER/20180515-093234
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
>> ./usr/include/linux/bpf_rcdev.h:13: found __[us]{8,16,32,64} type without #include <linux/types.h>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
On Mon, May 14, 2018 at 2:11 PM, Sean Young <sean@mess.org> wrote: > The context provided to a BPF_PROG_RAWIR_DECODER is a struct ir_raw_event; > ensure user space has a a definition. > > Signed-off-by: Sean Young <sean@mess.org> > --- > include/media/rc-core.h | 19 +------------------ > include/uapi/linux/bpf_rcdev.h | 24 ++++++++++++++++++++++++ Patch #2 already referenced this file. So if Patches #1 and #2 applied, there will be a compilation error. Could you re-arrange your patchset so that after sequentially applying each patch, there is no compilation error? > 2 files changed, 25 insertions(+), 18 deletions(-) > create mode 100644 include/uapi/linux/bpf_rcdev.h > > diff --git a/include/media/rc-core.h b/include/media/rc-core.h > index 6742fd86ff65..5d31e31d8ade 100644 > --- a/include/media/rc-core.h > +++ b/include/media/rc-core.h > @@ -21,6 +21,7 @@ > #include <linux/kfifo.h> > #include <linux/time.h> > #include <linux/timer.h> > +#include <uapi/linux/bpf_rcdev.h> > #include <media/rc-map.h> > > /** > @@ -299,24 +300,6 @@ void rc_keydown_notimeout(struct rc_dev *dev, enum rc_proto protocol, > void rc_keyup(struct rc_dev *dev); > u32 rc_g_keycode_from_table(struct rc_dev *dev, u32 scancode); > > -/* > - * From rc-raw.c > - * The Raw interface is specific to InfraRed. It may be a good idea to > - * split it later into a separate header. > - */ > -struct ir_raw_event { > - union { > - u32 duration; > - u32 carrier; > - }; > - u8 duty_cycle; > - > - unsigned pulse:1; > - unsigned reset:1; > - unsigned timeout:1; > - unsigned carrier_report:1; > -}; > - > #define DEFINE_IR_RAW_EVENT(event) struct ir_raw_event event = {} > > static inline void init_ir_raw_event(struct ir_raw_event *ev) > diff --git a/include/uapi/linux/bpf_rcdev.h b/include/uapi/linux/bpf_rcdev.h > new file mode 100644 > index 000000000000..d8629ff2b960 > --- /dev/null > +++ b/include/uapi/linux/bpf_rcdev.h > @@ -0,0 +1,24 @@ > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ > +/* Copyright (c) 2018 Sean Young <sean@mess.org> > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of version 2 of the GNU General Public > + * License as published by the Free Software Foundation. > + */ > +#ifndef _UAPI__LINUX_BPF_RCDEV_H__ > +#define _UAPI__LINUX_BPF_RCDEV_H__ > + > +struct ir_raw_event { > + union { > + __u32 duration; > + __u32 carrier; > + }; > + __u8 duty_cycle; > + > + unsigned pulse:1; > + unsigned reset:1; > + unsigned timeout:1; > + unsigned carrier_report:1; > +}; > + > +#endif /* _UAPI__LINUX_BPF_RCDEV_H__ */ > -- > 2.17.0 >
diff --git a/include/media/rc-core.h b/include/media/rc-core.h index 6742fd86ff65..5d31e31d8ade 100644 --- a/include/media/rc-core.h +++ b/include/media/rc-core.h @@ -21,6 +21,7 @@ #include <linux/kfifo.h> #include <linux/time.h> #include <linux/timer.h> +#include <uapi/linux/bpf_rcdev.h> #include <media/rc-map.h> /** @@ -299,24 +300,6 @@ void rc_keydown_notimeout(struct rc_dev *dev, enum rc_proto protocol, void rc_keyup(struct rc_dev *dev); u32 rc_g_keycode_from_table(struct rc_dev *dev, u32 scancode); -/* - * From rc-raw.c - * The Raw interface is specific to InfraRed. It may be a good idea to - * split it later into a separate header. - */ -struct ir_raw_event { - union { - u32 duration; - u32 carrier; - }; - u8 duty_cycle; - - unsigned pulse:1; - unsigned reset:1; - unsigned timeout:1; - unsigned carrier_report:1; -}; - #define DEFINE_IR_RAW_EVENT(event) struct ir_raw_event event = {} static inline void init_ir_raw_event(struct ir_raw_event *ev) diff --git a/include/uapi/linux/bpf_rcdev.h b/include/uapi/linux/bpf_rcdev.h new file mode 100644 index 000000000000..d8629ff2b960 --- /dev/null +++ b/include/uapi/linux/bpf_rcdev.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* Copyright (c) 2018 Sean Young <sean@mess.org> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + */ +#ifndef _UAPI__LINUX_BPF_RCDEV_H__ +#define _UAPI__LINUX_BPF_RCDEV_H__ + +struct ir_raw_event { + union { + __u32 duration; + __u32 carrier; + }; + __u8 duty_cycle; + + unsigned pulse:1; + unsigned reset:1; + unsigned timeout:1; + unsigned carrier_report:1; +}; + +#endif /* _UAPI__LINUX_BPF_RCDEV_H__ */
The context provided to a BPF_PROG_RAWIR_DECODER is a struct ir_raw_event; ensure user space has a a definition. Signed-off-by: Sean Young <sean@mess.org> --- include/media/rc-core.h | 19 +------------------ include/uapi/linux/bpf_rcdev.h | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 include/uapi/linux/bpf_rcdev.h