public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Adrian Bunk <bunk@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [patch] dvb: build failure fix
Date: Mon, 28 Apr 2008 21:53:30 +0200	[thread overview]
Message-ID: <20080428195330.GE9907@elte.hu> (raw)
In-Reply-To: <20080428180457.GY2813@cs181133002.pp.htv.fi>


* Adrian Bunk <bunk@kernel.org> wrote:

> On Mon, Apr 28, 2008 at 06:24:21PM +0200, Ingo Molnar wrote:
> > 
> > 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.

> It might work around the problem in your specific configuration, but 
> it's not the correct solution.
> 
> Please send your .config .

i dont have it anymore, but the key was what i wrote in the changelog 
above:

  CONFIG_DVB_CORE=m
  CONFIG_TUNER_TDA8290=y

if you look at the symbols above, their definition sites, and the 
dependencies between them you'll see why that breaks the build. (There 
might be more to it, this area has been a frequent source of problems.)

> > -	depends on I2C && FW_LOADER
> > +	depends on I2C && FW_LOADER && ((DVB_CORE = m && m) || (DVB_CORE = y))
> >...
> 
> Your funny additions are equivalent to "&& DVB_CORE".

right you are, thanks - the above change was the best hack 4 hours of 
sleep can buy ;-) Simplified patch below.

	Ingo

---------------------->
Subject: dvb: build failure fix
From: Ingo Molnar <mingo@elte.hu>
Date: Mon Apr 28 18:17:58 CEST 2008

fix build failure:

 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'

due to:

  CONFIG_DVB_CORE=m but CONFIG_TUNER_TDA8290=y.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 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

  reply	other threads:[~2008-04-28 19:53 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-28 16:24 [patch] dvb: build failure fix Ingo Molnar
2008-04-28 18:04 ` Adrian Bunk
2008-04-28 19:53   ` Ingo Molnar [this message]
2008-04-28 21:01     ` Adrian Bunk
2008-04-28 21:25       ` Mauro Carvalho Chehab
2008-04-28 21:29         ` mkrufky
2008-04-29 12:14           ` Ingo Molnar
2008-04-30 19:17           ` Mauro Carvalho Chehab
2008-04-30 19:28             ` Adrian Bunk
2008-04-30 19:31               ` mkrufky
2008-04-30 19:52                 ` Mauro Carvalho Chehab
2008-04-30 20:01                   ` Adrian Bunk
2008-04-30 22:32                     ` mkrufky
2008-04-28 19:47 ` Mauro Carvalho Chehab
2008-04-28 20:30   ` Ingo Molnar
2008-04-28 21:03     ` Mauro Carvalho Chehab
2008-04-28 21:17       ` Ingo Molnar
2008-04-28 21:20         ` Ingo Molnar
2008-04-28 21:23           ` Ingo Molnar
2008-04-28 21:25             ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080428195330.GE9907@elte.hu \
    --to=mingo@elte.hu \
    --cc=bunk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox