summaryrefslogtreecommitdiff
path: root/scripts/kconfig
AgeCommit message (Collapse)Author
2011-09-09scripts/kconfig/nconf: add KEY_HOME / KEY_END for dialog_inputboxCheng Renquan
to make it easier to locate begin/end when editing long strings; Signed-off-by: Cheng Renquan <crquan@gmail.com> Acked By: Nir Tzachar <nir.tzachar@gmail.com>
2011-09-09scripts/kconfig/nconf: fix editing long stringsCheng Renquan
The original dialog_inputbox doesn't work with longer than prompt_width strings, here fixed it in this way: 1) add variable cursor_form_win to record cursor of form_win, keep its value always between [0, prompt_width-1]; reuse the original cursor_position as cursor of the string result, use (cursor_position-cursor_form_win) as begin offset to show part of the string in form_win; Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Arnaud Lacombe <lacombar@gmail.com> Cc: Nir Tzachar <nir.tzachar@gmail.com>
2011-09-09scripts/kconfig/nconf: dynamically alloc dialog_input_resultCheng Renquan
To support unlimited length string config items; No check for realloc return value keeps code simple, and to be consistent with other existing unchecked malloc in kconfig. Signed-off-by: Cheng Renquan <crquan@gmail.com> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-09-09scripts/kconfig/nconf: fix memmove's length argCheng Renquan
In case KEY_BACKSPACE / KEY_DC to delete a char, it memmove only (len-cursor_position+1) bytes; the default case is to insert a char, it should also memmove exactly (len-cursor_position+1) bytes; the original use of (len+1) is wrong and may access following memory that doesn't belong to result, may cause SegFault in theory; case KEY_BACKSPACE: if (cursor_position > 0) { memmove(&result[cursor_position-1], &result[cursor_position], len-cursor_position+1); cursor_position--; } break; case KEY_DC: if (cursor_position >= 0 && cursor_position < len) { memmove(&result[cursor_position], &result[cursor_position+1], len-cursor_position+1); } break; default: if ((isgraph(res) || isspace(res)) && len-2 < result_len) { /* insert the char at the proper position */ memmove(&result[cursor_position+1], &result[cursor_position], len-cursor_position+1); result[cursor_position] = res; cursor_position++; } Signed-off-by: Cheng Renquan <crquan@gmail.com> Acked-by: Nir Tzachar <nir.tzachar@gmail.com>
2011-09-09scripts/kconfig/nconf: fix typo: unknow => unknownCheng Renquan
Signed-off-by: Cheng Renquan <crquan@gmail.com> Acked-by: Arnaud Lacombe <lacombar@gmail.com>
2011-08-31Merge branch 'kconfig/for-next' of git://github.com/lacombar/linux-2.6 into ↵Michal Marek
kbuild/kconfig
2011-08-29kconfig: fix set but not used variablesLucas De Marchi
Some variables were being set but never used, which was triggering warnings in GCC >= 4.6. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-08-29kconfig: handle SIGINT in menuconfigDavidlohr Bueso
I recently got bitten in the ass when pressing Ctrl-C and lost all my current configuration changes. This patch captures SIGINT and allows the user to save any changes. Some code refactoring was made in order to handle the exit behavior. Signed-off-by: Davidlohr Bueso <dave@gnu.org> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-08-29kconfig: fix __enabled_ macros definition for invisible and un-selected symbolsArnaud Lacombe
__enabled_<sym-name> are only generated on visible or selected entries, do not reflect the purpose of its introduction. Fix this by always generating these entries for named symbol. Reported-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-08-19Merge branch 'master/kconfig-localmodconfig' of ↵Michal Marek
git://github.com/lacombar/linux-2.6 into kbuild/kconfig
2011-08-08kconfig: factor code in menu_get_ext_help()Arnaud Lacombe
Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-08-08kbuild: Fix help text not displayed in choice option.Srinivas Kandagatla
Help text under choice menu is never displayed because it does not have symbol name associated with it, however many kconfigs have help text under choice, assuming that it will be displayed when user selects help. for example in Kconfig if we have: choice prompt "Choice" ---help--- HELP TEXT ... config A bool "A" config B bool "B" endchoice Without this patch "HELP TEXT" is not displayed when user selects help option when "Choice" is highlighted from menuconfig or xconfig or gconfig. This patch changes the logic in menu_get_ext_help to display help for cases which dont have symbol names like choice. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com> Reviewed-by: Stuart Menefy <stuart.menefy@st.com> Reviewed-by: Arnaud Lacombe <lacombar@gmail.com> Cc: stable@kernel.org Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-08-08kconfig/nconf: nuke unreferenced `nohelp_text'Arnaud Lacombe
After commit 5416857867c9cc94aba641898c567d9707de30f1, nohelp_text' is no longer referenced, nuke it. Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-08-08kconfig/streamline_config.pl: merge local{mod,yes}configArnaud Lacombe
The two targets `localmodconfig' and `localyesconfig' only differs from the sed(1) ran on the result of `streamline_config.pl' to convert symbols set to `modules' to `yes'. This conversion can be made directly from the perl script, and thus avoid duplicating the command to generate the configuration. Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-08-08kconfig/streamline_config.pl: use options to determine operating modeArnaud Lacombe
The options introduced are --localmodconfig (default) and --localyesconfig. They match the Makefile target behavior. Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-08-08kconfig/streamline_config.pl: directly access LSMOD from the environmentArnaud Lacombe
Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-07-30Merge branch 'kconfig' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits) kconfig: Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE() xconfig: Abort close if configuration cannot be saved kconfig: fix missing "0x" prefix from S_HEX symbol in autoconf.h kconfig/nconf: remove useless conditionnal kconfig/nconf: prevent segfault on empty menu kconfig/nconf: use the generic menu_get_ext_help() nconfig: Avoid Wunused-but-set warning kconfig/conf: mark xfgets() private kconfig: remove pending prototypes for kconfig_load() kconfig/conf: add command line options' description kconfig/conf: reduce the scope of `defconfig_file' kconfig: use calloc() for expr allocation kconfig: introduce specialized printer kconfig: do not overwrite symbol direct dependency in assignment kconfig/gconf: silent missing prototype warnings kconfig/gconf: kill deadcode kconfig: nuke LKC_DIRECT_LINK cruft kconfig: nuke reference to SWIG kconfig: add missing <stdlib.h> inclusion kconfig: add missing <ctype.h> inclusion ... Fix up conflicts in scripts/kconfig/Makefile
2011-07-29kconfig: Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE()Michal Marek
Replace the config_is_*() macros with a variant that allows for grepping for usage of CONFIG_* options in the code. Usage: if (IS_ENABLED(CONFIG_NUMA)) or #if IS_ENABLED(CONFIG_NUMA) The IS_ENABLED() macro evaluates to 1 if the argument is set (to either 'y' or 'm'), IS_BUILTIN() tests if the option is 'y' and IS_MODULE() test if the option is 'm'. Only boolean and tristate options are supported. Reviewed-by: Arnaud Lacombe <lacombar@gmail.com> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-07-25xconfig: Abort close if configuration cannot be savedMichal Marek
Give the user an opportunity to fix the error or save the configuration under a different path. Reported-by: Hiromu Yakura <hiromu1996@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-07-18kconfig: fix missing "0x" prefix from S_HEX symbol in autoconf.hArnaud Lacombe
The specialized printer for headers (espectially autoconf.h) is missing fixup code for S_HEX symbol's "0x" prefix. As long as kconfig does not warn for such missing prefix, this code is needed. Fix this. In the same time, fix some nits in `header_print_symbol()'. Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Broken-by: Arnaud Lacombe <lacombar@gmail.com> Reported-by: Randy Dunlap <rdunlap@xenotime.net> Reported-by: Mauro Carvalho Chehab <mchehab@infradead.org> Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-07-13kconfig/nconf: remove useless conditionnalArnaud Lacombe
After the test if (!submenu || ...) continue; the variable `submenu' can _not_ be NULL, so do not test for this situation. Cc: Nir Tzachar <nir.tzachar@gmail.com> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-07-13kconfig/nconf: prevent segfault on empty menuArnaud Lacombe
nconf does not check the validity of the current menu when help is requested (with either <F2>, '?' or 'h'). This leads to a NULL pointer dereference when an empty menu is encountered. The following reduced testcase exposes the problem: config DEP bool menu "FOO" config BAR bool "BAR" depends on DEP endmenu Issue will happen when entering menu "FOO" and requesting help. nconf is the only front-end which do not filter the validity of the current menu. Such filter can not really happen beforehand as other key which does not deals with the current menu might be entered by the user, so just bails out earlier if we encounter an invalid menu. Cc: Nir Tzachar <nir.tzachar@gmail.com> Cc: Andrej Gelenberg <andrej.gelenberg@udo.edu> Reported-by: Andrej Gelenberg <andrej.gelenberg@udo.edu> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-07-13kconfig/nconf: use the generic menu_get_ext_help()Arnaud Lacombe
nconf is the only front-end which does not use this helper, but prefer to copy/paste the code. The test wrt. menu validity added in this version of the code is bogus anyway as an invalid menu will get dereferenced a few line below by calling menu_get_prompt(). For now, convert nconf to use menu_get_ext_help(), as do every other front-end. We will deals with menu validity checks properly in a separate commit. Cc: Nir Tzachar <nir.tzachar@gmail.com> Cc: Andrej Gelenberg <andrej.gelenberg@udo.edu> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-07-13nconfig: Avoid Wunused-but-set warningRaghavendra D Prabhu
I am seeing Wunused-but-set warning while make nconfig. Looks like active_menu is not used. Removing it fixes the warning. Signed-off-by: Raghavendra D Prabhu <rprabhu@wnohang.net> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-07-04Merge branch 'kconfig-trivial' of git://github.com/lacombar/linux-2.6 into ↵Michal Marek
kbuild/kconfig
2011-07-02kconfig/conf: mark xfgets() privateArnaud 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>
2011-07-02kconfig: remove pending prototypes for kconfig_load()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>
2011-07-02kconfig/conf: add command line options' descriptionArnaud Lacombe
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-07-02kconfig/conf: reduce the scope of `defconfig_file'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>
2011-07-02kconfig: use calloc() for expr allocationArnaud Lacombe
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-07-01kconfig: introduce specialized printerArnaud Lacombe
Make conf_write_symbol() grammar agnostic to be able to use it from different code path. These path pass a printer callback which will print a symbol's name and its value in different format. conf_write_symbol()'s job become mostly only to prepare a string for the printer. This avoid to have to pass specialized flag to generic functions Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> [mmarek: rebased on top of de12518 (kconfig: autogenerated config_is_xxx macro)] Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-06-24kconfig: do not overwrite symbol direct dependency in assignmentArnaud Lacombe
Considering the following configuration: config F bool "F" choice AB bool "AB" config A bool "A" config B bool "B" endchoice if A config D bool default y if F select E config E bool "E" endif if B config D bool default y if F select E config E bool "E" endif The following configuration: CONFIG_F=y CONFIG_A=y # CONFIG_B is not set CONFIG_D=y CONFIG_E=y emits a spurious warning: (D) selects E which has unmet direct dependencies (B) If a symbol appears in two different branch of the tree, it should inherit the dependency of both parent, not just the last one. Reported-by: Yann E. Morin <yann.morin.1998@anciens.enib.fr> Tested-by: Yann E. Morin <yann.morin.1998@anciens.enib.fr> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-06-09kconfig: regen parserArnaud Lacombe
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-09kconfig: migrate parser to implicit rulesArnaud Lacombe
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-09kconfig/zconf.l: do not ask to generate backupArnaud Lacombe
This avoids the creation of a top-level `lex.backup' when the lexer gets re-generated. Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-09kconfig: kill no longer needed reference to YYDEBUGArnaud Lacombe
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-09kconfig: constify `kconf_id_lookup'Arnaud Lacombe
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-08Merge branch 'kconfig-trivial' of git://github.com/lacombar/linux-2.6 into ↵Michal Marek
kbuild/kconfig
2011-06-06kconfig/gconf: silent missing prototype warningsArnaud 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>
2011-06-06kconfig/gconf: kill deadcodeArnaud 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>
2011-06-06kconfig: nuke LKC_DIRECT_LINK cruftArnaud 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>
2011-06-06kconfig: nuke reference to SWIGArnaud 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>
2011-06-06kconfig: add missing <stdlib.h> inclusionArnaud Lacombe
This header is needed when using {m,re}alloc(3) and free(3) function family. Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-06kconfig: add missing <ctype.h> inclusionArnaud Lacombe
This header is needed when using isspace(3) function family. Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-06kconfig: add missing <stdarg.h> inclusionArnaud Lacombe
This header is needed when using va_{start,end,copy}(3) functions family. Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-06kconfig: fix return code for invalid boolean symbol in conf_set_sym_val()Arnaud Lacombe
Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-06-06kconfig: annotate non-trivial fall-troughArnaud Lacombe
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2011-05-25Merge branch 'kbuild/kconfig-for-40' into kbuild/kconfigMichal Marek
2011-05-25kconfig: Only generate config_is_xxx for bool and tristate optionsMichal Marek
For strings and integers, the config_is_xxx macros are useless and sometimes misleading: #define CONFIG_INITRAMFS_SOURCE "" #define config_is_initramfs_source() 1 Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-05-25xconfig: merge code path to conf_write()Arnaud Lacombe
Avoid to have multiple path saving the config. This fixes an error check miss when the window is being closed and the user requested the config to be written. Reported-by: Hiromu Yakura <hiromu1996@gmail.com> Pointed-out-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Michal Marek <mmarek@suse.cz>