Trent Piepho 59faba1b31 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>
2007-06-28 11:34:53 -07:00
..
2007-05-24 16:36:51 -07:00
2007-06-01 08:18:28 -07:00
2007-05-09 07:18:01 +02:00
2007-06-12 18:58:58 -04:00
2007-06-12 18:58:58 -04:00
2007-06-01 08:18:27 -07:00
2007-05-24 16:36:52 -07:00
2007-05-09 08:57:56 +02:00
2007-06-03 11:44:20 -04:00
2007-06-01 08:18:27 -07:00
2007-06-27 02:33:06 -04:00
2007-05-03 13:21:48 -07:00
2007-05-03 13:21:13 -07:00
2007-06-07 13:38:40 -07:00
2007-06-07 13:38:38 -07:00
2007-05-31 01:23:22 -07:00
2007-05-09 08:57:56 +02:00
2007-05-04 17:59:08 -07:00
2007-05-27 12:03:36 -04:00
2007-05-04 17:59:06 -07:00
2007-05-04 17:59:07 -07:00
2007-05-04 17:59:07 -07:00
2007-05-04 17:59:08 -07:00
2007-05-24 17:20:49 -04:00
2007-05-09 08:57:56 +02:00
2007-06-20 19:15:04 -04:00
2007-05-15 17:44:39 -04:00
2007-05-11 17:53:36 -04:00
2007-06-03 11:44:19 -04:00
2007-05-15 17:44:39 -04:00
2007-05-04 17:59:08 -07:00
2007-05-04 17:59:07 -07:00
2007-06-20 19:09:33 -04:00
2007-05-09 12:30:51 -07:00
2007-05-24 17:20:48 -04:00
2007-06-09 18:25:34 -04:00