diff options
Diffstat (limited to 'scripts/kconfig/mconf.c')
| -rw-r--r-- | scripts/kconfig/mconf.c | 78 |
1 files changed, 3 insertions, 75 deletions
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index 25b60bc117f7..d82953573588 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c | |||
| @@ -199,8 +199,6 @@ inputbox_instructions_string[] = N_( | |||
| 199 | setmod_text[] = N_( | 199 | setmod_text[] = N_( |
| 200 | "This feature depends on another which has been configured as a module.\n" | 200 | "This feature depends on another which has been configured as a module.\n" |
| 201 | "As a result, this feature will be built as a module."), | 201 | "As a result, this feature will be built as a module."), |
| 202 | nohelp_text[] = N_( | ||
| 203 | "There is no help available for this kernel option.\n"), | ||
| 204 | load_config_text[] = N_( | 202 | load_config_text[] = N_( |
| 205 | "Enter the name of the configuration file you wish to load. " | 203 | "Enter the name of the configuration file you wish to load. " |
| 206 | "Accept the name shown to restore the configuration you " | 204 | "Accept the name shown to restore the configuration you " |
| @@ -284,66 +282,6 @@ static void show_textbox(const char *title, const char *text, int r, int c); | |||
| 284 | static void show_helptext(const char *title, const char *text); | 282 | static void show_helptext(const char *title, const char *text); |
| 285 | static void show_help(struct menu *menu); | 283 | static void show_help(struct menu *menu); |
| 286 | 284 | ||
| 287 | static void get_prompt_str(struct gstr *r, struct property *prop) | ||
| 288 | { | ||
| 289 | int i, j; | ||
| 290 | struct menu *submenu[8], *menu; | ||
| 291 | |||
| 292 | str_printf(r, _("Prompt: %s\n"), _(prop->text)); | ||
| 293 | str_printf(r, _(" Defined at %s:%d\n"), prop->menu->file->name, | ||
| 294 | prop->menu->lineno); | ||
| 295 | if (!expr_is_yes(prop->visible.expr)) { | ||
| 296 | str_append(r, _(" Depends on: ")); | ||
| 297 | expr_gstr_print(prop->visible.expr, r); | ||
| 298 | str_append(r, "\n"); | ||
| 299 | } | ||
| 300 | menu = prop->menu->parent; | ||
| 301 | for (i = 0; menu != &rootmenu && i < 8; menu = menu->parent) | ||
| 302 | submenu[i++] = menu; | ||
| 303 | if (i > 0) { | ||
| 304 | str_printf(r, _(" Location:\n")); | ||
| 305 | for (j = 4; --i >= 0; j += 2) { | ||
| 306 | menu = submenu[i]; | ||
| 307 | str_printf(r, "%*c-> %s", j, ' ', _(menu_get_prompt(menu))); | ||
| 308 | if (menu->sym) { | ||
| 309 | str_printf(r, " (%s [=%s])", menu->sym->name ? | ||
| 310 | menu->sym->name : _("<choice>"), | ||
| 311 | sym_get_string_value(menu->sym)); | ||
| 312 | } | ||
| 313 | str_append(r, "\n"); | ||
| 314 | } | ||
| 315 | } | ||
| 316 | } | ||
| 317 | |||
| 318 | static void get_symbol_str(struct gstr *r, struct symbol *sym) | ||
| 319 | { | ||
| 320 | bool hit; | ||
| 321 | struct property *prop; | ||
| 322 | |||
| 323 | if (sym && sym->name) | ||
| 324 | str_printf(r, "Symbol: %s [=%s]\n", sym->name, | ||
| 325 | sym_get_string_value(sym)); | ||
| 326 | for_all_prompts(sym, prop) | ||
| 327 | get_prompt_str(r, prop); | ||
| 328 | hit = false; | ||
| 329 | for_all_properties(sym, prop, P_SELECT) { | ||
| 330 | if (!hit) { | ||
| 331 | str_append(r, " Selects: "); | ||
| 332 | hit = true; | ||
| 333 | } else | ||
| 334 | str_printf(r, " && "); | ||
| 335 | expr_gstr_print(prop->expr, r); | ||
| 336 | } | ||
| 337 | if (hit) | ||
| 338 | str_append(r, "\n"); | ||
| 339 | if (sym->rev_dep.expr) { | ||
| 340 | str_append(r, _(" Selected by: ")); | ||
| 341 | expr_gstr_print(sym->rev_dep.expr, r); | ||
| 342 | str_append(r, "\n"); | ||
| 343 | } | ||
| 344 | str_append(r, "\n\n"); | ||
| 345 | } | ||
| 346 | |||
| 347 | static struct gstr get_relations_str(struct symbol **sym_arr) | 285 | static struct gstr get_relations_str(struct symbol **sym_arr) |
| 348 | { | 286 | { |
| 349 | struct symbol *sym; | 287 | struct symbol *sym; |
| @@ -699,19 +637,9 @@ static void show_helptext(const char *title, const char *text) | |||
| 699 | static void show_help(struct menu *menu) | 637 | static void show_help(struct menu *menu) |
| 700 | { | 638 | { |
| 701 | struct gstr help = str_new(); | 639 | struct gstr help = str_new(); |
| 702 | struct symbol *sym = menu->sym; | 640 | |
| 703 | 641 | menu_get_ext_help(menu, &help); | |
| 704 | if (menu_has_help(menu)) | 642 | |
| 705 | { | ||
| 706 | if (sym->name) { | ||
| 707 | str_printf(&help, "CONFIG_%s:\n\n", sym->name); | ||
| 708 | str_append(&help, _(menu_get_help(menu))); | ||
| 709 | str_append(&help, "\n"); | ||
| 710 | } | ||
| 711 | } else { | ||
| 712 | str_append(&help, nohelp_text); | ||
| 713 | } | ||
| 714 | get_symbol_str(&help, sym); | ||
| 715 | show_helptext(_(menu_get_prompt(menu)), str_get(&help)); | 643 | show_helptext(_(menu_get_prompt(menu)), str_get(&help)); |
| 716 | str_free(&help); | 644 | str_free(&help); |
| 717 | } | 645 | } |
