aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kconfig/conf.c')
-rw-r--r--scripts/kconfig/conf.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 8012d1076876..4dcb8867b5f4 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -539,6 +539,7 @@ int main(int ac, char **av)
539 name = av[i]; 539 name = av[i];
540 if (!name) { 540 if (!name) {
541 printf(_("%s: Kconfig file missing\n"), av[0]); 541 printf(_("%s: Kconfig file missing\n"), av[0]);
542 exit(1);
542 } 543 }
543 conf_parse(name); 544 conf_parse(name);
544 //zconfdump(stdout); 545 //zconfdump(stdout);
@@ -573,7 +574,7 @@ int main(int ac, char **av)
573 case set_random: 574 case set_random:
574 name = getenv("KCONFIG_ALLCONFIG"); 575 name = getenv("KCONFIG_ALLCONFIG");
575 if (name && !stat(name, &tmpstat)) { 576 if (name && !stat(name, &tmpstat)) {
576 conf_read_simple(name); 577 conf_read_simple(name, S_DEF_USER);
577 break; 578 break;
578 } 579 }
579 switch (input_mode) { 580 switch (input_mode) {
@@ -584,9 +585,9 @@ int main(int ac, char **av)
584 default: break; 585 default: break;
585 } 586 }
586 if (!stat(name, &tmpstat)) 587 if (!stat(name, &tmpstat))
587 conf_read_simple(name); 588 conf_read_simple(name, S_DEF_USER);
588 else if (!stat("all.config", &tmpstat)) 589 else if (!stat("all.config", &tmpstat))
589 conf_read_simple("all.config"); 590 conf_read_simple("all.config", S_DEF_USER);
590 break; 591 break;
591 default: 592 default:
592 break; 593 break;
@@ -599,7 +600,15 @@ int main(int ac, char **av)
599 input_mode = ask_silent; 600 input_mode = ask_silent;
600 valid_stdin = 1; 601 valid_stdin = 1;
601 } 602 }
602 } 603 } else if (sym_change_count) {
604 name = getenv("KCONFIG_NOSILENTUPDATE");
605 if (name && *name) {
606 fprintf(stderr, _("\n*** Kernel configuration requires explicit update.\n\n"));
607 return 1;
608 }
609 } else
610 goto skip_check;
611
603 do { 612 do {
604 conf_cnt = 0; 613 conf_cnt = 0;
605 check_conf(&rootmenu); 614 check_conf(&rootmenu);
@@ -608,5 +617,11 @@ int main(int ac, char **av)
608 fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); 617 fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n"));
609 return 1; 618 return 1;
610 } 619 }
620skip_check:
621 if (input_mode == ask_silent && conf_write_autoconf()) {
622 fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n"));
623 return 1;
624 }
625
611 return 0; 626 return 0;
612} 627}