[kernel] r16619 - in dists/trunk/linux-2.6/debian: . patches/debian patches/features/all patches/series

Ben Hutchings benh at alioth.debian.org
Sat Dec 4 17:18:00 UTC 2010


Author: benh
Date: Sat Dec  4 17:17:51 2010
New Revision: 16619

Log:
Replace Kconfig patch with version likely to be accepted upstream

Add verbose option (KBUILD_VERBOSE=1/V=1) to listnewconfig, rather than
adding yet more targets.  Change rules.real accordingly.

Added:
   dists/trunk/linux-2.6/debian/patches/features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch
Deleted:
   dists/trunk/linux-2.6/debian/patches/debian/scripts-kconfig-reportoldconfig.patch
Modified:
   dists/trunk/linux-2.6/debian/patches/series/base
   dists/trunk/linux-2.6/debian/rules.real

Added: dists/trunk/linux-2.6/debian/patches/features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch	Sat Dec  4 17:17:51 2010	(r16619)
@@ -0,0 +1,161 @@
+From 05bf283675db983cab59159db8fb82b9a2858c7f Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 14 Sep 2010 04:33:34 +0100
+Subject: [PATCH] Kbuild: kconfig: Verbose version of --listnewconfig
+
+If the KBUILD_VERBOSE environment variable is set to non-zero, show
+the default values of new symbols and not just their names.
+
+Based on work by Bastian Blank <waldi at debian.org> and
+maximilian attems <max at stro.at>.  Simplified by Michal Marek
+<mmarek at suse.cz>.
+
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+---
+ scripts/kconfig/conf.c      |   45 +++++++++++++++++++++++++++++++++---------
+ scripts/kconfig/confdata.c  |    5 ++-
+ scripts/kconfig/expr.h      |    2 +
+ scripts/kconfig/lkc_proto.h |    1 +
+ 4 files changed, 41 insertions(+), 12 deletions(-)
+
+diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
+index 5459a38..f4752b4 100644
+--- a/scripts/kconfig/conf.c
++++ b/scripts/kconfig/conf.c
+@@ -363,7 +363,6 @@ static void conf(struct menu *menu)
+ 		switch (prop->type) {
+ 		case P_MENU:
+ 			if ((input_mode == silentoldconfig ||
+-			     input_mode == listnewconfig ||
+ 			     input_mode == oldnoconfig) &&
+ 			    rootEntry != menu) {
+ 				check_conf(menu);
+@@ -423,11 +422,7 @@ static void check_conf(struct menu *menu)
+ 	if (sym && !sym_has_value(sym)) {
+ 		if (sym_is_changable(sym) ||
+ 		    (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
+-			if (input_mode == listnewconfig) {
+-				if (sym->name && !sym_is_choice_value(sym)) {
+-					printf("%s%s\n", CONFIG_, sym->name);
+-				}
+-			} else if (input_mode != oldnoconfig) {
++			if (input_mode != oldnoconfig) {
+ 				if (!conf_cnt++)
+ 					printf(_("*\n* Restart config...\n*\n"));
+ 				rootEntry = menu_get_parent_menu(menu);
+@@ -440,6 +435,33 @@ static void check_conf(struct menu *menu)
+ 		check_conf(child);
+ }
+ 
++static void report_conf(struct menu *menu, bool verbose)
++{
++	struct symbol *sym;
++	struct menu *child;
++
++	if (!menu_is_visible(menu))
++		return;
++
++	if (verbose && menu == &rootmenu) {
++		printf("\n#\n"
++		       "# Changes:\n"
++		       "#\n");
++	}
++
++	sym = menu->sym;
++	if (sym && (sym->flags & SYMBOL_NEW) &&
++	    sym_is_changable(sym) && sym->name && !sym_is_choice_value(sym)) {
++		if (verbose)
++			conf_write_symbol(sym, sym->type, stdout, true);
++		else
++			printf("CONFIG_%s\n", sym->name);
++	}
++
++	for (child = menu->list; child; child = child->next)
++		report_conf(child, verbose);
++}
++
+ static struct option long_opts[] = {
+ 	{"oldaskconfig",    no_argument,       NULL, oldaskconfig},
+ 	{"oldconfig",       no_argument,       NULL, oldconfig},
+@@ -460,6 +482,7 @@ int main(int ac, char **av)
+ {
+ 	int opt;
+ 	const char *name;
++	const char *value;
+ 	struct stat tmpstat;
+ 
+ 	setlocale(LC_ALL, "");
+@@ -604,16 +627,18 @@ int main(int ac, char **av)
+ 		input_mode = silentoldconfig;
+ 		/* fall through */
+ 	case oldconfig:
+-	case listnewconfig:
+ 	case oldnoconfig:
+ 	case silentoldconfig:
+ 		/* Update until a loop caused no more changes */
+ 		do {
+ 			conf_cnt = 0;
+ 			check_conf(&rootmenu);
+-		} while (conf_cnt &&
+-			 (input_mode != listnewconfig &&
+-			  input_mode != oldnoconfig));
++		} while (conf_cnt && input_mode != oldnoconfig);
++		break;
++	case listnewconfig:
++		conf_set_all_new_symbols(def_default);
++		value = getenv("KBUILD_VERBOSE");
++		report_conf(&rootmenu, value && atoi(value));
+ 		break;
+ 	}
+ 
+diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
+index c06f150..fbbacac 100644
+--- a/scripts/kconfig/confdata.c
++++ b/scripts/kconfig/confdata.c
+@@ -440,8 +440,8 @@ static void conf_write_string(bool headerfile, const char *name,
+ 	fputs("\"\n", out);
+ }
+ 
+-static void conf_write_symbol(struct symbol *sym, enum symbol_type type,
+-                              FILE *out, bool write_no)
++void conf_write_symbol(struct symbol *sym, enum symbol_type type,
++		       FILE *out, bool write_no)
+ {
+ 	const char *str;
+ 
+@@ -1009,6 +1009,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)
+ 	for_all_symbols(i, sym) {
+ 		if (sym_has_value(sym))
+ 			continue;
++		sym->flags |= SYMBOL_NEW;
+ 		switch (sym_get_type(sym)) {
+ 		case S_BOOLEAN:
+ 		case S_TRISTATE:
+diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h
+index 184eb6a..b267933 100644
+--- a/scripts/kconfig/expr.h
++++ b/scripts/kconfig/expr.h
+@@ -108,6 +108,8 @@ struct symbol {
+ #define SYMBOL_DEF3       0x40000  /* symbol.def[S_DEF_3] is valid */
+ #define SYMBOL_DEF4       0x80000  /* symbol.def[S_DEF_4] is valid */
+ 
++#define SYMBOL_NEW        0x100000 /* symbol is new (loaded config did not provide a value) */
++
+ #define SYMBOL_MAXLENGTH	256
+ #define SYMBOL_HASHSIZE		9973
+ 
+diff --git a/scripts/kconfig/lkc_proto.h b/scripts/kconfig/lkc_proto.h
+index 17342fe..6da571b 100644
+--- a/scripts/kconfig/lkc_proto.h
++++ b/scripts/kconfig/lkc_proto.h
+@@ -7,6 +7,7 @@ P(conf_read_simple,int,(const char *name, int));
+ P(conf_write_defconfig,int,(const char *name));
+ P(conf_write,int,(const char *name));
+ P(conf_write_autoconf,int,(void));
++P(conf_write_symbol, void,(struct symbol*, enum symbol_type, FILE*, bool));
+ P(conf_get_changed,bool,(void));
+ P(conf_set_changed_callback, void,(void (*fn)(void)));
+ P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap)));
+-- 
+1.7.2.3
+

Modified: dists/trunk/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/base	Thu Dec  2 13:34:47 2010	(r16618)
+++ dists/trunk/linux-2.6/debian/patches/series/base	Sat Dec  4 17:17:51 2010	(r16619)
@@ -1,7 +1,6 @@
 + debian/version.patch
 + debian/kernelvariables.patch
 + debian/doc-build-parallel.patch
-+ debian/scripts-kconfig-reportoldconfig.patch
 
 + features/all/drivers-media-dvb-usb-af9005-request_firmware.patch
 
@@ -40,3 +39,4 @@
 + bugfix/arm/ixp4xx-add-missing-export.patch
 + features/arm/asoc-openrd-ultimate.patch
 + bugfix/all/dm-Deal-with-merge_bvec_fn-in-component-devices-bett.patch
++ features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch

Modified: dists/trunk/linux-2.6/debian/rules.real
==============================================================================
--- dists/trunk/linux-2.6/debian/rules.real	Thu Dec  2 13:34:47 2010	(r16618)
+++ dists/trunk/linux-2.6/debian/rules.real	Sat Dec  4 17:17:51 2010	(r16619)
@@ -123,7 +123,8 @@
 ifdef CFLAGS_KERNEL
 	echo 'CFLAGS += $(CFLAGS_KERNEL)'  >> '$(DIR)/.kernelvariables'
 endif
-	+$(MAKE_CLEAN) -C '$(SOURCE_DIR)' O='$(CURDIR)/$(DIR)' reportoldconfig
+	+$(MAKE_CLEAN) -C '$(SOURCE_DIR)' O='$(CURDIR)/$(DIR)' V=1 listnewconfig
+	+$(MAKE_CLEAN) -C '$(SOURCE_DIR)' O='$(CURDIR)/$(DIR)' oldconfig </dev/null >/dev/null
 	+$(MAKE_CLEAN) -C '$(SOURCE_DIR)' O='$(CURDIR)/$(DIR)' $(JOBS_ARG) prepare
 	@$(stamp)
 



More information about the Kernel-svn-changes mailing list