Message ID | 564A3450.4040800@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Heiner, [auto build test WARNING on linuxtv-media/master] [also build test WARNING on v4.4-rc1 next-20151116] url: https://github.com/0day-ci/linux/commits/Heiner-Kallweit/media-rc-fix-decoder-module-unloading/20151117-035809 base: git://linuxtv.org/media_tree.git master config: parisc-allmodconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=parisc All warnings (new ones prefixed by >>): In file included from include/media/rc-core.h:23:0, from drivers/media/pci/cx23885/cx23885-input.c:34: drivers/media/pci/cx23885/cx23885-input.c: In function 'cx23885_input_init': >> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define RC_BIT_ALL ~RC_BIT_NONE ^ >> drivers/media/pci/cx23885/cx23885-input.c:289:20: note: in expansion of macro 'RC_BIT_ALL' allowed_protos = RC_BIT_ALL; ^ >> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define RC_BIT_ALL ~RC_BIT_NONE ^ drivers/media/pci/cx23885/cx23885-input.c:303:20: note: in expansion of macro 'RC_BIT_ALL' allowed_protos = RC_BIT_ALL; ^ >> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define RC_BIT_ALL ~RC_BIT_NONE ^ drivers/media/pci/cx23885/cx23885-input.c:310:20: note: in expansion of macro 'RC_BIT_ALL' allowed_protos = RC_BIT_ALL; ^ >> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define RC_BIT_ALL ~RC_BIT_NONE ^ drivers/media/pci/cx23885/cx23885-input.c:318:20: note: in expansion of macro 'RC_BIT_ALL' allowed_protos = RC_BIT_ALL; ^ >> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define RC_BIT_ALL ~RC_BIT_NONE ^ drivers/media/pci/cx23885/cx23885-input.c:330:20: note: in expansion of macro 'RC_BIT_ALL' allowed_protos = RC_BIT_ALL; ^ >> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define RC_BIT_ALL ~RC_BIT_NONE ^ drivers/media/pci/cx23885/cx23885-input.c:336:20: note: in expansion of macro 'RC_BIT_ALL' allowed_protos = RC_BIT_ALL; ^ vim +57 include/media/rc-map.h 41 #define RC_BIT_RC5_SZ (1ULL << RC_TYPE_RC5_SZ) 42 #define RC_BIT_JVC (1ULL << RC_TYPE_JVC) 43 #define RC_BIT_SONY12 (1ULL << RC_TYPE_SONY12) 44 #define RC_BIT_SONY15 (1ULL << RC_TYPE_SONY15) 45 #define RC_BIT_SONY20 (1ULL << RC_TYPE_SONY20) 46 #define RC_BIT_NEC (1ULL << RC_TYPE_NEC) 47 #define RC_BIT_SANYO (1ULL << RC_TYPE_SANYO) 48 #define RC_BIT_MCE_KBD (1ULL << RC_TYPE_MCE_KBD) 49 #define RC_BIT_RC6_0 (1ULL << RC_TYPE_RC6_0) 50 #define RC_BIT_RC6_6A_20 (1ULL << RC_TYPE_RC6_6A_20) 51 #define RC_BIT_RC6_6A_24 (1ULL << RC_TYPE_RC6_6A_24) 52 #define RC_BIT_RC6_6A_32 (1ULL << RC_TYPE_RC6_6A_32) 53 #define RC_BIT_RC6_MCE (1ULL << RC_TYPE_RC6_MCE) 54 #define RC_BIT_SHARP (1ULL << RC_TYPE_SHARP) 55 #define RC_BIT_XMP (1ULL << RC_TYPE_XMP) 56 > 57 #define RC_BIT_ALL ~RC_BIT_NONE 58 59 #define RC_SCANCODE_UNKNOWN(x) (x) 60 #define RC_SCANCODE_OTHER(x) (x) 61 #define RC_SCANCODE_NEC(addr, cmd) (((addr) << 8) | (cmd)) 62 #define RC_SCANCODE_NECX(addr, cmd) (((addr) << 8) | (cmd)) 63 #define RC_SCANCODE_NEC32(data) ((data) & 0xffffffff) 64 #define RC_SCANCODE_RC5(sys, cmd) (((sys) << 8) | (cmd)) 65 #define RC_SCANCODE_RC5_SZ(sys, cmd) (((sys) << 8) | (cmd)) --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Am 16.11.2015 um 21:47 schrieb kbuild test robot: > Hi Heiner, > > [auto build test WARNING on linuxtv-media/master] > [also build test WARNING on v4.4-rc1 next-20151116] > > url: https://github.com/0day-ci/linux/commits/Heiner-Kallweit/media-rc-fix-decoder-module-unloading/20151117-035809 > base: git://linuxtv.org/media_tree.git master > config: parisc-allmodconfig (attached as .config) > reproduce: > wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > make.cross ARCH=parisc > > All warnings (new ones prefixed by >>): > > In file included from include/media/rc-core.h:23:0, > from drivers/media/pci/cx23885/cx23885-input.c:34: > drivers/media/pci/cx23885/cx23885-input.c: In function 'cx23885_input_init': >>> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define RC_BIT_ALL ~RC_BIT_NONE > ^ >>> drivers/media/pci/cx23885/cx23885-input.c:289:20: note: in expansion of macro 'RC_BIT_ALL' > allowed_protos = RC_BIT_ALL; > ^ >>> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define RC_BIT_ALL ~RC_BIT_NONE > ^ > drivers/media/pci/cx23885/cx23885-input.c:303:20: note: in expansion of macro 'RC_BIT_ALL' > allowed_protos = RC_BIT_ALL; > ^ >>> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define RC_BIT_ALL ~RC_BIT_NONE > ^ > drivers/media/pci/cx23885/cx23885-input.c:310:20: note: in expansion of macro 'RC_BIT_ALL' > allowed_protos = RC_BIT_ALL; > ^ >>> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define RC_BIT_ALL ~RC_BIT_NONE > ^ > drivers/media/pci/cx23885/cx23885-input.c:318:20: note: in expansion of macro 'RC_BIT_ALL' > allowed_protos = RC_BIT_ALL; > ^ >>> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define RC_BIT_ALL ~RC_BIT_NONE > ^ > drivers/media/pci/cx23885/cx23885-input.c:330:20: note: in expansion of macro 'RC_BIT_ALL' > allowed_protos = RC_BIT_ALL; > ^ >>> include/media/rc-map.h:57:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define RC_BIT_ALL ~RC_BIT_NONE > ^ > drivers/media/pci/cx23885/cx23885-input.c:336:20: note: in expansion of macro 'RC_BIT_ALL' > allowed_protos = RC_BIT_ALL; > ^ > > vim +57 include/media/rc-map.h > > 41 #define RC_BIT_RC5_SZ (1ULL << RC_TYPE_RC5_SZ) > 42 #define RC_BIT_JVC (1ULL << RC_TYPE_JVC) > 43 #define RC_BIT_SONY12 (1ULL << RC_TYPE_SONY12) > 44 #define RC_BIT_SONY15 (1ULL << RC_TYPE_SONY15) > 45 #define RC_BIT_SONY20 (1ULL << RC_TYPE_SONY20) > 46 #define RC_BIT_NEC (1ULL << RC_TYPE_NEC) > 47 #define RC_BIT_SANYO (1ULL << RC_TYPE_SANYO) > 48 #define RC_BIT_MCE_KBD (1ULL << RC_TYPE_MCE_KBD) > 49 #define RC_BIT_RC6_0 (1ULL << RC_TYPE_RC6_0) > 50 #define RC_BIT_RC6_6A_20 (1ULL << RC_TYPE_RC6_6A_20) > 51 #define RC_BIT_RC6_6A_24 (1ULL << RC_TYPE_RC6_6A_24) > 52 #define RC_BIT_RC6_6A_32 (1ULL << RC_TYPE_RC6_6A_32) > 53 #define RC_BIT_RC6_MCE (1ULL << RC_TYPE_RC6_MCE) > 54 #define RC_BIT_SHARP (1ULL << RC_TYPE_SHARP) > 55 #define RC_BIT_XMP (1ULL << RC_TYPE_XMP) > 56 > > 57 #define RC_BIT_ALL ~RC_BIT_NONE > 58 > 59 #define RC_SCANCODE_UNKNOWN(x) (x) > 60 #define RC_SCANCODE_OTHER(x) (x) > 61 #define RC_SCANCODE_NEC(addr, cmd) (((addr) << 8) | (cmd)) > 62 #define RC_SCANCODE_NECX(addr, cmd) (((addr) << 8) | (cmd)) > 63 #define RC_SCANCODE_NEC32(data) ((data) & 0xffffffff) > 64 #define RC_SCANCODE_RC5(sys, cmd) (((sys) << 8) | (cmd)) > 65 #define RC_SCANCODE_RC5_SZ(sys, cmd) (((sys) << 8) | (cmd)) > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation > To me this seems to be a bug in cx23885. Variable allowed_protos should be of type u64 instead of unsigned long because its value later is assigned to rc->allowed_protocols which is of type u64. If you agree I'd send a patch. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Em Mon, 16 Nov 2015 20:53:52 +0100 Heiner Kallweit <hkallweit1@gmail.com> escreveu: > RC_BIT_ALL explicitely lists each single currently defined protocol bit. > To simplify the code and make adding a protocol easier set each bit > no matter whether the respective protocol is defined yet. > > RC_BIT_ALL is only used in checks whether a particular protocol is allowed > therefore it has no impact if bits for not (yet) defined protocols > are set. I guess we used to do that, but we decided to explicitly define all protocols there. Can't remember why. So, for now, I'm not applying this one. Also, it depends on patch 6/8, due to RC_BIT_LIRC. So, I'm not applying this one. > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> > --- > drivers/media/rc/rc-main.c | 1 - > include/media/rc-map.h | 10 +--------- > 2 files changed, 1 insertion(+), 10 deletions(-) > > diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c > index d1611f1..d7055e1 100644 > --- a/drivers/media/rc/rc-main.c > +++ b/drivers/media/rc/rc-main.c > @@ -1447,7 +1447,6 @@ int rc_register_device(struct rc_dev *dev) > kfree(path); > > if (dev->driver_type == RC_DRIVER_IR_RAW) { > - dev->allowed_protocols |= RC_BIT_LIRC; > /* calls ir_register_device so unlock mutex here*/ > mutex_unlock(&dev->lock); > rc = ir_raw_event_register(dev); > diff --git a/include/media/rc-map.h b/include/media/rc-map.h > index 7844e98..27aaf6b 100644 > --- a/include/media/rc-map.h > +++ b/include/media/rc-map.h > @@ -54,15 +54,7 @@ enum rc_type { > #define RC_BIT_SHARP (1ULL << RC_TYPE_SHARP) > #define RC_BIT_XMP (1ULL << RC_TYPE_XMP) > > -#define RC_BIT_ALL (RC_BIT_UNKNOWN | RC_BIT_OTHER | \ > - RC_BIT_RC5 | RC_BIT_RC5X | RC_BIT_RC5_SZ | \ > - RC_BIT_JVC | \ > - RC_BIT_SONY12 | RC_BIT_SONY15 | RC_BIT_SONY20 | \ > - RC_BIT_NEC | RC_BIT_SANYO | RC_BIT_MCE_KBD | \ > - RC_BIT_RC6_0 | RC_BIT_RC6_6A_20 | RC_BIT_RC6_6A_24 | \ > - RC_BIT_RC6_6A_32 | RC_BIT_RC6_MCE | RC_BIT_SHARP | \ > - RC_BIT_XMP) > - > +#define RC_BIT_ALL ~RC_BIT_NONE > > #define RC_SCANCODE_UNKNOWN(x) (x) > #define RC_SCANCODE_OTHER(x) (x) -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index d1611f1..d7055e1 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -1447,7 +1447,6 @@ int rc_register_device(struct rc_dev *dev) kfree(path); if (dev->driver_type == RC_DRIVER_IR_RAW) { - dev->allowed_protocols |= RC_BIT_LIRC; /* calls ir_register_device so unlock mutex here*/ mutex_unlock(&dev->lock); rc = ir_raw_event_register(dev); diff --git a/include/media/rc-map.h b/include/media/rc-map.h index 7844e98..27aaf6b 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h @@ -54,15 +54,7 @@ enum rc_type { #define RC_BIT_SHARP (1ULL << RC_TYPE_SHARP) #define RC_BIT_XMP (1ULL << RC_TYPE_XMP) -#define RC_BIT_ALL (RC_BIT_UNKNOWN | RC_BIT_OTHER | \ - RC_BIT_RC5 | RC_BIT_RC5X | RC_BIT_RC5_SZ | \ - RC_BIT_JVC | \ - RC_BIT_SONY12 | RC_BIT_SONY15 | RC_BIT_SONY20 | \ - RC_BIT_NEC | RC_BIT_SANYO | RC_BIT_MCE_KBD | \ - RC_BIT_RC6_0 | RC_BIT_RC6_6A_20 | RC_BIT_RC6_6A_24 | \ - RC_BIT_RC6_6A_32 | RC_BIT_RC6_MCE | RC_BIT_SHARP | \ - RC_BIT_XMP) - +#define RC_BIT_ALL ~RC_BIT_NONE #define RC_SCANCODE_UNKNOWN(x) (x) #define RC_SCANCODE_OTHER(x) (x)
RC_BIT_ALL explicitely lists each single currently defined protocol bit. To simplify the code and make adding a protocol easier set each bit no matter whether the respective protocol is defined yet. RC_BIT_ALL is only used in checks whether a particular protocol is allowed therefore it has no impact if bits for not (yet) defined protocols are set. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/media/rc/rc-main.c | 1 - include/media/rc-map.h | 10 +--------- 2 files changed, 1 insertion(+), 10 deletions(-)