All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] Random kconfig patches
@ 2011-06-06 18:58 Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 1/9] kconfig: annotate non-trivial fall-trough Arnaud Lacombe
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

Hi Michal,

You'll find hereafter a serie of relatively trivial (I hope) patches
concerning kconfig. Mostly annotation, deadcode removal, and correctness.
This serie is based on top of v3.0-rc1.

As always, it is also available on my git repo on github:

 git://github.com/lacombar/linux-2.6.git kconfig-trivial

Regards,
 - Arnaud

Arnaud Lacombe (9):
  kconfig: annotate non-trivial fall-trough
  kconfig: fix return code for invalid boolean symbol in
    conf_set_sym_val()
  kconfig: add missing <stdarg.h> inclusion
  kconfig: add missing <ctype.h> inclusion
  kconfig: add missing <stdlib.h> inclusion
  kconfig: nuke reference to SWIG
  kconfig: nuke LKC_DIRECT_LINK cruft
  kconfig/gconf: kill deadcode
  kconfig/gconf: silent missing prototype warnings

 scripts/kconfig/Makefile            |   23 +++++++-------------
 scripts/kconfig/conf.c              |    5 +++-
 scripts/kconfig/confdata.c          |    9 ++++++-
 scripts/kconfig/expr.c              |    1 -
 scripts/kconfig/expr.h              |    3 --
 scripts/kconfig/gconf.c             |   38 +----------------------------------
 scripts/kconfig/kconfig_load.c      |   35 --------------------------------
 scripts/kconfig/kxgettext.c         |    1 -
 scripts/kconfig/lex.zconf.c_shipped |    1 -
 scripts/kconfig/lkc.h               |    5 ----
 scripts/kconfig/mconf.c             |    2 +-
 scripts/kconfig/menu.c              |    3 +-
 scripts/kconfig/nconf.c             |    2 +-
 scripts/kconfig/qconf.cc            |    4 ---
 scripts/kconfig/symbol.c            |    1 -
 scripts/kconfig/util.c              |    2 +
 scripts/kconfig/zconf.l             |    1 -
 scripts/kconfig/zconf.tab.c_shipped |    1 -
 scripts/kconfig/zconf.y             |    1 -
 19 files changed, 26 insertions(+), 112 deletions(-)
 delete mode 100644 scripts/kconfig/kconfig_load.c

-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH 1/9] kconfig: annotate non-trivial fall-trough
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 19:08   ` Daniel K.
  2011-06-06 18:58 ` [PATCH 2/9] kconfig: fix return code for invalid boolean symbol in conf_set_sym_val() Arnaud Lacombe
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/conf.c     |    4 ++++
 scripts/kconfig/confdata.c |    5 +++++
 scripts/kconfig/gconf.c    |    1 +
 scripts/kconfig/mconf.c    |    1 +
 4 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 006ad81..8be7374 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -106,6 +106,7 @@ static int conf_askvalue(struct symbol *sym, const char *def)
 			return 0;
 		}
 		check_stdin();
+		/* FALLTHOUGH */
 	case oldaskconfig:
 		fflush(stdout);
 		xfgets(line, 128, stdin);
@@ -150,6 +151,7 @@ static int conf_string(struct menu *menu)
 				def = NULL;
 				break;
 			}
+			/* FALLTHOUGH */
 		default:
 			line[strlen(line)-1] = 0;
 			def = line;
@@ -304,6 +306,7 @@ static int conf_choice(struct menu *menu)
 				break;
 			}
 			check_stdin();
+			/* FALLTHOUGH */
 		case oldaskconfig:
 			fflush(stdout);
 			xfgets(line, 128, stdin);
@@ -369,6 +372,7 @@ static void conf(struct menu *menu)
 				check_conf(menu);
 				return;
 			}
+			/* FALLTHOUGH */
 		case P_COMMENT:
 			prompt = menu_get_prompt(menu);
 			if (prompt)
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 2bafd9a..3693ac7 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -128,6 +128,7 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
 			sym->flags |= def_flags;
 			break;
 		}
+		/* FALLTHOUGH */
 	case S_BOOLEAN:
 		if (p[0] == 'y') {
 			sym->def[def].tri = yes;
@@ -148,6 +149,7 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
 			sym->type = S_STRING;
 			goto done;
 		}
+		/* FALLTHOUGH */
 	case S_STRING:
 		if (*p++ != '"')
 			break;
@@ -162,6 +164,7 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
 			conf_warning("invalid string found");
 			return 1;
 		}
+		/* FALLTHOUGH */
 	case S_INT:
 	case S_HEX:
 	done:
@@ -237,6 +240,7 @@ load:
 		case S_STRING:
 			if (sym->def[def].val)
 				free(sym->def[def].val);
+			/* FALLTHOUGH */
 		default:
 			sym->def[def].val = NULL;
 			sym->def[def].tri = no;
@@ -363,6 +367,7 @@ int conf_read(const char *name)
 					break;
 				if (!sym_is_choice(sym))
 					goto sym_ok;
+				/* FALLTHOUGH */
 			default:
 				if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val))
 					goto sym_ok;
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index a11d5f7..79e9806 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -1172,6 +1172,7 @@ static gchar **fill_row(struct menu *menu)
 			row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
 		if (sym_is_choice(sym))
 			break;
+		/* FALLTHOUGH */
 	case S_TRISTATE:
 		val = sym_get_tristate_value(sym);
 		switch (val) {
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index d433c7a..fa0ae0e 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -845,6 +845,7 @@ int main(int ac, char **av)
 				"\n\n"));
 			return 1;
 		}
