2011-06-06 18:58:45

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 0/9] Random kconfig patches

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


2011-06-06 19:00:39

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 1/9] kconfig: annotate non-trivial fall-trough

Signed-off-by: Arnaud Lacombe <[email protected]>
---
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

2011-06-06 19:00:38

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 2/9] kconfig: fix return code for invalid boolean symbol in conf_set_sym_val()

Cc: Sam Ravnborg <[email protected]>
Signed-off-by: Arnaud Lacombe <[email protected]>
---
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

2011-06-06 18:58:51

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 3/9] kconfig: add missing <stdarg.h> inclusion

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

Signed-off-by: Arnaud Lacombe <[email protected]>
---
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

2011-06-06 18:58:55

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 4/9] kconfig: add missing <ctype.h> inclusion

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

Signed-off-by: Arnaud Lacombe <[email protected]>
---
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

2011-06-06 18:58:57

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 5/9] kconfig: add missing <stdlib.h> inclusion

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

Signed-off-by: Arnaud Lacombe <[email protected]>
---
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

2011-06-06 19:00:07

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 6/9] kconfig: nuke reference to SWIG

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

Signed-off-by: Arnaud Lacombe <[email protected]>
---
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

2011-06-06 18:59:04

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 7/9] kconfig: nuke LKC_DIRECT_LINK cruft

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

Signed-off-by: Arnaud Lacombe <[email protected]>
---
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

2011-06-06 18:59:00

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 8/9] kconfig/gconf: kill deadcode

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 <[email protected]>
Date: Fri Apr 4 04:18:05 2003 -0800

[PATCH] gconf update

A gconf update by Romain Li<C3><A9>vin <[email protected]>
- 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 <[email protected]>
---
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

2011-06-06 18:58:58

by Arnaud Lacombe

[permalink] [raw]
Subject: [PATCH 9/9] kconfig/gconf: silent missing prototype warnings

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 <[email protected]>
---
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

2011-06-06 19:16:12

by Daniel K.

[permalink] [raw]
Subject: Re: [PATCH 1/9] kconfig: annotate non-trivial fall-trough

Arnaud Lacombe wrote:
> Signed-off-by: Arnaud Lacombe <[email protected]>
> ---
> 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.

2011-06-06 19:34:03

by Arnaud Lacombe

[permalink] [raw]
Subject: Re: [PATCH 1/9] kconfig: annotate non-trivial fall-trough

Hi,

On Mon, Jun 6, 2011 at 3:08 PM, Daniel K. <[email protected]> wrote:
> Arnaud Lacombe wrote:
>>
>> Signed-off-by: Arnaud Lacombe <[email protected]>
>> ---
>> ?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

2011-06-08 16:03:35

by Michal Marek

[permalink] [raw]
Subject: Re: [PATCH 0/9] Random kconfig patches

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