linux/scripts/kconfig
Masahiro Yamada d01661e1f4 kconfig: show sub-menu entries even if the prompt is hidden
Since commit f79dc03fe6 ("kconfig: refactor choice value
calculation"), when EXPERT is disabled, nothing within the "if INPUT"
... "endif" block in drivers/input/Kconfig is displayed. This issue
affects all command-line interfaces and GUI frontends.

The prompt for INPUT is hidden when EXPERT is disabled. Previously,
menu_is_visible() returned true in this case; however, it now returns
false, resulting in all sub-menu entries being skipped.

Here is a simplified test case illustrating the issue:

    config A
           bool "A" if X
           default y

    config B
           bool "B"
           depends on A

When X is disabled, A becomes unconfigurable and is forced to y.
B should be displayed, as its dependency is met.

This commit restores the necessary code, so menu_is_visible() functions
as it did previously.

Fixes: f79dc03fe6 ("kconfig: refactor choice value calculation")
Reported-by: Edmund Raile <edmund.raile@proton.me>
Closes: https://lore.kernel.org/all/5fd0dfc7ff171aa74352e638c276069a5f2e888d.camel@proton.me/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2024-10-31 21:42:20 +09:00
..
lxdialog kconfig: lxdialog: remove initialization with A_NORMAL 2024-05-14 23:36:19 +09:00
tests kconfig: recursive checks drop file/lineno 2024-07-20 16:33:45 +09:00
.gitignore
conf.c kconfig: remove sym_get_choice_value() 2024-07-16 01:08:37 +09:00
confdata.c kconfig: cache expression values 2024-09-20 09:21:53 +09:00
expr.c kconfig: clear expr::val_is_valid when allocated 2024-10-01 17:05:30 +09:00
expr.h kconfig: cache expression values 2024-09-20 09:21:53 +09:00
gconf-cfg.sh kconfig: add -e and -u options to *conf-cfg.sh scripts 2024-07-16 01:08:36 +09:00
gconf.c kconfig: remove SYMBOL_CHOICEVAL flag 2024-07-16 16:07:14 +09:00
gconf.glade
images.c
images.h
internal.h kconfig: cache expression values 2024-09-20 09:21:53 +09:00
lexer.l kbuild: split x*alloc() functions in kconfig to scripts/include/xalloc.h 2024-09-01 20:34:48 +09:00
lkc_proto.h kconfig: add const qualifiers to several function arguments 2024-07-16 16:07:14 +09:00
lkc.h scripts: move hash function from scripts/kconfig/ to scripts/include/ 2024-09-20 09:21:52 +09:00
Makefile
mconf-cfg.sh kconfig: add -e and -u options to *conf-cfg.sh scripts 2024-07-16 01:08:36 +09:00
mconf.c kbuild: split x*alloc() functions in kconfig to scripts/include/xalloc.h 2024-09-01 20:34:48 +09:00
menu.c kconfig: show sub-menu entries even if the prompt is hidden 2024-10-31 21:42:20 +09:00
merge_config.sh scripts: kconfig: merge_config: config files: add a trailing newline 2024-08-06 14:02:12 +09:00
mnconf-common.c kbuild: move some helper headers from scripts/kconfig/ to scripts/include/ 2024-07-21 23:10:43 +09:00
mnconf-common.h kbuild: move some helper headers from scripts/kconfig/ to scripts/include/ 2024-07-21 23:10:43 +09:00
nconf-cfg.sh kconfig: add -e and -u options to *conf-cfg.sh scripts 2024-07-16 01:08:36 +09:00
nconf.c kbuild: split x*alloc() functions in kconfig to scripts/include/xalloc.h 2024-09-01 20:34:48 +09:00
nconf.gui.c kbuild: split x*alloc() functions in kconfig to scripts/include/xalloc.h 2024-09-01 20:34:48 +09:00
nconf.h
parser.y kconfig: fix infinite loop in sym_calc_choice() 2024-09-30 20:42:52 +09:00
preprocess.c kbuild: split x*alloc() functions in kconfig to scripts/include/xalloc.h 2024-09-01 20:34:48 +09:00
preprocess.h
qconf-cfg.sh kconfig: add -e and -u options to *conf-cfg.sh scripts 2024-07-16 01:08:36 +09:00
qconf.cc kconfig: qconf: fix buffer overflow in debug links 2024-10-02 16:02:40 +09:00
qconf.h kconfig: pass new conf_changed value to the callback 2024-07-16 01:08:36 +09:00
streamline_config.pl
symbol.c kconfig: cache expression values 2024-09-20 09:21:53 +09:00
util.c scripts: move hash function from scripts/kconfig/ to scripts/include/ 2024-09-20 09:21:52 +09:00