+		/* FALLTHOUGH */
 	case -1:
 		printf(_("\n\n"
 			"*** End of the configuration.\n"
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 2/9] kconfig: fix return code for invalid boolean symbol in conf_set_sym_val()
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 1/9] kconfig: annotate non-trivial fall-trough Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 3/9] kconfig: add missing <stdarg.h> inclusion Arnaud Lacombe
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe, Sam Ravnborg

Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/confdata.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 3693ac7..a9f0ebd 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -141,7 +141,7 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
 			break;
 		}
 		conf_warning("symbol value '%s' invalid for %s", p, sym->name);
-		break;
+		return 1;
 	case S_OTHER:
 		if (*p != '"') {
 			for (p2 = p; *p2 && !isspace(*p2); p2++)
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 3/9] kconfig: add missing <stdarg.h> inclusion
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 1/9] kconfig: annotate non-trivial fall-trough Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 2/9] kconfig: fix return code for invalid boolean symbol in conf_set_sym_val() Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 4/9] kconfig: add missing <ctype.h> inclusion Arnaud Lacombe
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

This header is needed when using va_{start,end,copy}(3) functions family.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/confdata.c |    1 +
 scripts/kconfig/menu.c     |    1 +
 scripts/kconfig/util.c     |    1 +
 3 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index a9f0ebd..2118f4b 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -7,6 +7,7 @@
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index 5fdf10d..d64108b 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -3,6 +3,7 @@
  * Released under the terms of the GNU GPL v2.0.
  */
 
+#include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c
index 6330cc8..e07d557 100644
--- a/scripts/kconfig/util.c
+++ b/scripts/kconfig/util.c
@@ -5,6 +5,7 @@
  * Released under the terms of the GNU GPL v2.0.
  */
 
+#include <stdarg.h>
 #include <string.h>
 #include "lkc.h"
 
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 4/9] kconfig: add missing <ctype.h> inclusion
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (2 preceding siblings ...)
  2011-06-06 18:58 ` [PATCH 3/9] kconfig: add missing <stdarg.h> inclusion Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 5/9] kconfig: add missing <stdlib.h> inclusion Arnaud Lacombe
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

This header is needed when using isspace(3) function family.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/menu.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index d64108b..24547fe 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -3,6 +3,7 @@
  * Released under the terms of the GNU GPL v2.0.
  */
 
+#include <ctype.h>
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 5/9] kconfig: add missing <stdlib.h> inclusion
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (3 preceding siblings ...)
  2011-06-06 18:58 ` [PATCH 4/9] kconfig: add missing <ctype.h> inclusion Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 6/9] kconfig: nuke reference to SWIG Arnaud Lacombe
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

This header is needed when using {m,re}alloc(3) and free(3) function family.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/util.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c
index e07d557..d0b8b23 100644
--- a/scripts/kconfig/util.c
+++ b/scripts/kconfig/util.c
@@ -6,6 +6,7 @@
  */
 
 #include <stdarg.h>
+#include <stdlib.h>
 #include <string.h>
 #include "lkc.h"
 
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 6/9] kconfig: nuke reference to SWIG
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (4 preceding siblings ...)
  2011-06-06 18:58 ` [PATCH 5/9] kconfig: add missing <stdlib.h> inclusion Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 7/9] kconfig: nuke LKC_DIRECT_LINK cruft Arnaud Lacombe
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

SWIG is not used (yet?) to create kconfig binding, so there is no point
referencing it.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/expr.h |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h
index 16bfae2..80fce57 100644
--- a/scripts/kconfig/expr.h
+++ b/scripts/kconfig/expr.h
@@ -172,8 +172,6 @@ struct menu {
 #define MENU_CHANGED		0x0001
 #define MENU_ROOT		0x0002
 
-#ifndef SWIG
-
 extern struct file *file_list;
 extern struct file *current_file;
 struct file *lookup_file(const char *name);
@@ -218,7 +216,6 @@ static inline int expr_is_no(struct expr *e)
 {
 	return e && (e->type == E_SYMBOL && e->left.sym == &symbol_no);
 }
-#endif
 
 #ifdef __cplusplus
 }
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 7/9] kconfig: nuke LKC_DIRECT_LINK cruft
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (5 preceding siblings ...)
  2011-06-06 18:58 ` [PATCH 6/9] kconfig: nuke reference to SWIG Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 8/9] kconfig/gconf: kill deadcode Arnaud Lacombe
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

This interface is not (and has never been ?) used by any frontend, just get rid
of it.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/Makefile            |   24 ++++++++----------------
 scripts/kconfig/conf.c              |    1 -
 scripts/kconfig/confdata.c          |    1 -
 scripts/kconfig/expr.c              |    1 -
 scripts/kconfig/gconf.c             |    4 ----
 scripts/kconfig/kconfig_load.c      |   35 -----------------------------------
 scripts/kconfig/kxgettext.c         |    1 -
 scripts/kconfig/lex.zconf.c_shipped |    1 -
 scripts/kconfig/lkc.h               |    5 -----
 scripts/kconfig/mconf.c             |    1 -
 scripts/kconfig/menu.c              |    1 -
 scripts/kconfig/nconf.c             |    2 +-
 scripts/kconfig/qconf.cc            |    4 ----
 scripts/kconfig/symbol.c            |    1 -
 scripts/kconfig/zconf.l             |    1 -
 scripts/kconfig/zconf.tab.c_shipped |    1 -
 scripts/kconfig/zconf.y             |    1 -
 17 files changed, 9 insertions(+), 76 deletions(-)
 delete mode 100644 scripts/kconfig/kconfig_load.c

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index faa9a47..0460ac3 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -170,8 +170,8 @@ mconf-objs     := mconf.o zconf.tab.o $(lxdialog)
 nconf-objs     := nconf.o zconf.tab.o nconf.gui.o
 kxgettext-objs	:= kxgettext.o zconf.tab.o
 qconf-cxxobjs	:= qconf.o
