Message ID | 20190612034310.4640-1-yuehaibing@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: ttpci: Fix build error without RC_CORE | expand |
On Wed, Jun 12, 2019 at 11:43:10AM +0800, YueHaibing wrote: > If RC_CORE is not set, building fails: > > drivers/media/pci/ttpci/av7110_ir.o: In function `av7110_ir_init': > av7110_ir.c:(.text+0x1b0): undefined reference to `rc_allocate_device' > av7110_ir.c:(.text+0x2c1): undefined reference to `rc_register_device' > av7110_ir.c:(.text+0x2dc): undefined reference to `rc_free_device' > > Reported-by: Hulk Robot <hulkci@huawei.com> > Fixes: 71f49a8bf5c5 ("media: ttpci: use rc-core for the IR receiver") > Signed-off-by: YueHaibing <yuehaibing@huawei.com> Thank you for spotting this and writing a patch. > --- > drivers/media/pci/ttpci/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig > index d96d4fa..b705631 100644 > --- a/drivers/media/pci/ttpci/Kconfig > +++ b/drivers/media/pci/ttpci/Kconfig > @@ -7,7 +7,7 @@ config DVB_AV7110 > depends on DVB_CORE && PCI && I2C > select TTPCI_EEPROM > select VIDEO_SAA7146_VV > - select DVB_AV7110_IR if INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110 This says if - select DVB_AV7110_IR if INPUT_EVDEV and DVB_AV7110 are both y or m - select DVB_AV7110_IR if INPUT_EVDEV=y This exists for the case when INPUT_EVDEV=y and DVB_AV7110=m, which is fine > + select DVB_AV7110_IR if RC_CORE=DVB_AV7110 && (INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110) That's not exactly the same. For one thing it should not longer depend on INPUT_EVDEV=y. Now if DVB_AV7110=m and RC_CORE=y is not allowed which should be (this is the case in Fedora default kernel config for example). > depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV > select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT > select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT > -- > 2.7.4 > Thanks, Sean
Em Wed, 12 Jun 2019 08:42:55 +0100 Sean Young <sean@mess.org> escreveu: > On Wed, Jun 12, 2019 at 11:43:10AM +0800, YueHaibing wrote: > > If RC_CORE is not set, building fails: > > > > drivers/media/pci/ttpci/av7110_ir.o: In function `av7110_ir_init': > > av7110_ir.c:(.text+0x1b0): undefined reference to `rc_allocate_device' > > av7110_ir.c:(.text+0x2c1): undefined reference to `rc_register_device' > > av7110_ir.c:(.text+0x2dc): undefined reference to `rc_free_device' > > > > Reported-by: Hulk Robot <hulkci@huawei.com> > > Fixes: 71f49a8bf5c5 ("media: ttpci: use rc-core for the IR receiver") > > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > > Thank you for spotting this and writing a patch. > > > --- > > drivers/media/pci/ttpci/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig > > index d96d4fa..b705631 100644 > > --- a/drivers/media/pci/ttpci/Kconfig > > +++ b/drivers/media/pci/ttpci/Kconfig > > @@ -7,7 +7,7 @@ config DVB_AV7110 > > depends on DVB_CORE && PCI && I2C > > select TTPCI_EEPROM > > select VIDEO_SAA7146_VV > > - select DVB_AV7110_IR if INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110 > > This says if > - select DVB_AV7110_IR if INPUT_EVDEV and DVB_AV7110 are both y or m > - select DVB_AV7110_IR if INPUT_EVDEV=y > This exists for the case when INPUT_EVDEV=y and DVB_AV7110=m, which is fine > > > + select DVB_AV7110_IR if RC_CORE=DVB_AV7110 && (INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110) > > That's not exactly the same. For one thing it should not longer depend on > INPUT_EVDEV=y. > > Now if DVB_AV7110=m and RC_CORE=y is not allowed which should be (this is > the case in Fedora default kernel config for example). My suggestion here is to stop using select here, using, instead a depends on for DVB_AV7110_IR, e. g. something like (untested): config DVB_AV7110_IR bool depends on RC_CORE && DVB_AV7110 default DVB_AV7110 > > > depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV > > select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT > > select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT > > -- > > 2.7.4 > > > > Thanks, > > Sean Thanks, Mauro
On Wed, Jun 12, 2019 at 06:37:08AM -0300, Mauro Carvalho Chehab wrote: > Em Wed, 12 Jun 2019 08:42:55 +0100 > Sean Young <sean@mess.org> escreveu: > > > On Wed, Jun 12, 2019 at 11:43:10AM +0800, YueHaibing wrote: > > > If RC_CORE is not set, building fails: > > > > > > drivers/media/pci/ttpci/av7110_ir.o: In function `av7110_ir_init': > > > av7110_ir.c:(.text+0x1b0): undefined reference to `rc_allocate_device' > > > av7110_ir.c:(.text+0x2c1): undefined reference to `rc_register_device' > > > av7110_ir.c:(.text+0x2dc): undefined reference to `rc_free_device' > > > > > > Reported-by: Hulk Robot <hulkci@huawei.com> > > > Fixes: 71f49a8bf5c5 ("media: ttpci: use rc-core for the IR receiver") > > > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > > > > Thank you for spotting this and writing a patch. > > > > > --- > > > drivers/media/pci/ttpci/Kconfig | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig > > > index d96d4fa..b705631 100644 > > > --- a/drivers/media/pci/ttpci/Kconfig > > > +++ b/drivers/media/pci/ttpci/Kconfig > > > @@ -7,7 +7,7 @@ config DVB_AV7110 > > > depends on DVB_CORE && PCI && I2C > > > select TTPCI_EEPROM > > > select VIDEO_SAA7146_VV > > > - select DVB_AV7110_IR if INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110 > > > > This says if > > - select DVB_AV7110_IR if INPUT_EVDEV and DVB_AV7110 are both y or m > > - select DVB_AV7110_IR if INPUT_EVDEV=y > > This exists for the case when INPUT_EVDEV=y and DVB_AV7110=m, which is fine > > > > > + select DVB_AV7110_IR if RC_CORE=DVB_AV7110 && (INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110) > > > > That's not exactly the same. For one thing it should not longer depend on > > INPUT_EVDEV=y. > > > > Now if DVB_AV7110=m and RC_CORE=y is not allowed which should be (this is > > the case in Fedora default kernel config for example). > > My suggestion here is to stop using select here, using, instead > a depends on for DVB_AV7110_IR, e. g. something like (untested): > > config DVB_AV7110_IR > bool > depends on RC_CORE && DVB_AV7110 > default DVB_AV7110 Build will fail if RC_CORE=m && DVB_AV7110=y. So it should be depends on RC_CORE=y || RC_CORE = DVB_AV7110 Thanks, Sean
Em Wed, 12 Jun 2019 18:56:29 +0100 Sean Young <sean@mess.org> escreveu: > On Wed, Jun 12, 2019 at 06:37:08AM -0300, Mauro Carvalho Chehab wrote: > > Em Wed, 12 Jun 2019 08:42:55 +0100 > > Sean Young <sean@mess.org> escreveu: > > > > > On Wed, Jun 12, 2019 at 11:43:10AM +0800, YueHaibing wrote: > > > > If RC_CORE is not set, building fails: > > > > > > > > drivers/media/pci/ttpci/av7110_ir.o: In function `av7110_ir_init': > > > > av7110_ir.c:(.text+0x1b0): undefined reference to `rc_allocate_device' > > > > av7110_ir.c:(.text+0x2c1): undefined reference to `rc_register_device' > > > > av7110_ir.c:(.text+0x2dc): undefined reference to `rc_free_device' > > > > > > > > Reported-by: Hulk Robot <hulkci@huawei.com> > > > > Fixes: 71f49a8bf5c5 ("media: ttpci: use rc-core for the IR receiver") > > > > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > > > > > > Thank you for spotting this and writing a patch. > > > > > > > --- > > > > drivers/media/pci/ttpci/Kconfig | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig > > > > index d96d4fa..b705631 100644 > > > > --- a/drivers/media/pci/ttpci/Kconfig > > > > +++ b/drivers/media/pci/ttpci/Kconfig > > > > @@ -7,7 +7,7 @@ config DVB_AV7110 > > > > depends on DVB_CORE && PCI && I2C > > > > select TTPCI_EEPROM > > > > select VIDEO_SAA7146_VV > > > > - select DVB_AV7110_IR if INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110 > > > > > > This says if > > > - select DVB_AV7110_IR if INPUT_EVDEV and DVB_AV7110 are both y or m > > > - select DVB_AV7110_IR if INPUT_EVDEV=y > > > This exists for the case when INPUT_EVDEV=y and DVB_AV7110=m, which is fine > > > > > > > + select DVB_AV7110_IR if RC_CORE=DVB_AV7110 && (INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110) > > > > > > That's not exactly the same. For one thing it should not longer depend on > > > INPUT_EVDEV=y. > > > > > > Now if DVB_AV7110=m and RC_CORE=y is not allowed which should be (this is > > > the case in Fedora default kernel config for example). > > > > My suggestion here is to stop using select here, using, instead > > a depends on for DVB_AV7110_IR, e. g. something like (untested): > > > > config DVB_AV7110_IR > > bool > > depends on RC_CORE && DVB_AV7110 > > default DVB_AV7110 As I said, this was untested. > Build will fail if RC_CORE=m && DVB_AV7110=y. So it should be > > depends on RC_CORE=y || RC_CORE = DVB_AV7110 Works for me. That's a lot cleaner and easier to understand than what we currently have. Thanks, Mauro
On 2019/6/13 1:56, Sean Young wrote: > On Wed, Jun 12, 2019 at 06:37:08AM -0300, Mauro Carvalho Chehab wrote: >> Em Wed, 12 Jun 2019 08:42:55 +0100 >> Sean Young <sean@mess.org> escreveu: >> >>> On Wed, Jun 12, 2019 at 11:43:10AM +0800, YueHaibing wrote: >>>> If RC_CORE is not set, building fails: >>>> >>>> drivers/media/pci/ttpci/av7110_ir.o: In function `av7110_ir_init': >>>> av7110_ir.c:(.text+0x1b0): undefined reference to `rc_allocate_device' >>>> av7110_ir.c:(.text+0x2c1): undefined reference to `rc_register_device' >>>> av7110_ir.c:(.text+0x2dc): undefined reference to `rc_free_device' >>>> >>>> Reported-by: Hulk Robot <hulkci@huawei.com> >>>> Fixes: 71f49a8bf5c5 ("media: ttpci: use rc-core for the IR receiver") >>>> Signed-off-by: YueHaibing <yuehaibing@huawei.com> >>> >>> Thank you for spotting this and writing a patch. >>> >>>> --- >>>> drivers/media/pci/ttpci/Kconfig | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig >>>> index d96d4fa..b705631 100644 >>>> --- a/drivers/media/pci/ttpci/Kconfig >>>> +++ b/drivers/media/pci/ttpci/Kconfig >>>> @@ -7,7 +7,7 @@ config DVB_AV7110 >>>> depends on DVB_CORE && PCI && I2C >>>> select TTPCI_EEPROM >>>> select VIDEO_SAA7146_VV >>>> - select DVB_AV7110_IR if INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110 >>> >>> This says if >>> - select DVB_AV7110_IR if INPUT_EVDEV and DVB_AV7110 are both y or m >>> - select DVB_AV7110_IR if INPUT_EVDEV=y >>> This exists for the case when INPUT_EVDEV=y and DVB_AV7110=m, which is fine >>> >>>> + select DVB_AV7110_IR if RC_CORE=DVB_AV7110 && (INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110) >>> >>> That's not exactly the same. For one thing it should not longer depend on >>> INPUT_EVDEV=y. >>> >>> Now if DVB_AV7110=m and RC_CORE=y is not allowed which should be (this is >>> the case in Fedora default kernel config for example). >> >> My suggestion here is to stop using select here, using, instead >> a depends on for DVB_AV7110_IR, e. g. something like (untested): >> >> config DVB_AV7110_IR >> bool >> depends on RC_CORE && DVB_AV7110 >> default DVB_AV7110 > > Build will fail if RC_CORE=m && DVB_AV7110=y. So it should be > > depends on RC_CORE=y || RC_CORE = DVB_AV7110 Thanks, will test and send v2 as your suggestion. > > > Thanks, > > Sean > > . >
diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig index d96d4fa..b705631 100644 --- a/drivers/media/pci/ttpci/Kconfig +++ b/drivers/media/pci/ttpci/Kconfig @@ -7,7 +7,7 @@ config DVB_AV7110 depends on DVB_CORE && PCI && I2C select TTPCI_EEPROM select VIDEO_SAA7146_VV - select DVB_AV7110_IR if INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110 + select DVB_AV7110_IR if RC_CORE=DVB_AV7110 && (INPUT_EVDEV=y || INPUT_EVDEV=DVB_AV7110) depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT
If RC_CORE is not set, building fails: drivers/media/pci/ttpci/av7110_ir.o: In function `av7110_ir_init': av7110_ir.c:(.text+0x1b0): undefined reference to `rc_allocate_device' av7110_ir.c:(.text+0x2c1): undefined reference to `rc_register_device' av7110_ir.c:(.text+0x2dc): undefined reference to `rc_free_device' Reported-by: Hulk Robot <hulkci@huawei.com> Fixes: 71f49a8bf5c5 ("media: ttpci: use rc-core for the IR receiver") Signed-off-by: YueHaibing <yuehaibing@huawei.com> --- drivers/media/pci/ttpci/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)