Re: [PATCH v1 3/4] media: rc bpf: move ir_raw_event to uapi
On Mon, May 14, 2018 at 2:11 PM, Sean Youngwrote: > 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 > --- > 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 > #include > #include > +#include > #include > > /** > @@ -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; > - > - unsignedpulse:1; > - unsignedreset:1; > - unsignedtimeout:1; > - unsignedcarrier_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 ..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 > + * > + * 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; > + }; > + __u8duty_cycle; > + > + unsignedpulse:1; > + unsignedreset:1; > + unsignedtimeout:1; > + unsignedcarrier_report:1; > +}; > + > +#endif /* _UAPI__LINUX_BPF_RCDEV_H__ */ > -- > 2.17.0 >
Re: [PATCH v1 3/4] media: rc bpf: move ir_raw_event to uapi
On Mon, May 14, 2018 at 2:11 PM, Sean Young 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 > --- > 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 > #include > #include > +#include > #include > > /** > @@ -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; > - > - unsignedpulse:1; > - unsignedreset:1; > - unsignedtimeout:1; > - unsignedcarrier_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 ..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 > + * > + * 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; > + }; > + __u8duty_cycle; > + > + unsignedpulse:1; > + unsignedreset:1; > + unsignedtimeout:1; > + unsignedcarrier_report:1; > +}; > + > +#endif /* _UAPI__LINUX_BPF_RCDEV_H__ */ > -- > 2.17.0 >
Re: [PATCH v1 3/4] media: rc bpf: move ir_raw_event to uapi
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 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v1 3/4] media: rc bpf: move ir_raw_event to uapi
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 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[PATCH v1 3/4] media: rc bpf: move ir_raw_event to uapi
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--- 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 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 #include #include +#include #include /** @@ -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; - - unsignedpulse:1; - unsignedreset:1; - unsignedtimeout:1; - unsignedcarrier_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 ..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 + * + * 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; + }; + __u8duty_cycle; + + unsignedpulse:1; + unsignedreset:1; + unsignedtimeout:1; + unsignedcarrier_report:1; +}; + +#endif /* _UAPI__LINUX_BPF_RCDEV_H__ */ -- 2.17.0
[PATCH v1 3/4] media: rc bpf: move ir_raw_event to uapi
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 --- 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 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 #include #include +#include #include /** @@ -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; - - unsignedpulse:1; - unsignedreset:1; - unsignedtimeout:1; - unsignedcarrier_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 ..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 + * + * 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; + }; + __u8duty_cycle; + + unsignedpulse:1; + unsignedreset:1; + unsignedtimeout:1; + unsignedcarrier_report:1; +}; + +#endif /* _UAPI__LINUX_BPF_RCDEV_H__ */ -- 2.17.0