-qconf-objs	:= kconfig_load.o zconf.tab.o
-gconf-objs	:= gconf.o kconfig_load.o zconf.tab.o
+qconf-objs	:= zconf.tab.o
+gconf-objs	:= gconf.o zconf.tab.o
 
 hostprogs-y := conf
 
@@ -203,7 +203,7 @@ ifeq ($(gconf-target),1)
 	hostprogs-y += gconf
 endif
 
-clean-files	:= lkc_defs.h qconf.moc .tmp_qtcheck .tmp_gtkcheck
+clean-files	:= qconf.moc .tmp_qtcheck .tmp_gtkcheck
 clean-files	+= zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h
 clean-files     += mconf qconf gconf nconf
 clean-files     += config.pot linux.pot
@@ -223,12 +223,11 @@ HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC)
 HOSTCFLAGS_lex.zconf.o	:= -I$(src)
 HOSTCFLAGS_zconf.tab.o	:= -I$(src)
 
-HOSTLOADLIBES_qconf	= $(KC_QT_LIBS) -ldl
-HOSTCXXFLAGS_qconf.o	= $(KC_QT_CFLAGS) -D LKC_DIRECT_LINK
+HOSTLOADLIBES_qconf	= $(KC_QT_LIBS)
+HOSTCXXFLAGS_qconf.o	= $(KC_QT_CFLAGS)
 
-HOSTLOADLIBES_gconf	= `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0` -ldl
-HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
-                          -D LKC_DIRECT_LINK
+HOSTLOADLIBES_gconf	= `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
+HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0`
 
 HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
 
@@ -318,18 +317,11 @@ endif
 
 $(obj)/zconf.tab.o: $(obj)/lex.zconf.c $(obj)/zconf.hash.c
 
-$(obj)/kconfig_load.o: $(obj)/lkc_defs.h
-
-$(obj)/qconf.o: $(obj)/qconf.moc $(obj)/lkc_defs.h
-
-$(obj)/gconf.o: $(obj)/lkc_defs.h
+$(obj)/qconf.o: $(obj)/qconf.moc
 
 $(obj)/%.moc: $(src)/%.h
 	$(KC_QT_MOC) -i $< -o $@
 
-$(obj)/lkc_defs.h: $(src)/lkc_proto.h
-	$(Q)sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
-
 # Extract gconf menu items for I18N support
 $(obj)/gconf.glade.h: $(obj)/gconf.glade
 	$(Q)intltool-extract --type=gettext/glade --srcdir=$(srctree) \
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 8be7374..4e32098 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -14,7 +14,6 @@
 #include <sys/stat.h>
 #include <sys/time.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 static void conf(struct menu *menu);
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 2118f4b..3eeaaeb 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -14,7 +14,6 @@
 #include <time.h>
 #include <unistd.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 static void conf_warning(const char *fmt, ...)
diff --git a/scripts/kconfig/expr.c b/scripts/kconfig/expr.c
index 0010034..792c62e 100644
--- a/scripts/kconfig/expr.c
+++ b/scripts/kconfig/expr.c
@@ -7,7 +7,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 #define DEBUG_EXPR	0
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index 79e9806..0426fda 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -1507,10 +1507,6 @@ int main(int ac, char *av[])
 	char *env;
 	gchar *glade_file;
 
-#ifndef LKC_DIRECT_LINK
-	kconfig_load();
-#endif
-
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	bind_textdomain_codeset(PACKAGE, "UTF-8");
 	textdomain(PACKAGE);
