1 diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
2 index 32e8c5a..8020453 100644
3 --- a/scripts/kconfig/Makefile
4 +++ b/scripts/kconfig/Makefile
5 @@ -24,6 +24,11 @@ oldconfig: $(obj)/conf
6 silentoldconfig: $(obj)/conf
9 +nonint_oldconfig: $(obj)/conf
11 +loose_nonint_oldconfig: $(obj)/conf
14 # Create new linux.pot file
15 # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
16 # The symlink is used to repair a deficiency in arch/um
17 diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
18 index fda6313..ed33b66 100644
19 --- a/scripts/kconfig/conf.c
20 +++ b/scripts/kconfig/conf.c
32 static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n");
34 +static int return_value = 0;
36 static const char *get_help(struct menu *menu)
38 if (menu_has_help(menu))
43 - if (input_mode == ask_silent && rootEntry != menu) {
44 + if ((input_mode == ask_silent ||
45 + input_mode == dont_ask ||
46 + input_mode == dont_ask_dont_tell) &&
47 + rootEntry != menu) {
52 if (sym && !sym_has_value(sym)) {
53 if (sym_is_changable(sym) ||
54 (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
55 + if (input_mode == dont_ask ||
56 + input_mode == dont_ask_dont_tell) {
57 + if (input_mode == dont_ask &&
58 + sym->name && !sym_is_choice_value(sym)) {
59 + fprintf(stderr,"CONFIG_%s\n",sym->name);
64 printf(_("*\n* Restart config...\n*\n"));
65 rootEntry = menu_get_parent_menu(menu);
71 for (child = menu->list; child; child = child->next)
74 bindtextdomain(PACKAGE, LOCALEDIR);
77 - while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) {
78 + while ((opt = getopt(ac, av, "osbBdD:nmyrh")) != -1) {
81 input_mode = ask_silent;
83 input_mode = ask_silent;
87 + input_mode = dont_ask;
90 + input_mode = dont_ask_dont_tell;
93 input_mode = set_default;
100 + case dont_ask_dont_tell:
104 @@ -571,12 +595,16 @@
106 input_mode = ask_silent;
109 + case dont_ask_dont_tell:
111 /* Update until a loop caused no more changes */
114 check_conf(&rootmenu);
115 - } while (conf_cnt);
116 + } while (conf_cnt &&
117 + (input_mode != dont_ask &&
118 + input_mode != dont_ask_dont_tell));
127 + return return_value;