diff options
Diffstat (limited to 'scripts/kconfig/mconf.c')
-rw-r--r-- | scripts/kconfig/mconf.c | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index bc5854ed6055..47e226fdedd7 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c | |||
@@ -35,9 +35,13 @@ static const char mconf_readme[] = N_( | |||
35 | "kernel parameters which are not really features, but must be\n" | 35 | "kernel parameters which are not really features, but must be\n" |
36 | "entered in as decimal or hexadecimal numbers or possibly text.\n" | 36 | "entered in as decimal or hexadecimal numbers or possibly text.\n" |
37 | "\n" | 37 | "\n" |
38 | "Menu items beginning with [*], <M> or [ ] represent features\n" | 38 | "Menu items beginning with following braces represent features that\n" |
39 | "configured to be built in, modularized or removed respectively.\n" | 39 | " [ ] can be built in or removed\n" |
40 | "Pointed brackets <> represent module capable features.\n" | 40 | " < > can be built in, modularized or removed\n" |
41 | " { } can be built in or modularized (selected by other feature)\n" | ||
42 | " - - are selected by other feature,\n" | ||
43 | "while *, M or whitespace inside braces means to build in, build as\n" | ||
44 | "a module or to exclude the feature respectively.\n" | ||
41 | "\n" | 45 | "\n" |
42 | "To change any of these features, highlight it with the cursor\n" | 46 | "To change any of these features, highlight it with the cursor\n" |
43 | "keys and press <Y> to build it in, <M> to make it a module or\n" | 47 | "keys and press <Y> to build it in, <M> to make it a module or\n" |
@@ -357,8 +361,9 @@ static void get_symbol_str(struct gstr *r, struct symbol *sym) | |||
357 | bool hit; | 361 | bool hit; |
358 | struct property *prop; | 362 | struct property *prop; |
359 | 363 | ||
360 | str_printf(r, "Symbol: %s [=%s]\n", sym->name, | 364 | if (sym && sym->name) |
361 | sym_get_string_value(sym)); | 365 | str_printf(r, "Symbol: %s [=%s]\n", sym->name, |
366 | sym_get_string_value(sym)); | ||
362 | for_all_prompts(sym, prop) | 367 | for_all_prompts(sym, prop) |
363 | get_prompt_str(r, prop); | 368 | get_prompt_str(r, prop); |
364 | hit = false; | 369 | hit = false; |
@@ -481,6 +486,14 @@ static void build_conf(struct menu *menu) | |||
481 | if (single_menu_mode && menu->data) | 486 | if (single_menu_mode && menu->data) |
482 | goto conf_childs; | 487 | goto conf_childs; |
483 | return; | 488 | return; |
489 | case P_COMMENT: | ||
490 | if (prompt) { | ||
491 | child_count++; | ||
492 | item_make(" %*c*** %s ***", indent + 1, ' ', prompt); | ||
493 | item_set_tag(':'); | ||
494 | item_set_data(menu); | ||
495 | } | ||
496 | break; | ||
484 | default: | 497 | default: |
485 | if (prompt) { | 498 | if (prompt) { |
486 | child_count++; | 499 | child_count++; |
@@ -560,7 +573,7 @@ static void build_conf(struct menu *menu) | |||
560 | if (sym_is_changable(sym)) | 573 | if (sym_is_changable(sym)) |
561 | item_make("[%c]", val == no ? ' ' : '*'); | 574 | item_make("[%c]", val == no ? ' ' : '*'); |
562 | else | 575 | else |
563 | item_make("---"); | 576 | item_make("-%c-", val == no ? ' ' : '*'); |
564 | item_set_tag('t'); | 577 | item_set_tag('t'); |
565 | item_set_data(menu); | 578 | item_set_data(menu); |
566 | break; | 579 | break; |
@@ -570,10 +583,13 @@ static void build_conf(struct menu *menu) | |||
570 | case mod: ch = 'M'; break; | 583 | case mod: ch = 'M'; break; |
571 | default: ch = ' '; break; | 584 | default: ch = ' '; break; |
572 | } | 585 | } |
573 | if (sym_is_changable(sym)) | 586 | if (sym_is_changable(sym)) { |
574 | item_make("<%c>", ch); | 587 | if (sym->rev_dep.tri == mod) |
575 | else | 588 | item_make("{%c}", ch); |
576 | item_make("---"); | 589 | else |
590 | item_make("<%c>", ch); | ||
591 | } else | ||
592 | item_make("-%c-", ch); | ||
577 | item_set_tag('t'); | 593 | item_set_tag('t'); |
578 | item_set_data(menu); | 594 | item_set_data(menu); |
579 | break; | 595 | break; |