From f82981b97110ac217ff7f0d7e5fd7d26036adfde Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 21 Dec 2014 00:26:41 -0600 Subject: add patch to Kconfig Add following patch https://lkml.org/lkml/2010/7/19/178 This allows to select for symbol as module and for special predefined values on int/string/hex symbols. --- adk/config/zconf.y | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'adk/config/zconf.y') diff --git a/adk/config/zconf.y b/adk/config/zconf.y index 0f683cfa5..fdc6fdce2 100644 --- a/adk/config/zconf.y +++ b/adk/config/zconf.y @@ -207,10 +207,16 @@ config_option: T_DEFAULT expr if_expr T_EOL config_option: T_SELECT T_WORD if_expr T_EOL { - menu_add_symbol(P_SELECT, sym_lookup($2, 0), $3); + menu_add_select(sym_lookup($2, 0), NULL, $3); printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); }; +config_option: T_SELECT T_WORD expr if_expr T_EOL +{ + menu_add_select(sym_lookup($2, 0), $3, $4); + printd(DEBUG_PARSE, "%s:%d:select with value\n", zconf_curname(), zconf_lineno()); +}; + config_option: T_RANGE symbol symbol if_expr T_EOL { menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,$2, $3), $4); @@ -653,6 +659,15 @@ static void print_symbol(FILE *out, struct menu *menu) case P_SELECT: fputs( " select ", out); expr_fprint(prop->expr, out); + if (prop->value) { + fputs(" (value=", out); + expr_fprint(prop->value, out); + fputc(')', out); + } + if (!expr_is_yes(prop->visible.expr)) { + fputs(" if ", out); + expr_fprint(prop->visible.expr, out); + } fputc('\n', out); break; case P_RANGE: -- cgit v1.2.3