X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/5c472fc895c32a189d574b338057164e95430825..3d124095e990fd0ab21730fbc9541048643dbeb4:/scripts/config/confdata.c

diff --git a/scripts/config/confdata.c b/scripts/config/confdata.c
index b0cbbe2e4..641aa4891 100644
--- a/scripts/config/confdata.c
+++ b/scripts/config/confdata.c
@@ -22,13 +22,10 @@ static int conf_lineno, conf_warnings, conf_unsaved;
 
 const char conf_def_filename[] = ".config";
 
-const char conf_defname[] = "arch/$ARCH/defconfig";
+const char conf_defname[] = "scripts/config/defconfig";
 
 const char *conf_confnames[] = {
 	".config",
-	"/lib/modules/$UNAME_RELEASE/.config",
-	"/etc/kernel-config",
-	"/boot/config-$UNAME_RELEASE",
 	conf_defname,
 	NULL,
 };
@@ -86,6 +83,29 @@ char *conf_get_default_confname(void)
 	return name;
 }
 
+void conf_reset(void)
+{
+	struct symbol *sym;
+	int i;
+	
+	for_all_symbols(i, sym) {
+		sym->flags |= SYMBOL_NEW | SYMBOL_CHANGED;
+		if (sym_is_choice(sym))
+			sym->flags &= ~SYMBOL_NEW;
+		sym->flags &= ~SYMBOL_VALID;
+		switch (sym->type) {
+		case S_INT:
+		case S_HEX:
+		case S_STRING:
+			if (sym->user.val)
+				free(sym->user.val);
+		default:
+			sym->user.val = NULL;
+			sym->user.tri = no;
+		}
+	}
+}
+
 int conf_read_simple(const char *name)
 {
 	FILE *in = NULL;
@@ -375,7 +395,7 @@ int conf_write(const char *name)
 		if (!out_h)
 			return 1;
 	}
-	sym = sym_lookup("KERNELVERSION", 0);
+	sym = sym_lookup("OPENWRTVERSION", 0);
 	sym_calc_value(sym);
 	time(&now);
 	env = getenv("KCONFIG_NOTIMESTAMP");
@@ -384,7 +404,7 @@ int conf_write(const char *name)
 
 	fprintf(out, _("#\n"
 		       "# Automatically generated make config: don't edit\n"
-		       "# Linux kernel version: %s\n"
+		       "# OpenWrt version: %s\n"
 		       "%s%s"
 		       "#\n"),
 		     sym_get_string_value(sym),
@@ -393,7 +413,7 @@ int conf_write(const char *name)
 	if (out_h)
 		fprintf(out_h, "/*\n"
 			       " * Automatically generated C config: don't edit\n"
-			       " * Linux kernel version: %s\n"
+			       " * OpenWrt version: %s\n"
 			       "%s%s"
 			       " */\n"
 			       "#define AUTOCONF_INCLUDED\n",
@@ -428,8 +448,11 @@ int conf_write(const char *name)
 			type = sym->type;
 			if (type == S_TRISTATE) {
 				sym_calc_value(modules_sym);
+/* tristate always enabled */
+#if 0
 				if (modules_sym->curr.tri == no)
 					type = S_BOOLEAN;
+#endif
 			}
 			switch (type) {
 			case S_BOOLEAN: