summaryrefslogtreecommitdiff
path: root/scripts/kconfig
AgeCommit message (Collapse)Author
2010-06-01Merge branch 'for-35' of git://repo.or.cz/linux-kbuildLinus Torvalds
* 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits) kbuild: Revert part of e8d400a to resolve a conflict kbuild: Fix checking of scm-identifier variable gconfig: add support to show hidden options that have prompts menuconfig: add support to show hidden options which have prompts gconfig: remove show_debug option gconfig: remove dbg_print_ptype() and dbg_print_stype() kconfig: fix zconfdump() kconfig: some small fixes add random binaries to .gitignore kbuild: Include gen_initramfs_list.sh and the file list in the .d file kconfig: recalc symbol value before showing search results .gitignore: ignore *.lzo files headerdep: perlcritic warning scripts/Makefile.lib: Align the output of LZO kbuild: Generate modules.builtin in make modules_install Revert "kbuild: specify absolute paths for cscope" kbuild: Do not unnecessarily regenerate modules.builtin headers_install: use local file handles headers_check: fix perl warnings export_report: fix perl warnings ...
2010-05-28kconfig: Hide error output in find command in streamline_config.plToralf Förster
Finding the list of Makefiles in streamline-config should not report errors. Also move the "chomp" to the @makefiles array instead of doing it in the for loop. This is more efficient, and does not make it any less readable by C programmers. Signed-off-by: Toralf Foerster <toralf.foerster@gmx.de> LKML-Reference: <201005262022.02928.toralf.foerster@gmx.de> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-05-28kconfig: Fix typo in comment in streamline_config.plToralf Foerster
Signed-off-by: Toralf Foerster <toralf.foerster@gmx.de> LKML-Reference: <201005281025.52753.toralf.foerster@gmx.de> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-05-28kconfig: Make a variable local in streamline_config.plToralf Foerster
Proper perl requires that local variables should be declared with 'my', otherwise this may produce errors. Signed-off-by: Toralf Foerster <toralf.foerster@gmx.de> LKML-Reference: <201005281025.00358.toralf.foerster@gmx.de> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-04-14gconfig: add support to show hidden options that have promptsLi Zefan
There's a button in gconfig to "Show all options", but I think normally we are not interested in those configs which have no prompt and thus can't be changed, so here I add a new button to show hidden options which have prompts. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-04-14menuconfig: add support to show hidden options which have promptsLi Zefan
Usage: Press <Z> to show all config symbols which have prompts. Quote Tim Bird: | I've been bitten by this numerous times. I most often | use ftrace on ARM, but when I go back to x86, I almost | always go through a sequence of searching for the | function graph tracer in the menus, then realizing it's | completely missing until I disable CC_OPTIMIZE_FOR_SIZE. | | Is there any way to have the menu item appear, but be | unsettable unless the SIZE option is disabled? I'm | not a Kconfig guru... I myself found this useful too. For example, I need to test ftrace/tracing and want to be sure all the tracing features are enabled, so I enter the "Tracers" menu, and press <Z> to see if there is any config hidden. I also noticed gconfig and xconfig have a button "Show all options", but that's a bit too much, and I think normally what we are not interested in those configs which have no prompt thus can't be changed by users. Exmaple: --- Tracers -*- Kernel Function Tracer - - Kernel Function Graph Tracer [*] Interrupts-off Latency Tracer - - Preemption-off Latency Tracer [*] Sysprof Tracer Here you can see 2 tracers are not selectable, and then can find out how to make them selectable. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-04-14gconfig: remove show_debug optionLi Zefan
This option is a no-op, so remove it. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-04-14gconfig: remove dbg_print_ptype() and dbg_print_stype()Li Zefan
Just use sym_get_type() and prop_get_type_name(). Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-04-14kconfig: fix zconfdump()Li Zefan
zconfdump(), which is used for debugging, can't recognize P_SELECT, P_RANGE and P_MENU (if associated with a symbol, aka "menuconfig"), and output something like this: config X86 boolean default y unknown prop 6! unknown prop 6! unknown prop 6! ... Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-04-14kconfig: some small fixesLi Zefan
- fix a typo in documentation - fix a typo in a printk on error - fix comments in dialog_inputbox() Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-03-23kconfig: recalc symbol value before showing search resultsLi Zefan
A symbol's value won't be recalc-ed until we save config file or enter the menu where the symbol sits. So If I enable OPTIMIZE_FOR_SIZE, and search FUNCTION_GRAPH_TRACER: Symbol: FUNCTION_GRAPH_TRACER [=y] Prompt: Kernel Function Graph Tracer Defined at kernel/trace/Kconfig:140 Depends on: ... [=y] && (!X86_32 [=y] || !CC_OPTIMIZE_FOR_SIZE [=y]) ... From the dependency it should result in FUNCTION_GRAPH_TRACER=n, but it still shows FUNCTION_GRAPH_TRACER=y. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-03-15kconfig: util: Fix typo in commentThomas Weber
sting replaced with string Signed-off-by: Thomas Weber <weber@corscience.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-03kconfig: Simplify LSMOD= handlingMichal Marek
Signed-off-by: Michal Marek <mmarek@suse.cz> LKML-Reference: <20100203162014.GA10956@sepie.suse.cz> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-02-02kconfig: Add LSMOD=file to override the lsmod for localmodconfigSteven Rostedt
Doing the following: make LSMOD=file localmodconfig Will make the streamline-config code use the given file instead of lsmod. If the file is an executable, it will execute it, otherwise it will read it as text. make LSMOD=/my/local/path/lsmod localmodconfig The above will execute the lsmod in /my/local/path instead of the lsmods that may be located elsewhere. make LSMOD=embedded_board_lsmod localmodconfig The above will read the "embedded_board_lsmod" as a text file. This is useful if you are doing a cross compile and need to run the config against modules that exist on an embedded device. Note, if the LSMOD= file does is not a path, it will add the path to the object directory. That is, the above example will look for "embedded_board_lsmod" in the directory that the binary will be built in (the O=dir directory). Signed-off-by: Steven Rostedt <rostedt@goodmis.org> On branch config/linus
2010-02-02kconfig: Look in both /bin and /sbin for lsmod in streamline_config.plSteven Rostedt
Distributions now have lsmod in /bin instead of /sbin. But to handle both cases, we look for it in /sbin /bin /usr/bin and /usr/sbin. If lsmod is not found in any of those paths, it defaults to use just lsmod and hopes that it lies in the path of the user. Tested-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-02-02Improve kconfig symbol hashingAndi Kleen
While looking for something else I noticed that the symbol hash function used by kconfig is quite poor. It doesn't use any of the standard hash techniques but simply adds up the string and then uses power of two masking, which is both known to perform poorly. The current x86 kconfig has over 7000 symbols. When I instrumented it showed that the minimum hash chain length was 16 and a significant number of them was over 30. It didn't help that the hash table size was only 256 buckets. This patch increases the hash table size to a larger prime and switches to a FNV32 hash. I played around with a couple of hash functions, but that one seemed to perform best with reasonable hash table sizes. Increasing the hash table size even further didn't seem like a good idea, because there are a couple of global walks which walk the complete hash table. I also moved the unnamed bucket to 0. It's still the longest of all the buckets (44 entries), but hopefully it's not often hit except for the global walk which doesn't care. The result is a much nicer distribution: (first column bucket length, second number of buckets with that length) 1: 3505 2: 1236 3: 294 4: 52 5: 3 47: 1 <--- this is the unnamed symbols bucket There are still some 5+ buckets, but increasing the hash table even more would be likely not worth it. This also cleans up the code slightly by removing hard coded magic numbers. I didn't notice a big performance difference either way on my Nehalem system, but I presume it'll help somewhat on slower systems. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02nconfig: minor fixNir Tzachar
This patch fixes two problems reported by Jan Engelhardt: 1) Border is now properly placed, to always be visible 2) Long menu items are properly displayed Reported-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Nir Tzachar <nir.tzachar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02nconfig: mark local functions as suchMichal Marek
scripts/kconfig/nconf.gui.c:23: warning: no previous prototype for 'set_normal_colors' scripts/kconfig/nconf.gui.c:68: warning: no previous prototype for 'normal_color_theme' scripts/kconfig/nconf.gui.c:100: warning: no previous prototype for 'no_colors_theme' scripts/kconfig/nconf.c:455: warning: no previous prototype for 'process_special_keys' scripts/kconfig/nconf.c:487: warning: no previous prototype for 'get_next_hot' scripts/kconfig/nconf.c:506: warning: no previous prototype for 'canbhot' scripts/kconfig/nconf.c:514: warning: no previous prototype for 'is_hot' scripts/kconfig/nconf.c:522: warning: no previous prototype for 'make_hot' scripts/kconfig/nconf.c:582: warning: no previous prototype for 'item_make' scripts/kconfig/nconf.c:626: warning: no previous prototype for 'item_add_str' scripts/kconfig/nconf.c:656: warning: no previous prototype for 'item_tag' scripts/kconfig/nconf.c:668: warning: no previous prototype for 'curses_item_index' scripts/kconfig/nconf.c:673: warning: no previous prototype for 'item_data' scripts/kconfig/nconf.c:684: warning: no previous prototype for 'item_is_tag' scripts/kconfig/nconf.c:691: warning: no previous prototype for 'set_config_filename' Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02kconfig: new configuration interface (nconfig)nir.tzachar@gmail.com
This patch was inspired by the kernel projects page, where an ncurses replacement for menuconfig was mentioned (by Sam Ravnborg). Building on menuconfig, this patch implements a more modern look interface using ncurses and ncurses' satellite libraries (menu, panel, form). The implementation does not depend on lxdialog, which is currently distributed with the kernel. Signed-off-by: Nir Tzachar <nir.tzachar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02menuconfig: wrap long help linesVadim Bendebury (вб)
Help text for certain config options is very extensive (the text includes the names of all other options the option in question depends on). Long lines are not wrapped, making it impossible to see the list without scrolling horizontally. This patch adds some logic which wraps help screen lines at word boundaries to prevent truncating. Tested by running ARCH=powerpc make menuconfig O=/tmp/build which shows that the long lines are now wrapped, and ARCH=powerpc make xconfig O=/tmp/build to demonstrate that it still compiles and operates as expected. Signed-off-by: Vadim Bendebury <vbendeb@google.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-01-06kconfig: Check for if conditions in Kconfig for localmodconfigSteven Rostedt
The streamline_config.pl misses the if conditions for checking dependencies. For Kconfigs with the following construct: if MEDIA_SUPPORT config VIDEO_DEV [...] If VIDEO_DEV was enabled, the script will miss the fact that MEDIA_SUPPORT is also needed. This patch changes streamline_config.pl to include if conditions into the dependencies of configs. Reported-by: Anton Blanchard <anton@sambo.org> Tested-by: Anton Blanchard <anton@sambo.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-01-06kconfig: Create include/generated for localmodconfigSteven Rostedt
If someone downloads a brand new kernel and runs localmodconfig or localyesconfig, the ending result will report: *** Error during update of the kernel configuration. This is because localmodconfig and localyesconfig must create the include/generated directory to place the autoconf.h file. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-12-12kbuild: generate modules.builtinMichal Marek
To make it easier for module-init-tools and scripts like mkinitrd to distinguish builtin and missing modules, install a modules.builtin file listing all builtin modules. This is done by generating an additional config file (tristate.conf) with tristate options set to uppercase 'Y' or 'M'. If we source that config file, the builtin modules appear in obj-Y. Signed-off-by: Michal Marek <mmarek@suse.cz>
2009-12-12kbuild: create include/generated in silentoldconfigMichal Marek
The toplevel Makefile creates the directory if it runs silentoldconfig automatically, but if run manually, it fails: $ make mrproper $ make defconfig && make silentoldconfig *** Default configuration is based on 'x86_64_defconfig' # # configuration written to .config # scripts/kconfig/conf -s arch/x86/Kconfig *** Error during update of the kernel configuration. ... Move the mkdir command to the silentoldconfig target to make it work. Signed-off-by: Michal Marek <mmarek@suse.cz>
2009-12-12kbuild: move autoconf.h to include/generatedSam Ravnborg
Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2009-12-07Merge branch 'for-next' into for-linusJiri Kosina
Conflicts: kernel/irq/chip.c
2009-12-04tree-wide: fix assorted typos all over the placeAndré Goddard Rosa
That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "channel", "[un]used", "application", "example","hierarchy", "therefore" , "[over|under]flow", "contiguous", "threshold", "enough" and others. Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-11-20kconfig: Fix make O=<dir> local{mod,yes}configSteven Rostedt
When the output directory is something other than the kernel source, the streamline_config script gets confused. This patch passes in the source directory to the script so that it can find the proper files. Reported-by: Peter Zijlstra <peterz@infradead.org> Tested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-11-15kconfig: Mark various internal functions staticJosh Triplett
kconfig's keyword hash, lexer, and parser define various functions used only locally. Declare these functions as static, and regenerate the corresponding generated files. Signed-off-by: Josh Triplett <josh@joshtriplett.org>
2009-10-15kconfig: Make zconf.y work with current bisonJosh Triplett
zconf.y includes zconf.hash.c from the initial code section. zconf.hash.c references the token constants from zconf.y. However, current bison defines the token constants after the initial code section, making zconf.hash.c fail to compile. Move the include of zconf.hash.c later in zconf.y, so bison puts it after the token constants. Signed-off-by: Josh Triplett <josh@joshtriplett.org>
2009-09-20kbuild: add static to prototypesTrevor Keith
Warnings found via gcc -Wmissing-prototypes. Signed-off-by: Trevor Keith <tsrk@tsrk.net> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-09-20gconfig: disable "typeahead find" search in treeviewsDiego Elio 'Flameeyes' Pettenò
When typeahead find is enabled, using 'y', 'n' and 'm' to change the status of the configuration items will also start up the search system, making you jump around the configuration. Disabling the enable_search property does not mean that search is not possible, it only disables the typeahead; to execute a search in the treeview, you can just call it up explicitly (i.e.: on most systems that will be Ctrl-f). Signed-off-by: Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-09-20kconfig: make use of menu_get_ext_help in gconfigCheng Renquan
Futhermore, gconfig interface lack the "search a symbol" function, do later. Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> [sam: fix SEGV in gconfig] Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-09-20kconfig: make use of menu_get_ext_help in "make config"Cheng Renquan
Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-09-20kconfig: make use of menu_get_ext_help in qconfigCheng Renquan
Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-09-20kconfig: make use of menu_get_ext_help in menuconfigCheng Renquan
The removed functions are moved into menu.c for sharing with gconfig & xconfig & config. Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-09-20kconfig: add menu_get_ext_help function to display more informationCheng Renquan
The three functions are moved from mconf.c, then they can be shared in all menuconfig & gconfig & xconfig & config. +void menu_get_ext_help(struct menu *menu, struct gstr *help) +static void get_prompt_str(struct gstr *r, struct property *prop) +void get_symbol_str(struct gstr *r, struct symbol *sym) Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-09-20kconfig: add symbol value to help find the real dependCheng Renquan
Sometimes when configuring need to disable some unused item, but the item is selected by many other items, it's hard to find the real dependency which selected it, This patch add every symbol's value accompanied to make it possible to find the real dependency easily. An example is CONFIG_RFKILL, ---------------------- RF switch subsystem support ---------------------- | CONFIG_RFKILL: | | | | Say Y here if you want to have control over RF switches | | found on many WiFi and Bluetooth cards. | | | | To compile this driver as a module, choose M here: the | | module will be called rfkill. | | | | Symbol: RFKILL [=m] | | Prompt: RF switch subsystem support | | Defined at net/rfkill/Kconfig:4 | | Depends on: NET [=y] | | Location: | | -> Networking support (NET [=y]) | | Selected by: IWLCORE [=n] && NETDEVICES [=y] && !S390 [=S390] && PC | | | ----------------------------------------------------------------( 99%)--- Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-08-21kconfig: add missing dependency of conf to localyesconfigSteven Rostedt
There's a dependency missing. $ make localyesconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/basic/hash using config: '/boot/config-2.6.27.25-78.2.56.fc9.x86_64' /bin/sh: line 8: scripts/kconfig/conf: No such file or directory make[1]: *** [localyesconfig] Error 127 make: *** [localyesconfig] Error 2 Thus the script failed to run. But the sed command that converts the '=m' to '=y' still ran. This gives us a distro config with all modules converted to built in! The missing dependency was for conf for localyesconfig. This dependency was already set for localmodconfig. Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: test if a .config already existsSteven Rostedt
If one were to run localmodconfig or localyesconfig without having a .config already in the file, then the end of the process would give a warning when it tries to move the old .config to .config.old. This patch adds a test to check if .config exists and avoid the moves if it does not. [ Impact: remove warning after make localmodconfig ] Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: make local .config default for streamline_configSteven Rostedt
As Andi Kleen pointed out, most people would expect that the local .config file to be based for a streamline config. This patch changes the order of searching for a config file to consider the .config in the local directory first. Reported-by: Andi Kleen <andi@firstfloor.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: test for /boot/config-uname after /proc/config.gz in localconfigSteven Rostedt
Many distros put their config in /boot/config-`uname -r`, add a check for that right after /proc/config.gz Reported-by: Alan Jenkins <sourcejedi.lkml@googlemail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: unset IKCONFIG_PROC and clean up nestingSteven Rostedt
Due to cut and paste error IKCONFIG was both set and cleared. It was suppose to be IKCONFIG_PROC to be cleared. Also cleaned up if nesting. Reported-by: Alan Jenkins <sourcejedi.lkml@googlemail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: search for a config to base the local(mod|yes)config onSteven Rostedt
Instead of using the .config in the local directory. This patch changes streamline_config.pl to search various locations for a config. Here's the list and order of search: /proc/config.gz /boot/vmlinuz-`uname -r` vmlinux # local to the directory /lib/modules/`uname -r`/kernel/kernel/configs.ko kernel/configs.ko kernel/configs.o .config Once it finds a file that contains a config (it checks if the binary objects have configs first) it then uses it to create the .config with minimum modules needed. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: enable CONFIG_IKCONFIG from streamline_config.plSteven Rostedt
Ingo Molnar suggested that the streamline_config.pl should enable CONFIG_IKCONFIG to keep the current config in the kernel. Then we can use scripts/extract-ikconfig to find the current modules. This patch changes streamline_config.pl to check if CONFIG_IKCONFIG is not set, and if it is not, it enables it to be a module. [ Impact: make current config options easier to find ] Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: do not warn about modules built inSteven Rostedt
The streamline_config.pl finds all the configs that are needed to compile the currently loaded modules. After it creates the .config file, it tests to make sure all the configs that are needed were set. It only looks at the configs that are modules, it does not look at the builtin configs. This causes unnecessary warnings about modules not being covered. Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: streamline_config.pl do not stop with no dependsSteven Rostedt
If a config does not have a prompt, it must be selected. streamline_config.pl keeps track of all configs that select other configs. If a config that does not have a prompt needs to be set to enable a current module, it will include all configs that select it. Note, streamline_config.pl does not enable modules that are not already enabled. It only keeps enabled those that were enabled and might be needed to compile the current modules. The code to find the selects of a config is after the code that adds the depends. But if a config needed selects but had no dependencies, it would not be set. Because the code would stop before getting to the select. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: add make localyesconfig optionSteven Rostedt
This adds the option localyesconfig to make. This is similar to localmodconfig, but after it removes unnecessary modules it runs sed -i s/=m/=y/ on the .config file. It then runs "make silentoldconfig" to fix any wholes that were created by the conversion of modules to core. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: make localmodconfig to run streamline_config.plSteven Rostedt
Running the streamline_config.pl script manually can still be confusing for some users. This patch adds the localmodconfig option. This will automatically run streamline_config.pl on the current .config and then run "make silentoldconfig" to fix any wholes that might have been created. $ make localmodconfig This will remove any module configurations in .config that are not needed to compile the modules that are loaded. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-08-18kconfig: add streamline_config.pl to scriptsSteven Rostedt
streamline_config.pl is a very powerful tool. For those that install a kernel to a new box using the config file from the distribution know that it can take forever to compile the kernel. Making a custom config file that will still boot your box, but bring down the compile time of the kernel can be quit painful, and to ask someone that reported a bug to do this can be a large burdon since that person may not even know how to build a kernel. This script will perform "lsmod" to find all the modules loaded on the current running system. It will read all the Makefiles to map which CONFIG enables a module. It will read the Kconfig files to find the dependencies and selects that may be needed to support a CONFIG. Finally, it reads the .config file and removes any module "=m" that is not needed to enable the currently loaded modules. The output goes to standard out. Here's a way to run the script. From the Linux directory that holds a distribution .config. $ scripts/kconfig/streamline_config.pl arch/x86/Kconfig > config-sl $ mv .config config-save $ mv config-sl .config $ make oldconfig Now you have a .config that will still build all your modules, but also take much less time to build the kernel. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>