summaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/zconf.y
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-12-11 12:00:56 +0100
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-12-15 09:45:21 +0100
commit1f31be9ec0a9d59053fb3d78591f6dd7a64a174e (patch)
treece02f6db26542c0188ebdae677a9bd0528c9b66d /scripts/kconfig/zconf.y
parentkconfig: remove redundant menu_block rule (diff)
downloadlinux-1f31be9ec0a9d59053fb3d78591f6dd7a64a174e.tar.xz
linux-1f31be9ec0a9d59053fb3d78591f6dd7a64a174e.zip
kconfig: loosen the order of "visible" and "depends on" in menu entry
Currently, "visible" and "depends on", if defined in a menu entry, must appear in that order. The real example is in drivers/media/tuners/Kconfig: menu "Customize TV tuners" visible if <expr1> depends on <expr2> ... is fine, but you cannot change the property order like this: menu "Customize TV tuners" depends on <expr2> visible if <expr1> Kconfig does not require a specific order of properties. In this case, menu_add_visibility(() and menu_add_dep() are orthogonal. Loosen this unreasonable restriction. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/kconfig/zconf.y')
-rw-r--r--scripts/kconfig/zconf.y14
1 files changed, 7 insertions, 7 deletions
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
index eeb449bd5869..7cc824454e54 100644
--- a/scripts/kconfig/zconf.y
+++ b/scripts/kconfig/zconf.y
@@ -341,7 +341,7 @@ menu: T_MENU prompt T_EOL
printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
};
-menu_entry: menu visibility_list depends_list
+menu_entry: menu menu_option_list
{
$$ = menu_add_menu();
};
@@ -357,6 +357,12 @@ menu_end: end
menu_stmt: menu_entry stmt_list menu_end
;
+menu_option_list:
+ /* empty */
+ | menu_option_list visible
+ | menu_option_list depends
+;
+
source_stmt: T_SOURCE prompt T_EOL
{
printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2);
@@ -414,12 +420,6 @@ depends: T_DEPENDS T_ON expr T_EOL
};
/* visibility option */
-
-visibility_list:
- /* empty */
- | visibility_list visible
-;
-
visible: T_VISIBLE if_expr T_EOL
{
menu_add_visibility($2);