Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.24 /scripts/kconfig/mconf.c

Filename:/scripts/kconfig/mconf.c
Lines Added:26
Lines Deleted:10
Also changed in: (Previous) 2.6.24-rc8  2.6.24-rc7  2.6.24-rc6  2.6.24-rc5  2.6.24-rc4  2.6.24-rc3 
(Following) 2.6.24-git6  2.6.24-git7  2.6.24-git8  2.6.24-git9  2.6.24-git10  2.6.24-git11 

Location
[  2.6.24
  [  scripts
    [  kconfig
       o  mconf.c

Patch

diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index bc5854e..47e226f 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -35,9 +35,13 @@ static const char mconf_readme[] = N_(
 "kernel parameters which are not really features, but must be\n"
 "entered in as decimal or hexadecimal numbers or possibly text.\n"
 "\n"
-"Menu items beginning with [*], <M> or [ ] represent features\n"
-"configured to be built in, modularized or removed respectively.\n"
-"Pointed brackets <> represent module capable features.\n"
+"Menu items beginning with following braces represent features that\n"
+"  [ ] can be built in or removed\n"
+"  < > can be built in, modularized or removed\n"
+"  { } can be built in or modularized (selected by other feature)\n"
+"  - - are selected by other feature,\n"
+"while *, M or whitespace inside braces means to build in, build as\n"
+"a module or to exclude the feature respectively.\n"
 "\n"
 "To change any of these features, highlight it with the cursor\n"
 "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)
    bool hit;
    struct property *prop;
 
-   str_printf(r, "Symbol: %s [=%s]\n", sym->name,
-                                  sym_get_string_value(sym));
+   if (sym && sym->name)
+      str_printf(r, "Symbol: %s [=%s]\n", sym->name,
+                                          sym_get_string_value(sym));
    for_all_prompts(sym, prop)
       get_prompt_str(r, prop);
    hit = false;
@@ -481,6 +486,14 @@ static void build_conf(struct menu *menu)
             if (single_menu_mode && menu->data)
                goto conf_childs;
             return;
+         case P_COMMENT:
+            if (prompt) {
+               child_count++;
+               item_make("   %*c*** %s ***", indent + 1, ' ', prompt);
+               item_set_tag(':');
+               item_set_data(menu);
+            }
+            break;
          default:
             if (prompt) {
                child_count++;
@@ -560,7 +573,7 @@ static void build_conf(struct menu *menu)
             if (sym_is_changable(sym))
                item_make("[%c]", val == no ? ' ' : '*');
             else
-               item_make("---");
+               item_make("-%c-", val == no ? ' ' : '*');
             item_set_tag('t');
             item_set_data(menu);
             break;
@@ -570,10 +583,13 @@ static void build_conf(struct menu *menu)
             case mod: ch = 'M'; break;
             default:  ch = ' '; break;
             }
-            if (sym_is_changable(sym))
-               item_make("<%c>", ch);
-            else
-               item_make("---");
+            if (sym_is_changable(sym)) {
+               if (sym->rev_dep.tri == mod)
+                  item_make("{%c}", ch);
+               else
+                  item_make("<%c>", ch);
+            } else
+               item_make("-%c-", ch);
             item_set_tag('t');
             item_set_data(menu);
             break;


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.