Home
last modified time | relevance | path

Searched hist:"3 b9a19e08960e5cdad5253998637653e592a3c29" (Results 1 – 3 of 3) sorted by relevance

/linux/scripts/kconfig/
H A Dlkc.hdiff 3b9a19e08960e5cdad5253998637653e592a3c29 Sun Apr 28 22:36:38 CEST 2013 Yann E. MORIN <yann.morin.1998@free.fr> kconfig: loop as long as we changed some symbols in randconfig

Because of choice-in-a-choice constructs, it can happen that not all
symbols are assigned a value during randconfig, leading in rare cases
to this situation:

---8<--- choice-in-choice.in
choice
bool "A/B/C"
config A
bool "A"

config B
bool "B"
if B
choice
bool "E/F"
config E
bool "E"
config F
bool "F"
endchoice
endif # B

config C
bool "C"
endchoice
---8<---

$ ./scripts/kconfig/conf --randconfig choice-in-choice.in
[--SNIP--]
$ ./scripts/kconfig/conf --silentoldconfig choice-in-choice.in </dev/null
[--SNIP--]
A/B/C
1. A (A)
> 2. B (B)
3. C (C)
choice[1-3]: 2
E/F
> 1. E (E) (NEW)
2. F (F) (NEW)
choice[1-2]: aborted!

Console input/output is redirected. Run 'make oldconfig' to update
configuration.

Fix this by looping in randconfig for as long as some symbol gets assigned
a value.

Note: this was spotted with the USB EHCI Debug Device Gadget (USB_G_DBGP),
which uses this choice-in-a-choice construct, and exhibits this problem.
The example above is just a stripped-down minimalist test-case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
H A Dconf.cdiff 3b9a19e08960e5cdad5253998637653e592a3c29 Sun Apr 28 22:36:38 CEST 2013 Yann E. MORIN <yann.morin.1998@free.fr> kconfig: loop as long as we changed some symbols in randconfig

Because of choice-in-a-choice constructs, it can happen that not all
symbols are assigned a value during randconfig, leading in rare cases
to this situation:

---8<--- choice-in-choice.in
choice
bool "A/B/C"
config A
bool "A"

config B
bool "B"
if B
choice
bool "E/F"
config E
bool "E"
config F
bool "F"
endchoice
endif # B

config C
bool "C"
endchoice
---8<---

$ ./scripts/kconfig/conf --randconfig choice-in-choice.in
[--SNIP--]
$ ./scripts/kconfig/conf --silentoldconfig choice-in-choice.in </dev/null
[--SNIP--]
A/B/C
1. A (A)
> 2. B (B)
3. C (C)
choice[1-3]: 2
E/F
> 1. E (E) (NEW)
2. F (F) (NEW)
choice[1-2]: aborted!

Console input/output is redirected. Run 'make oldconfig' to update
configuration.

Fix this by looping in randconfig for as long as some symbol gets assigned
a value.

Note: this was spotted with the USB EHCI Debug Device Gadget (USB_G_DBGP),
which uses this choice-in-a-choice construct, and exhibits this problem.
The example above is just a stripped-down minimalist test-case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
H A Dconfdata.cdiff 3b9a19e08960e5cdad5253998637653e592a3c29 Sun Apr 28 22:36:38 CEST 2013 Yann E. MORIN <yann.morin.1998@free.fr> kconfig: loop as long as we changed some symbols in randconfig

Because of choice-in-a-choice constructs, it can happen that not all
symbols are assigned a value during randconfig, leading in rare cases
to this situation:

---8<--- choice-in-choice.in
choice
bool "A/B/C"
config A
bool "A"

config B
bool "B"
if B
choice
bool "E/F"
config E
bool "E"
config F
bool "F"
endchoice
endif # B

config C
bool "C"
endchoice
---8<---

$ ./scripts/kconfig/conf --randconfig choice-in-choice.in
[--SNIP--]
$ ./scripts/kconfig/conf --silentoldconfig choice-in-choice.in </dev/null
[--SNIP--]
A/B/C
1. A (A)
> 2. B (B)
3. C (C)
choice[1-3]: 2
E/F
> 1. E (E) (NEW)
2. F (F) (NEW)
choice[1-2]: aborted!

Console input/output is redirected. Run 'make oldconfig' to update
configuration.

Fix this by looping in randconfig for as long as some symbol gets assigned
a value.

Note: this was spotted with the USB EHCI Debug Device Gadget (USB_G_DBGP),
which uses this choice-in-a-choice construct, and exhibits this problem.
The example above is just a stripped-down minimalist test-case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>