kconfig: print the range of integer/hex symbol in help text
authorLi Zefan <lizf@cn.fujitsu.com>
Fri, 7 May 2010 05:56:50 +0000 (13:56 +0800)
committerMichal Marek <mmarek@suse.cz>
Wed, 2 Jun 2010 13:10:32 +0000 (15:10 +0200)
Without this patch, one has to refer to the Kconfig file to find
out the range of an integer/hex symbol.

  │ Symbol: NR_CPUS [=4]
  │ Type  : integer
  │ Range : [2 8]
  │ Prompt: Maximum number of CPUs
  │   Defined at arch/x86/Kconfig:761
  │   Depends on: SMP [=y] && !MAXSMP [=n]
  │   Location:
  │     -> Processor type and features

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
scripts/kconfig/expr.c
scripts/kconfig/menu.c

index d83f232..8f18e37 100644 (file)
@@ -1121,7 +1121,7 @@ static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *s
        }
 
        str_append(gs, str);
-       if (sym)
+       if (sym && sym->type != S_UNKNOWN)
                str_printf(gs, " [=%s]", sym_str);
 }
 
index 187caa9..9d1f2ad 100644 (file)
@@ -505,6 +505,14 @@ void get_symbol_str(struct gstr *r, struct symbol *sym)
                str_printf(r, "Symbol: %s [=%s]\n", sym->name,
                           sym_get_string_value(sym));
                str_printf(r, "Type  : %s\n", sym_type_name(sym->type));
+               if (sym->type == S_INT || sym->type == S_HEX) {
+                       prop = sym_get_range_prop(sym);
+                       if (prop) {
+                               str_printf(r, "Range : ");
+                               expr_gstr_print(prop->expr, r);
+                               str_append(r, "\n");
+                       }
+               }
        }
        for_all_prompts(sym, prop)
                get_prompt_str(r, prop);