lkml.org 
[lkml]   [2004]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectSubtle Kconfig bug discovered
Hi

Here is a sample Kconfig file to show what this is all about.

//----snip----

#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

menu "Kconfig problem"

config DOIT
bool "To see what I mean set D and D1 to Y.

config TEST_A
bool "Test A"
default n
help
Top level config

config TEST_B
tristate "Test B"
default n
depends on TEST_A
help
Something depending on A

config TEST_C
bool "Test C"
default n
select TEST_B
help
Something depending on B

config TEST_D
bool "Test D"
default n
select TEST_C
help
Selecting C will cause it to be Y, but what about A and B ??

A and B is in another subsystem,
so D shouldn't know anything about them.

comment "Sugessted solution"

config README
bool "Read Me in help"
help
Should "depends on X" implicitly cause a "select X" ?
When X = 1&2&3 this is easy, but what when X = (1&2)|3 ???
The least LKC could do is to give a warning, if a disabled
option is selected.

I discovered this while working on fb_setup and i810fb.
A = I2C, B = I2C_ALGOBIT, C = I2C_I810 and D = FB_I810_I2C
Have a look at www.rootshell.be/~rikusw

The solution below doesn't require any changes to LKC,
the implicit select will.

config TEST_A1
bool "Test A1"
default n
help

config TEST_B1
tristate "Test B1"
default n
select TEST_A1
help

config TEST_C1
tristate "Test C1"
default n
select TEST_B1
help
If this is bool then B1 will b Y regardless whether D1 is M or Y...

config TEST_D1
tristate "Test D1"
default n
select TEST_C1
# select TEST_B1 - I don't want this because D1 is in another subsystem
# and shouldn't know anything about B1.
help

endmenu

//----snip----


I will be offline for the next 4-5 days bu, but please CC me at:
"rikusw" --> "rootshell.be"

Rikus Wessels
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.028 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site