diff mbox series

media: ttpci: Fix build error without RC_CORE

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

Commit Message

Yue Haibing June 12, 2019, 3:43 a.m. UTC
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(-)

Comments

Sean Young June 12, 2019, 7:42 a.m. UTC | #1
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
Mauro Carvalho Chehab June 12, 2019, 9:37 a.m. UTC | #2
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
Sean Young June 12, 2019, 5:56 p.m. UTC | #3
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
Mauro Carvalho Chehab June 12, 2019, 6:25 p.m. UTC | #4
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
Yue Haibing June 13, 2019, 1:27 a.m. UTC | #5
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 mbox series

Patch

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