fix build error in drivers/media/video/cx23885/cx23885-dvb.c
PATCH 1/1 fix build error in drivers/media/video/cx23885/cx23885-dvb.c
testing of the -tip tree found the following module build failure on latest -git:
Building modules, stage 2.
MODPOST 421 modules
ERROR: "dib7000p_attach" [drivers/media/video/cx23885/cx23885.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2with the following config:
http://redhat.com/~mingo/misc/config-Tue_May_20_17_13_32_CEST_2008.bad
the problem is caused that ./drivers/media/video/cx23885/cx23885-dvb.c depends on a DVB_DIB7000P symbol (dib7000p_attach), but its Kconfig rule only selects it if DVB_FE_CUSTOMISE is enabled:
select DVB_DIB7000P if !DVB_FE_CUSTOMISE
the minimal fix found is to select the DVB frontend driver unconditionally.
--- drivers/media/video/cx23885/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/media/video/cx23885/Kconfig +1 -1
@@ -11,7 +11,7 @@ config VIDEO_CX23885 select VIDEOBUF_DVB select VIDEO_CX25840 select VIDEO_CX2341X - select DVB_DIB7000P if !DVB_FE_CUSTOMISE + select DVB_DIB7000P select MEDIA_TUNER_MT2131 if !DVB_FE_CUSTOMISE select DVB_S5H1409 if !DVB_FE_CUSTOMISE select DVB_LGDT330X if !DVB_FE_CUSTOMISE
Re: [patch] fix build error in drivers/media/video/cx23885/cx2388 5-dvb.c
Please see below, proper patch attached...
Quoted 6 lines · Ingo Molnar
testing of the -tip tree found the following module build failure on latest -git:
Building modules, stage 2.
MODPOST 421 modules
ERROR: "dib7000p_attach" [drivers/media/video/cx23885/cx23885.ko]
undefined!
Quoted 7 lines
make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2with the following config:
http://redhat.com/~mingo/misc/config-Tue_May_20_17_13_32_CEST_2008.bad
Quoted 7 lines
the problem is caused that
./drivers/media/video/cx23885/cx23885-dvb.cdepends on aDVB_DIB7000Psymbol (dib7000p_attach), but itsKconfigrule only selects it ifDVB_FE_CUSTOMISEis enabled:select
DVB_DIB7000Pif !DVB_FE_CUSTOMISEthe minimal fix found is to select the DVB frontend driver
unconditionally.
Quoted 13 lines
Signed-off-by Ingo Molnar <[email protected]>--- drivers/media/video/cx23885/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Index: linux/drivers/media/video/cx23885/Kconfig
===================================================================
drivers/media/video/cx23885/Kconfig config VIDEO_CX23885 · line 17
Quoted 8 lines
drivers/media/video/cx23885/Kconfig +1
-1@@ -11,7 +11,7 @@ config VIDEO_CX23885 select VIDEOBUF_DVB select VIDEO_CX25840 select VIDEO_CX2341X - select DVB_DIB7000P if !DVB_FE_CUSTOMISE + select DVB_DIB7000P select MEDIA_TUNER_MT2131 if !DVB_FE_CUSTOMISE select DVB_S5H1409 if !DVB_FE_CUSTOMISE select DVB_LGDT330X if !DVB_FE_CUSTOMISE
Ingo,
Your patch will work around a symptom of the problem, but this is not the proper fix.
Please see the attached patch, which should be applied, instead.
Thanks for pointing this out.
Regards,
Mike Krufky
dib7000p: fix dib7000p_attach when !CONFIG_DVB_DIB7000P
somebody forgot to to fix this header...
Thanks to Ingo Molnar for pointing this out.
--- linux/drivers/media/dvb/frontends/dib7000p.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
linux/drivers/media/dvb/frontends/dib7000p.h +14 -1
@@ -37,7 +37,20 @@#define DEFAULT_DIB7000P_I2C_ADDRESS 18 -extern struct dvb_frontend *dib7000p_attach (struct i2c_adapter *i2c_adap,u8 i2c_addr,struct dib7000p_config *cfg); +#if defined(CONFIG_DVB_DIB7000P ) || (defined(CONFIG_DVB_DIB7000P_MODULE ) && defined(MODULE )) +extern struct dvb_frontend *dib7000p_attach (struct i2c_adapter *i2c_adap, +u8 i2c_addr, +struct dib7000p_config *cfg); +#else +static inline struct dvb_frontend *dib7000p_attach (struct i2c_adapter *i2c_adap, +u8 i2c_addr, +struct dib7000p_config *cfg) +{ +printk (KERN_WARNING "%s: driver disabled by Kconfig\n" , __func__); +return NULL ; +} +#endif +extern int dib7000p_i2c_enumeration (struct i2c_adapter *i2c,int no_of_demods,u8 default_addr,struct dib7000p_config cfg[]);extern struct i2c_adapter *dib7000p_get_i2c_master (struct dvb_frontend *,enum dibx000_i2c_interface ,int );
Ingo Molnar
Tested-byRe: [patch] fix build error in drivers/media/video/cx23885/cx2388 5-dvb.c
Quoted 1 line · * [email protected] <[email protected]> wrote:
Please see below, proper patch attached...
thanks, this too solves the build problem.
Ingo