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-02-09 09:14:07 -08:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2007-06-03 11:44:20 -04:00
2006-09-13 13:24:59 -04:00
2007-02-09 09:14:07 -08:00
2007-06-01 08:18:27 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-06-27 02:33:06 -04:00
2007-02-06 19:03:56 -05:00
2006-09-13 13:24:59 -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
2006-09-13 13:24:59 -04:00
2005-04-16 15:20:36 -07:00
2007-02-09 16:23:17 +00:00
2006-09-13 13:24:59 -04:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2005-05-15 18:31:07 -04:00
2006-09-13 13:24:59 -04:00
2007-02-09 09:14:07 -08:00
2007-05-09 08:57:56 +02:00
2006-09-13 13:24:59 -04:00
2007-02-09 09:14:07 -08:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-12-09 09:41:18 -08:00
2005-04-16 15:20:36 -07:00
2006-12-02 00:11:56 -05:00
2007-03-29 11:46:52 -07:00
2007-05-04 17:59:08 -07:00
2007-05-27 12:03:36 -04:00
2005-04-16 15:20:36 -07:00
2007-05-04 17:59:06 -07:00
2007-05-04 17:59:07 -07:00
2007-02-07 18:50:53 -05:00
2005-04-16 15:20:36 -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-04-28 11:01:05 -04:00
2007-06-20 19:15:04 -04:00
2006-12-04 02:00:34 -05:00
2006-12-02 21:22:37 -08:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2005-04-16 15:20:36 -07:00
2007-05-15 17:44:39 -04:00
2007-04-28 11:00:58 -04:00
2007-04-25 22:24:41 -07:00
2007-04-28 11:01:01 -04:00
2007-04-28 11:01:07 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2007-05-11 17:53:36 -04:00
2007-04-28 11:01:00 -04:00
2007-06-03 11:44:19 -04:00
2006-09-13 13:24:59 -04:00
2007-04-25 22:24:41 -07:00
2006-09-13 13:24:59 -04:00
2007-05-15 17:44:39 -04:00
2007-02-09 09:14:07 -08:00
2007-02-09 09:14:07 -08: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
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-05-09 12:30:51 -07:00
2006-11-22 14:57:56 +00:00
2007-04-26 01:00:55 -07:00
2007-05-24 17:20:48 -04:00
2007-06-09 18:25:34 -04:00
2007-02-09 09:14:07 -08:00
2006-12-02 00:11:56 -05:00