diff --git a/scripts/kconfig/kconfig_load.c b/scripts/kconfig/kconfig_load.c
deleted file mode 100644
index dbdcaad..0000000
--- a/scripts/kconfig/kconfig_load.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <dlfcn.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "lkc.h"
-
-#define P(name,type,arg)	type (*name ## _p) arg
-#include "lkc_proto.h"
-#undef P
-
-void kconfig_load(void)
-{
-	void *handle;
-	char *error;
-
-	handle = dlopen("./libkconfig.so", RTLD_LAZY);
-	if (!handle) {
-		handle = dlopen("./scripts/kconfig/libkconfig.so", RTLD_LAZY);
-		if (!handle) {
-			fprintf(stderr, "%s\n", dlerror());
-			exit(1);
-		}
-	}
-
-#define P(name,type,arg)			\
-{						\
-	name ## _p = dlsym(handle, #name);	\
-        if ((error = dlerror()))  {		\
-                fprintf(stderr, "%s\n", error);	\
-		exit(1);			\
-	}					\
-}
-#include "lkc_proto.h"
-#undef P
-}
diff --git a/scripts/kconfig/kxgettext.c b/scripts/kconfig/kxgettext.c
index e9d8e79..2858738 100644
--- a/scripts/kconfig/kxgettext.c
+++ b/scripts/kconfig/kxgettext.c
@@ -7,7 +7,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 static char *escape(const char* text, char *bf, int len)
diff --git a/scripts/kconfig/lex.zconf.c_shipped b/scripts/kconfig/lex.zconf.c_shipped
index d918291..dcea7a7 100644
--- a/scripts/kconfig/lex.zconf.c_shipped
+++ b/scripts/kconfig/lex.zconf.c_shipped
@@ -785,7 +785,6 @@ char *zconftext;
 #include <string.h>
 #include <unistd.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 #define START_STRSIZE	16
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
index febf0c9..625ec69 100644
--- a/scripts/kconfig/lkc.h
+++ b/scripts/kconfig/lkc.h
@@ -21,12 +21,7 @@ static inline char *bind_textdomain_codeset(const char *dn, char *c) { return c;
 extern "C" {
 #endif
 
-#ifdef LKC_DIRECT_LINK
 #define P(name,type,arg)	extern type name arg
-#else
-#include "lkc_defs.h"
-#define P(name,type,arg)	extern type (*name ## _p) arg
-#endif
 #include "lkc_proto.h"
 #undef P
 
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index fa0ae0e..77344ac 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -18,7 +18,6 @@
 #include <unistd.h>
 #include <locale.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 #include "lxdialog/dialog.h"
 
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index 24547fe..aab5a1f 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -8,7 +8,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 static const char nohelp_text[] = N_(
diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
index 488dd74..da9f5c4 100644
--- a/scripts/kconfig/nconf.c
+++ b/scripts/kconfig/nconf.c
@@ -7,7 +7,7 @@
  */
 #define _GNU_SOURCE
 #include <string.h>
-#define LKC_DIRECT_LINK
+
 #include "lkc.h"
 #include "nconf.h"
 #include <ctype.h>
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index c2796b8..31e01cd 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -1745,10 +1745,6 @@ int main(int ac, char** av)
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	textdomain(PACKAGE);
 
-#ifndef LKC_DIRECT_LINK
-	kconfig_load();
-#endif
-
 	progname = av[0];
 	configApp = new QApplication(ac, av);
 	if (ac > 1 && av[1][0] == '-') {
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
index a796c95..cf8edf4 100644
--- a/scripts/kconfig/symbol.c
+++ b/scripts/kconfig/symbol.c
@@ -9,7 +9,6 @@
 #include <regex.h>
 #include <sys/utsname.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 struct symbol symbol_yes = {
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l
index b22f884..29b79f4 100644
--- a/scripts/kconfig/zconf.l
+++ b/scripts/kconfig/zconf.l
@@ -14,7 +14,6 @@
 #include <string.h>
 #include <unistd.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 #define START_STRSIZE	16
diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped
index 4c5495e..c1579e6 100644
--- a/scripts/kconfig/zconf.tab.c_shipped
+++ b/scripts/kconfig/zconf.tab.c_shipped
@@ -88,7 +88,6 @@
 #include <string.h>
 #include <stdbool.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 #define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
index 49fb4ab..29c391f 100644
--- a/scripts/kconfig/zconf.y
+++ b/scripts/kconfig/zconf.y
@@ -11,7 +11,6 @@
 #include <string.h>
 #include <stdbool.h>
 
-#define LKC_DIRECT_LINK
 #include "lkc.h"
 
 #define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 8/9] kconfig/gconf: kill deadcode
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (6 preceding siblings ...)
  2011-06-06 18:58 ` [PATCH 7/9] kconfig: nuke LKC_DIRECT_LINK cruft Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-06 18:58 ` [PATCH 9/9] kconfig/gconf: silent missing prototype warnings Arnaud Lacombe
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

The only call site of renderer_toggled() has been commented out since Apr. 2003,
as per Linus' Linux history repository:

 commit e7f67eb3c0570aa50c1cc0707b478a6d93bdc255
 Author: Roman Zippel <zippel@linux-m68k.org>
 Date:   Fri Apr 4 04:18:05 2003 -0800

    [PATCH] gconf update

    A gconf update by Romain Li<C3><A9>vin <roms@tilp.info>
    - fixed bug when double-clicking for changing value.
    - expand row when enabling a row with a submenu.
    - various bug fixes

As this result in a warning:

scripts/kconfig/gconf.c:891:13: warning: 'renderer_toggled' defined but not used

just nuke that code.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/gconf.c |   33 ---------------------------------
 1 files changed, 0 insertions(+), 33 deletions(-)

diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index 0426fda..e2db621 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -285,8 +285,6 @@ void init_left_tree(void)
 static void renderer_edited(GtkCellRendererText * cell,
 			    const gchar * path_string,
 			    const gchar * new_text, gpointer user_data);
-static void renderer_toggled(GtkCellRendererToggle * cellrenderertoggle,
-			     gchar * arg1, gpointer user_data);
 
 void init_right_tree(void)
 {
@@ -320,8 +318,6 @@ void init_right_tree(void)
 					    "inconsistent", COL_BTNINC,
 					    "visible", COL_BTNVIS,
 					    "radio", COL_BTNRAD, NULL);
-	/*g_signal_connect(G_OBJECT(renderer), "toggled",
-	   G_CALLBACK(renderer_toggled), NULL); */
 	renderer = gtk_cell_renderer_text_new();
 	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
 					renderer, FALSE);
@@ -888,35 +884,6 @@ static void toggle_sym_value(struct menu *menu)
 		display_tree_part();	//fixme: keep exp/coll
 }
 
-static void renderer_toggled(GtkCellRendererToggle * cell,
-			     gchar * path_string, gpointer user_data)
-{
-	GtkTreePath *path, *sel_path = NULL;
-	GtkTreeIter iter, sel_iter;
-	GtkTreeSelection *sel;
-	struct menu *menu;
-
-	path = gtk_tree_path_new_from_string(path_string);
-	if (!gtk_tree_model_get_iter(model2, &iter, path))
-		return;
-
-	sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree2_w));
-	if (gtk_tree_selection_get_selected(sel, NULL, &sel_iter))
-		sel_path = gtk_tree_model_get_path(model2, &sel_iter);
-	if (!sel_path)
-		goto out1;
-	if (gtk_tree_path_compare(path, sel_path))
-		goto out2;
-
-	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
-	toggle_sym_value(menu);
-
-      out2:
-	gtk_tree_path_free(sel_path);
-      out1:
-	gtk_tree_path_free(path);
-}
-
 static gint column2index(GtkTreeViewColumn * column)
 {
 	gint i;
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 9/9] kconfig/gconf: silent missing prototype warnings
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (7 preceding siblings ...)
  2011-06-06 18:58 ` [PATCH 8/9] kconfig/gconf: kill deadcode Arnaud Lacombe
@ 2011-06-06 18:58 ` Arnaud Lacombe
  2011-06-08 16:03 ` [PATCH 0/9] Random kconfig patches Michal Marek
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
  10 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 18:58 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Michal Marek, Arnaud Lacombe

As the `gconf' frontend is un-maintained, go the easy way by silencing
the "warning: no previous prototype for '<fn>'" warnings.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/Makefile |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 0460ac3..84abb2f 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -227,7 +227,8 @@ HOSTLOADLIBES_qconf	= $(KC_QT_LIBS)
 HOSTCXXFLAGS_qconf.o	= $(KC_QT_CFLAGS)
 
 HOSTLOADLIBES_gconf	= `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
-HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0`
+HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
+                          -Wno-missing-prototypes
 
 HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
 
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH 1/9] kconfig: annotate non-trivial fall-trough
  2011-06-06 18:58 ` [PATCH 1/9] kconfig: annotate non-trivial fall-trough Arnaud Lacombe
@ 2011-06-06 19:08   ` Daniel K.
  2011-06-06 19:34     ` Arnaud Lacombe
  0 siblings, 1 reply; 22+ messages in thread
From: Daniel K. @ 2011-06-06 19:08 UTC (permalink / raw)
  To: Arnaud Lacombe; +Cc: linux-kbuild, linux-kernel, Michal Marek

Arnaud Lacombe wrote:
> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
> ---
>  scripts/kconfig/conf.c     |    4 ++++
>  scripts/kconfig/confdata.c |    5 +++++
>  scripts/kconfig/gconf.c    |    1 +
>  scripts/kconfig/mconf.c    |    1 +
>  4 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
> index 006ad81..8be7374 100644
> --- a/scripts/kconfig/conf.c
> +++ b/scripts/kconfig/conf.c
> @@ -106,6 +106,7 @@ static int conf_askvalue(struct symbol *sym, const char *def)
>  			return 0;
>  		}
>  		check_stdin();
> +		/* FALLTHOUGH */
>  	case oldaskconfig:
>  		fflush(stdout);
>  		xfgets(line, 128, stdin);

Could it be done using the inside voice?

s/FALLTHOUGH/fall through/


Daniel K.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 1/9] kconfig: annotate non-trivial fall-trough
  2011-06-06 19:08   ` Daniel K.
