diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-12-21 00:26:41 -0600 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-12-21 00:26:41 -0600 |
commit | f82981b97110ac217ff7f0d7e5fd7d26036adfde (patch) | |
tree | 96963c6238cceed76c78e3c93cbcce78a6bd6bd4 /adk/config/zconf.y | |
parent | 716ce66d95ede0e13cc182417a4d020ff5984407 (diff) |
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.
Diffstat (limited to 'adk/config/zconf.y')
-rw-r--r-- | adk/config/zconf.y | 17 |
1 files changed, 16 insertions, 1 deletions
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: |