Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59faba1b authored by Trent Piepho's avatar Trent Piepho Committed by Linus Torvalds
Browse files

Fix Kconfig dependency problems wrt boolean menuconfigs



If one has a dependency chain (tristate)FOO depends on (bool)BAR depends on
(tristate)BAZ, build problems will result.  If BAZ=m, then BAR can be set
y, which allows FOO=y.  It's possible to have FOO=y && BAZ=m, which
wouldn't be allowed if FOO depended directly on BAZ.  In effect, the bool
promotes the tristate from m to y.

This ends up causing a problem with several menuconfigs that look like:

menuconfig BAR
	bool
	depends on BAZ [tristate]
if BAR
config FOO
	tristate
endif

The solution used here is to add the dependencies of BAR to the if
statement, so that items in the if block will gain a direct
non-bool-promoted dependency on BAZ.  This is how it would work if a menu
was used instead of an if block.

Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
Acked-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: default avatarJeff Garzik <jeff@garzik.org>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 30acbaba
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ menuconfig ATM_DRIVERS
	depends on NETDEVICES && ATM
	default y

if ATM_DRIVERS
if ATM_DRIVERS && NETDEVICES && ATM

config ATM_DUMMY
	tristate "Dummy ATM driver"
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ menuconfig DVB_CAPTURE_DRIVERS
	---help---
	  Say Y to select Digital TV adapters

if DVB_CAPTURE_DRIVERS
if DVB_CAPTURE_DRIVERS && DVB_CORE

comment "Supported SAA7146 based PCI Adapters"
	depends on DVB_CORE && PCI && I2C
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ menuconfig RADIO_ADAPTERS
	---help---
	  Say Y here to enable selecting AM/FM radio adapters.

if RADIO_ADAPTERS
if RADIO_ADAPTERS && VIDEO_DEV

config RADIO_CADET
	tristate "ADS Cadet AM/FM Tuner"
+3 −3
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ menuconfig VIDEO_CAPTURE_DRIVERS
	  webcams, analog TV, and hybrid analog/digital TV.
	  Some of those devices also supports FM radio.

if VIDEO_CAPTURE_DRIVERS
if VIDEO_CAPTURE_DRIVERS && VIDEO_DEV

config VIDEO_ADV_DEBUG
	bool "Enable advanced debug functionality"
@@ -347,7 +347,7 @@ endmenu # encoder / decoder chips

config VIDEO_VIVI
	tristate "Virtual Video Driver"
	depends on VIDEO_V4L2 && !SPARC32 && !SPARC64 && PCI && VIDEO_DEV
	depends on VIDEO_V4L2 && !SPARC32 && !SPARC64 && PCI
	select VIDEO_BUF
	default n
	---help---
@@ -691,7 +691,7 @@ menuconfig V4L_USB_DRIVERS
	depends on USB
	default y

if V4L_USB_DRIVERS
if V4L_USB_DRIVERS && USB

source "drivers/media/video/pvrusb2/Kconfig"

+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ menuconfig NET_PCMCIA

	  If unsure, say N.

if NET_PCMCIA
if NET_PCMCIA && PCMCIA

config PCMCIA_3C589
	tristate "3Com 3c589 PCMCIA support"