@ 2011-06-06 19:34     ` Arnaud Lacombe
  0 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-06-06 19:34 UTC (permalink / raw)
  To: Daniel K.; +Cc: linux-kbuild, linux-kernel, Michal Marek

Hi,

On Mon, Jun 6, 2011 at 3:08 PM, Daniel K. <dk@uw.no> wrote:
> Arnaud Lacombe wrote:
>>
>> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
>> ---
>>  scripts/kconfig/conf.c     |    4 ++++
>>  scripts/kconfig/confdata.c |    5 +++++
>>  scripts/kconfig/gconf.c    |    1 +
>>  scripts/kconfig/mconf.c    |    1 +
>>  4 files changed, 11 insertions(+), 0 deletions(-)
>>
>> diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
>> index 006ad81..8be7374 100644
>> --- a/scripts/kconfig/conf.c
>> +++ b/scripts/kconfig/conf.c
>> @@ -106,6 +106,7 @@ static int conf_askvalue(struct symbol *sym, const
>> char *def)
>>                        return 0;
>>                }
>>                check_stdin();
>> +               /* FALLTHOUGH */
>>        case oldaskconfig:
>>                fflush(stdout);
>>                xfgets(line, 128, stdin);
>
> Could it be done using the inside voice?
>
> s/FALLTHOUGH/fall through/
>
Sure, I followed the LINT syntax and missed
`Documentation/CodingStyle' defined its own. [And I actually managed
to make a typo in a so trivial patch :(]. Anyway, thanks for pointing
that out. The tree at github contains the fixed version.

 - Arnaud

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/9] Random kconfig patches
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (8 preceding siblings ...)
  2011-06-06 18:58 ` [PATCH 9/9] kconfig/gconf: silent missing prototype warnings Arnaud Lacombe
@ 2011-06-08 16:03 ` Michal Marek
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
  10 siblings, 0 replies; 22+ messages in thread
From: Michal Marek @ 2011-06-08 16:03 UTC (permalink / raw)
  To: Arnaud Lacombe; +Cc: linux-kbuild, linux-kernel

