[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