kconfig: add alldefconfig

alldefconfig create a configuration with all values set
to their default value (form the Kconfig files).

This may be useful when we try to use more sensible default
values and may also be used in combination with
the minimal defconfigs.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index ff5c914..c8bd33c 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -27,6 +27,7 @@
 	allnoconfig,
 	allyesconfig,
 	allmodconfig,
+	alldefconfig,
 	randconfig,
 	defconfig,
 	listnewconfig,
@@ -446,6 +447,7 @@
 	{"allnoconfig",     no_argument,       NULL, allnoconfig},
 	{"allyesconfig",    no_argument,       NULL, allyesconfig},
 	{"allmodconfig",    no_argument,       NULL, allmodconfig},
+	{"alldefconfig",    no_argument,       NULL, alldefconfig},
 	{"randconfig",      no_argument,       NULL, randconfig},
 	{"listnewconfig",   no_argument,       NULL, listnewconfig},
 	{"oldnoconfig",     no_argument,       NULL, oldnoconfig},
@@ -534,6 +536,7 @@
 	case allnoconfig:
 	case allyesconfig:
 	case allmodconfig:
+	case alldefconfig:
 	case randconfig:
 		name = getenv("KCONFIG_ALLCONFIG");
 		if (name && !stat(name, &tmpstat)) {
@@ -544,6 +547,7 @@
 		case allnoconfig:	name = "allno.config"; break;
 		case allyesconfig:	name = "allyes.config"; break;
 		case allmodconfig:	name = "allmod.config"; break;
+		case alldefconfig:	name = "alldef.config"; break;
 		case randconfig:	name = "allrandom.config"; break;
 		default: break;
 		}
@@ -578,6 +582,9 @@
 	case allmodconfig:
 		conf_set_all_new_symbols(def_mod);
 		break;
+	case alldefconfig:
+		conf_set_all_new_symbols(def_default);
+		break;
 	case randconfig:
 		conf_set_all_new_symbols(def_random);
 		break;