On 6.6.2011 20:58, Arnaud Lacombe wrote:
> Hi Michal,
>
> You'll find hereafter a serie of relatively trivial (I hope) patches
> concerning kconfig. Mostly annotation, deadcode removal, and correctness.
> This serie is based on top of v3.0-rc1.
>
> As always, it is also available on my git repo on github:
>
>   git://github.com/lacombar/linux-2.6.git kconfig-trivial
>
> Regards,
>   - Arnaud
>
> Arnaud Lacombe (9):
>    kconfig: annotate non-trivial fall-trough
>    kconfig: fix return code for invalid boolean symbol in
>      conf_set_sym_val()
>    kconfig: add missing<stdarg.h>  inclusion
>    kconfig: add missing<ctype.h>  inclusion
>    kconfig: add missing<stdlib.h>  inclusion
>    kconfig: nuke reference to SWIG
>    kconfig: nuke LKC_DIRECT_LINK cruft
>    kconfig/gconf: kill deadcode
>    kconfig/gconf: silent missing prototype warnings

Thanks, pulled. I like especially the LKC_DIRECT_LINK removal :).

Michal

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH 0/5] Random kconfig patches (second iteration)
  2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
                   ` (9 preceding siblings ...)
  2011-06-08 16:03 ` [PATCH 0/9] Random kconfig patches Michal Marek
@ 2011-07-02  5:10 ` Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 1/5] kconfig: use calloc() for expr allocation Arnaud Lacombe
                     ` (5 more replies)
  10 siblings, 6 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-07-02  5:10 UTC (permalink / raw)
  To: linux-kbuild, Michal Marek; +Cc: Arnaud Lacombe

Hi Michal,

You'll find hereafter a another serie of relatively trivial (I hope) patches
concerning kconfig. Some missing bits of the previous serie, scope reductions,
proper description of `conf' usage...

You may want to diretly merge it from my git repo on github if you find those
acceptable:

 git://github.com/lacombar/linux-2.6.git kconfig-trivial

Regards,
 - Arnaud

Arnaud Lacombe (5):
  kconfig: use calloc() for expr allocation
  kconfig/conf: reduce the scope of `defconfig_file'
  kconfig/conf: add command line options' description
  kconfig: remove pending prototypes for kconfig_load()
  kconfig/conf: mark xfgets() private

 scripts/kconfig/conf.c |   43 +++++++++++++++++++++++++++++++++++--------
 scripts/kconfig/expr.c |   12 ++++--------
 scripts/kconfig/lkc.h  |    6 ------
 3 files changed, 39 insertions(+), 22 deletions(-)

-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH 1/5] kconfig: use calloc() for expr allocation
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
@ 2011-07-02  5:10   ` Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 2/5] kconfig/conf: reduce the scope of `defconfig_file' Arnaud Lacombe
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-07-02  5:10 UTC (permalink / raw)
  To: linux-kbuild, Michal Marek; +Cc: Arnaud Lacombe

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/expr.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/scripts/kconfig/expr.c b/scripts/kconfig/expr.c
index 792c62e..290ce41 100644
--- a/scripts/kconfig/expr.c
+++ b/scripts/kconfig/expr.c
@@ -13,8 +13,7 @@
 
 struct expr *expr_alloc_symbol(struct symbol *sym)
 {
-	struct expr *e = malloc(sizeof(*e));
-	memset(e, 0, sizeof(*e));
+	struct expr *e = calloc(1, sizeof(*e));
 	e->type = E_SYMBOL;
 	e->left.sym = sym;
 	return e;
@@ -22,8 +21,7 @@ struct expr *expr_alloc_symbol(struct symbol *sym)
 
 struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
 {
-	struct expr *e = malloc(sizeof(*e));
-	memset(e, 0, sizeof(*e));
+	struct expr *e = calloc(1, sizeof(*e));
 	e->type = type;
 	e->left.expr = ce;
 	return e;
@@ -31,8 +29,7 @@ struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
 
 struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2)
 {
-	struct expr *e = malloc(sizeof(*e));
-	memset(e, 0, sizeof(*e));
+	struct expr *e = calloc(1, sizeof(*e));
 	e->type = type;
 	e->left.expr = e1;
 	e->right.expr = e2;
@@ -41,8 +38,7 @@ struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e
 
 struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2)
 {
-	struct expr *e = malloc(sizeof(*e));
-	memset(e, 0, sizeof(*e));
+	struct expr *e = calloc(1, sizeof(*e));
 	e->type = type;
 	e->left.sym = s1;
 	e->right.sym = s2;
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 2/5] kconfig/conf: reduce the scope of `defconfig_file'
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 1/5] kconfig: use calloc() for expr allocation Arnaud Lacombe
@ 2011-07-02  5:10   ` Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 3/5] kconfig/conf: add command line options' description Arnaud Lacombe
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-07-02  5:10 UTC (permalink / raw)
  To: linux-kbuild, Michal Marek; +Cc: Arnaud Lacombe

