[patch] dvb: build failure fix

From: Ingo Molnar
Date: Mon Apr 28 2008 - 12:24:58 EST



fix build failure found via x86.git randconfig testing:

drivers/built-in.o: In function `tda829x_attach':
: undefined reference to `tda827x_attach'
drivers/built-in.o: In function `tda829x_attach':
: undefined reference to `tda18271_attach'

build failure is due to this nasty dependency:

CONFIG_DVB_CORE=m but CONFIG_TUNER_TDA8290=y.

the solution is to follow the DVB_CORE constraint in the Kconfig. It's
not pretty but works.

Kconfig should be enhanced instead with a new keyword: "depends on
instructure ..." that makes it clear that the dependent module can only
be of equal or lesser link mode - but not =y while the infrastructure
module is =m. But i digress.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
drivers/media/Kconfig | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

Index: linux/drivers/media/Kconfig
===================================================================
--- linux.orig/drivers/media/Kconfig
+++ linux/drivers/media/Kconfig
@@ -106,21 +106,21 @@ if VIDEO_TUNER_CUSTOMIZE

config TUNER_XC2028
tristate "XCeive xc2028/xc3028 tuners"
- depends on I2C && FW_LOADER
+ depends on I2C && FW_LOADER && ((DVB_CORE = m && m) || (DVB_CORE = y))
default m if VIDEO_TUNER_CUSTOMIZE
help
Say Y here to include support for the xc2028/xc3028 tuners.

config TUNER_MT20XX
tristate "Microtune 2032 / 2050 tuners"
- depends on I2C
+ depends on I2C && ((DVB_CORE = m && m) || (DVB_CORE = y))
default m if VIDEO_TUNER_CUSTOMIZE
help
Say Y here to include support for the MT2032 / MT2050 tuner.

config TUNER_TDA8290
tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo"
- depends on I2C
+ depends on I2C && ((DVB_CORE = m && m) || (DVB_CORE = y))
select DVB_TDA827X
select DVB_TDA18271
default m if VIDEO_TUNER_CUSTOMIZE
@@ -129,21 +129,21 @@ config TUNER_TDA8290

config TUNER_TEA5761
tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
- depends on I2C && EXPERIMENTAL
+ depends on I2C && EXPERIMENTAL && ((DVB_CORE = m && m) || (DVB_CORE = y))
default m if VIDEO_TUNER_CUSTOMIZE
help
Say Y here to include support for the Philips TEA5761 radio tuner.

config TUNER_TEA5767
tristate "TEA 5767 radio tuner"
- depends on I2C
+ depends on I2C && ((DVB_CORE = m && m) || (DVB_CORE = y))
default m if VIDEO_TUNER_CUSTOMIZE
help
Say Y here to include support for the Philips TEA5767 radio tuner.

config TUNER_SIMPLE
tristate "Simple tuner support"
- depends on I2C
+ depends on I2C && ((DVB_CORE = m && m) || (DVB_CORE = y))
select TUNER_TDA9887
default m if VIDEO_TUNER_CUSTOMIZE
help
@@ -151,7 +151,7 @@ config TUNER_SIMPLE

config TUNER_TDA9887
tristate "TDA 9885/6/7 analog IF demodulator"
- depends on I2C
+ depends on I2C && ((DVB_CORE = m && m) || (DVB_CORE = y))
default m if VIDEO_TUNER_CUSTOMIZE
help
Say Y here to include support for Philips TDA9885/6/7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/