Commit 1f31be9e authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 94d4e1b6
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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);