This variable is not used outside of main() so there is not much reason keeping
it global. Ensure it is initialized as gcc has no way to know that normal
execution path expect only one option switch to be given on the command line
(except when we request help). As a result, we always initialize
`defconfig_file' before using it.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/conf.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 08c05bc..6431f5c 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -34,8 +34,6 @@ enum input_mode {
 	oldnoconfig,
 } input_mode = oldaskconfig;
 
-char *defconfig_file;
-
 static int indent = 1;
 static int valid_stdin = 1;
 static int sync_kconfig;
@@ -462,7 +460,7 @@ static struct option long_opts[] = {
 int main(int ac, char **av)
 {
 	int opt;
-	const char *name;
+	const char *name, *defconfig_file = NULL /* gcc uninit */;
 	struct stat tmpstat;
 
 	setlocale(LC_ALL, "");
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 3/5] kconfig/conf: add command line options' description
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 1/5] kconfig: use calloc() for expr allocation Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 2/5] kconfig/conf: reduce the scope of `defconfig_file' Arnaud Lacombe
@ 2011-07-02  5:10   ` Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 4/5] kconfig: remove pending prototypes for kconfig_load() Arnaud Lacombe
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-07-02  5:10 UTC (permalink / raw)
  To: linux-kbuild, Michal Marek; +Cc: Arnaud Lacombe

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/conf.c |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 6431f5c..819ab18 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -457,8 +457,28 @@ static struct option long_opts[] = {
 	{NULL, 0, NULL, 0}
 };
 
+static void conf_usage(const char *progname)
+{
+
+	printf("Usage: %s [option] <kconfig-file>\n", progname);
+	printf("[option] is _one_ of the following:\n");
+	printf("  --listnewconfig         List new options\n");
+	printf("  --oldaskconfig          Start a new configuration using a line-oriented program\n");
+	printf("  --oldconfig             Update a configuration using a provided .config as base\n");
+	printf("  --silentoldconfig       Same as oldconfig, but quietly, additionally update deps\n");
+	printf("  --oldnoconfig           Same as silentoldconfig but set new symbols to no\n");
+	printf("  --defconfig <file>      New config with default defined in <file>\n");
+	printf("  --savedefconfig <file>  Save the minimal current configuration to <file>\n");
+	printf("  --allnoconfig           New config where all options are answered with no\n");
+	printf("  --allyesconfig          New config where all options are answered with yes\n");
+	printf("  --allmodconfig          New config where all options are answered with mod\n");
+	printf("  --alldefconfig          New config with all symbols set to default\n");
+	printf("  --randconfig            New config with random answer to all options\n");
+}
+
 int main(int ac, char **av)
 {
+	const char *progname = av[0];
 	int opt;
 	const char *name, *defconfig_file = NULL /* gcc uninit */;
 	struct stat tmpstat;
@@ -492,14 +512,24 @@ int main(int ac, char **av)
 			srand(seed);
 			break;
 		}
+		case oldaskconfig:
+		case oldconfig:
+		case allnoconfig:
+		case allyesconfig:
+		case allmodconfig:
+		case alldefconfig:
+		case listnewconfig:
+		case oldnoconfig:
+			break;
 		case '?':
-			fprintf(stderr, _("See README for usage info\n"));
+			conf_usage(progname);
 			exit(1);
 			break;
 		}
 	}
 	if (ac == optind) {
 		printf(_("%s: Kconfig file missing\n"), av[0]);
+		conf_usage(progname);
 		exit(1);
 	}
 	name = av[optind];
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 4/5] kconfig: remove pending prototypes for kconfig_load()
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
                     ` (2 preceding siblings ...)
  2011-07-02  5:10   ` [PATCH 3/5] kconfig/conf: add command line options' description Arnaud Lacombe
@ 2011-07-02  5:10   ` Arnaud Lacombe
  2011-07-02  5:10   ` [PATCH 5/5] kconfig/conf: mark xfgets() private Arnaud Lacombe
  2011-07-04  9:39   ` [PATCH 0/5] Random kconfig patches (second iteration) Michal Marek
  5 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-07-02  5:10 UTC (permalink / raw)
  To: linux-kbuild, Michal Marek; +Cc: Arnaud Lacombe

Commit 5a6f8d2bd9e3392569ed6f29ea4d7210652f929b removed `kconfig_load()',
however, it missed an hidden prototypes in `lkc.h'. Fix this.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/lkc.h |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
index 625ec69..60ffe8c 100644
--- a/scripts/kconfig/lkc.h
+++ b/scripts/kconfig/lkc.h
@@ -94,9 +94,6 @@ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
 		fprintf(stderr, "\nError in writing or end of file.\n");
 }
 
-/* kconfig_load.c */
-void kconfig_load(void);
-
 /* menu.c */
 void _menu_init(void);
 void menu_warn(struct menu *menu, const char *fmt, ...);
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 5/5] kconfig/conf: mark xfgets() private
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
                     ` (3 preceding siblings ...)
  2011-07-02  5:10   ` [PATCH 4/5] kconfig: remove pending prototypes for kconfig_load() Arnaud Lacombe
@ 2011-07-02  5:10   ` Arnaud Lacombe
  2011-07-04  9:39   ` [PATCH 0/5] Random kconfig patches (second iteration) Michal Marek
  5 siblings, 0 replies; 22+ messages in thread
From: Arnaud Lacombe @ 2011-07-02  5:10 UTC (permalink / raw)
  To: linux-kbuild, Michal Marek; +Cc: Arnaud Lacombe

This function has not much reason to be public. In the mean time, convert
declaration from K&R C to ISO C.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 scripts/kconfig/conf.c |    7 +++----
 scripts/kconfig/lkc.h  |    3 ---
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 819ab18..f208f90 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -18,6 +18,7 @@
 
 static void conf(struct menu *menu);
 static void check_conf(struct menu *menu);
+static void xfgets(char *str, int size, FILE *in);
 
 enum input_mode {
 	oldaskconfig,
@@ -672,13 +673,11 @@ int main(int ac, char **av)
 	}
 	return 0;
 }
+
 /*
  * Helper function to facilitate fgets() by Jean Sacren.
  */
