summary refs log tree commit diff
path: root/drivers/atm
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2007-06-27 14:09:54 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-28 11:34:53 -0700
commit59faba1b316a7798a33752b3889193333f8af1a0 (patch)
treeaa62041bf8c66f18cb78e97fe6ebfccc0f4d13f7 /drivers/atm
parent30acbabae38793c9c9acace4de5b1c1889570768 (diff)
downloadlinux-59faba1b316a7798a33752b3889193333f8af1a0.tar.gz
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: Trent Piepho <xyzzy@speakeasy.org>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: Jeff Garzik <jeff@garzik.org>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/atm')
-rw-r--r--drivers/atm/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/atm/Kconfig b/drivers/atm/Kconfig
index f5a47a48c3b4..5b4fab24155f 100644
--- a/drivers/atm/Kconfig
+++ b/drivers/atm/Kconfig
@@ -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"