aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/mconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kconfig/mconf.c')
-rw-r--r--scripts/kconfig/mconf.c36
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;