-void xfgets(str, size, in)
-	char *str;
-	int size;
-	FILE *in;
+void xfgets(char *str, int size, FILE *in)
 {
 	if (fgets(str, size, in) == NULL)
 		fprintf(stderr, "\nError in reading or end of file.\n");
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
index 60ffe8c..eed2249 100644
--- a/scripts/kconfig/lkc.h
+++ b/scripts/kconfig/lkc.h
@@ -76,9 +76,6 @@ void zconf_nextfile(const char *name);
 int zconf_lineno(void);
 const char *zconf_curname(void);
 
-/* conf.c */
-void xfgets(char *str, int size, FILE *in);
-
 /* confdata.c */
 const char *conf_get_configname(void);
 const char *conf_get_autoconfig_name(void);
-- 
1.7.3.4.574.g608b.dirty


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/5] Random kconfig patches (second iteration)
  2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
                     ` (4 preceding siblings ...)
  2011-07-02  5:10   ` [PATCH 5/5] kconfig/conf: mark xfgets() private Arnaud Lacombe
@ 2011-07-04  9:39   ` Michal Marek
  2011-07-08  1:31     ` Arnaud Lacombe
  5 siblings, 1 reply; 22+ messages in thread
From: Michal Marek @ 2011-07-04  9:39 UTC (permalink / raw)
  To: Arnaud Lacombe; +Cc: linux-kbuild

On 2.7.2011 07:10, Arnaud Lacombe wrote:
> Hi Michal,
>
> You'll find hereafter a another serie of relatively trivial (I hope) patches
> concerning kconfig. Some missing bits of the previous serie, scope reductions,
> proper description of `conf' usage...
>
> You may want to diretly merge it from my git repo on github if you find those
> acceptable:
>
>   git://github.com/lacombar/linux-2.6.git kconfig-trivial

Pulled, thanks!

Michal

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/5] Random kconfig patches (second iteration)
  2011-07-04  9:39   ` [PATCH 0/5] Random kconfig patches (second iteration) Michal Marek
@ 2011-07-08  1:31     ` Arnaud Lacombe
  2011-07-12  9:04       ` Michal Marek
  0 siblings, 1 reply; 22+ messages in thread
From: Arnaud Lacombe @ 2011-07-08  1:31 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild

Hi,

2011/7/4 Michal Marek <mmarek@suse.cz>:
> On 2.7.2011 07:10, Arnaud Lacombe wrote:
>>
>> Hi Michal,
>>
>> You'll find hereafter a another serie of relatively trivial (I hope)
>> patches
>> concerning kconfig. Some missing bits of the previous serie, scope
>> reductions,
>> proper description of `conf' usage...
>>
>> You may want to diretly merge it from my git repo on github if you find
>> those
>> acceptable:
>>
>>  git://github.com/lacombar/linux-2.6.git kconfig-trivial
>
> Pulled, thanks!
>
did you ?

It does not seems to have reached the kbuild-2.6.git tree on git.kernel.org.

Thanks,
 - Arnaud

> Michal
>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/5] Random kconfig patches (second iteration)
  2011-07-08  1:31     ` Arnaud Lacombe
@ 2011-07-12  9:04       ` Michal Marek
  0 siblings, 0 replies; 22+ messages in thread
From: Michal Marek @ 2011-07-12  9:04 UTC (permalink / raw)
  To: Arnaud Lacombe; +Cc: linux-kbuild

On 8.7.2011 03:31, Arnaud Lacombe wrote:
> 2011/7/4 Michal Marek<mmarek@suse.cz>:
>> On 2.7.2011 07:10, Arnaud Lacombe wrote:
>>> You may want to diretly merge it from my git repo on github if you find
>>> those
>>> acceptable:
>>>
>>>   git://github.com/lacombar/linux-2.6.git kconfig-trivial
>>
>> Pulled, thanks!
>>
> did you ?
>
> It does not seems to have reached the kbuild-2.6.git tree on git.kernel.org.

I forgot to push it, sorry. It should be there now.

Michal

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2011-07-12  9:04 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-06 18:58 [PATCH 0/9] Random kconfig patches Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 1/9] kconfig: annotate non-trivial fall-trough Arnaud Lacombe
2011-06-06 19:08   ` Daniel K.
2011-06-06 19:34     ` Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 2/9] kconfig: fix return code for invalid boolean symbol in conf_set_sym_val() Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 3/9] kconfig: add missing <stdarg.h> inclusion Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 4/9] kconfig: add missing <ctype.h> inclusion Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 5/9] kconfig: add missing <stdlib.h> inclusion Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 6/9] kconfig: nuke reference to SWIG Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 7/9] kconfig: nuke LKC_DIRECT_LINK cruft Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 8/9] kconfig/gconf: kill deadcode Arnaud Lacombe
2011-06-06 18:58 ` [PATCH 9/9] kconfig/gconf: silent missing prototype warnings Arnaud Lacombe
2011-06-08 16:03 ` [PATCH 0/9] Random kconfig patches Michal Marek
2011-07-02  5:10 ` [PATCH 0/5] Random kconfig patches (second iteration) Arnaud Lacombe
2011-07-02  5:10   ` [PATCH 1/5] kconfig: use calloc() for expr allocation Arnaud Lacombe
2011-07-02  5:10   ` [PATCH 2/5] kconfig/conf: reduce the scope of `defconfig_file' Arnaud Lacombe
2011-07-02  5:10   ` [PATCH 3/5] kconfig/conf: add command line options' description Arnaud Lacombe
2011-07-02  5:10   ` [PATCH 4/5] kconfig: remove pending prototypes for kconfig_load() Arnaud Lacombe
2011-07-02  5:10   ` [PATCH 5/5] kconfig/conf: mark xfgets() private Arnaud Lacombe
2011-07-04  9:39   ` [PATCH 0/5] Random kconfig patches (second iteration) Michal Marek
2011-07-08  1:31     ` Arnaud Lacombe
2011-07-12  9:04       ` Michal Marek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.