From: Li Zefan on
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(a)cn.fujitsu.com>
---
scripts/kconfig/expr.c | 2 +-
scripts/kconfig/menu.c | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/scripts/kconfig/expr.c b/scripts/kconfig/expr.c
index edd3f39..e5e13f5 100644
--- a/scripts/kconfig/expr.c
+++ b/scripts/kconfig/expr.c
@@ -1098,7 +1098,7 @@ void expr_fprint(struct expr *e, FILE *out)
static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str)
{
str_append((struct gstr*)data, str);
- if (sym)
+ if (sym && sym->type != S_UNKNOWN)
str_printf((struct gstr*)data, " [=%s]", sym_get_string_value(sym));
}

diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index b5d15fa..c547692 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -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);
--
1.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/