20 Sep, 2009
8 commits
-
Warnings found via gcc -Wmissing-prototypes.
Signed-off-by: Trevor Keith
Acked-by: WANG Cong
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg -
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ò
Cc: Roman Zippel
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg -
Futhermore, gconfig interface lack the "search a symbol" function, do later.
Signed-off-by: Cheng Renquan
Cc: Roman Zippel
[sam: fix SEGV in gconfig]
Signed-off-by: Sam Ravnborg -
Signed-off-by: Cheng Renquan
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg -
Signed-off-by: Cheng Renquan
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg -
The removed functions are moved into menu.c for sharing with
gconfig & xconfig & config.Signed-off-by: Cheng Renquan
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg -
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
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg -
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
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg
22 Aug, 2009
1 commit
-
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 2Thus 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
Signed-off-by: Steven Rostedt
19 Aug, 2009
11 commits
-
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
-
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
Signed-off-by: Steven Rostedt -
Many distros put their config in /boot/config-`uname -r`, add a check
for that right after /proc/config.gzReported-by: Alan Jenkins
Signed-off-by: Steven 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
Signed-off-by: Steven 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
.configOnce 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
-
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
Signed-off-by: Steven 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
Signed-off-by: Steven 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
-
This adds the option localyesconfig to make. This is similar to
localmodconfig, but after it removes unnecessary modules it runssed -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
-
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
-
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 oldconfigNow 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
18 Jul, 2009
2 commits
-
This is needed on non ncurses based implementation to get a properly
initialized `stdscr' in main().Cc: Roman Zippel
Signed-off-by: Sam Ravnborg -
Fix build on non GNU based platforms.
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg
10 Jun, 2009
10 commits
-
Regardless of KCONFIG_AUTOCONFIG, the filename written as a Make target
into "include/config/auto.conf.cmd" was always the default one.Of course this doesn't make it work for the Kernel kbuild system, since
there the filename is hardcoded at several places in the Makefiles.Signed-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
Rather than hardcoding ".config" use conf_get_configname(), which also
respects the environment variable KCONFIG_CONFIG.This fixes "make silentoldconfig" when KCONFIG_CONFIG is used and also
suggests the given filename for "Load" and "Save as" in qconf.Signed-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
QApplication::desktop() returns a pointer to QDesktopWidget, not to
QWidget.Fixes the following compiler error after a quick conversion with 'qt3to4',
which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2.scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()':
scripts/kconfig/qconf.cc:1289: error: cannot convert 'QDesktopWidget*' to 'QWidget*' in initializationSigned-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
They are defined in the 'Qt' namespace.
Fixes the following compiler errors after a quick conversion with 'qt3to4',
which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2.scripts/kconfig/qconf.cc: In member function 'virtual void ConfigLineEdit::keyPressEvent(QKeyEvent*)':
scripts/kconfig/qconf.cc:311: error: 'Key_Escape' was not declared in this scope
scripts/kconfig/qconf.cc:313: error: 'Key_Return' was not declared in this scope
scripts/kconfig/qconf.cc:314: error: 'Key_Enter' was not declared in this scopescripts/kconfig/qconf.cc: In member function 'virtual void ConfigList::keyPressEvent(QKeyEvent*)':
scripts/kconfig/qconf.cc:653: error: 'Key_Escape' was not declared in this scope
scripts/kconfig/qconf.cc:666: error: 'Key_Return' was not declared in this scope
scripts/kconfig/qconf.cc:667: error: 'Key_Enter' was not declared in this scope
scripts/kconfig/qconf.cc:681: error: 'Key_Space' was not declared in this scope
scripts/kconfig/qconf.cc:684: error: 'Key_N' was not declared in this scope
scripts/kconfig/qconf.cc:687: error: 'Key_M' was not declared in this scope
scripts/kconfig/qconf.cc:690: error: 'Key_Y' was not declared in this scopescripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()':
scripts/kconfig/qconf.cc:1329: error: 'CTRL' was not declared in this scope
scripts/kconfig/qconf.cc:1329: error: 'Key_Q' was not declared in this scope
scripts/kconfig/qconf.cc:1331: error: 'Key_L' was not declared in this scope
scripts/kconfig/qconf.cc:1333: error: 'Key_S' was not declared in this scope
scripts/kconfig/qconf.cc:1340: error: 'Key_F' was not declared in this scopeSigned-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
They were used as QSplitter::Horizontal resp. QSplitter::Vertical, but
are defined in the 'Qt' namespace.Fixes the following compiler errors after a quick conversion with 'qt3to4',
which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2.scripts/kconfig/qconf.cc: In constructor 'ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow*, const char*)':
scripts/kconfig/qconf.cc:1213: error: 'Vertical' is not a member of 'QSplitter'scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()':
scripts/kconfig/qconf.cc:1304: error: 'Horizontal' is not a member of 'QSplitter'
scripts/kconfig/qconf.cc:1311: error: 'Vertical' is not a member of 'QSplitter'Signed-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
These compiler warnings occure when adding -Wall to HOSTCXXFLAGS in
/Makefilescripts/kconfig/qconf.h: In constructor ‘ConfigInfoView::ConfigInfoView(QWidget*, const char*)’:
scripts/kconfig/qconf.h:274: warning: ‘ConfigInfoView::menu’ will be initialized after
scripts/kconfig/qconf.h:273: warning: ‘symbol* ConfigInfoView::sym’
scripts/kconfig/qconf.cc:922: warning: when initialized herescripts/kconfig/qconf.cc: In member function ‘void ConfigMainWindow::setMenuLink(menu*)’:
scripts/kconfig/qconf.cc:1498: warning: enumeration value ‘menuMode’ not handled in switch
scripts/kconfig/qconf.cc:1498: warning: enumeration value ‘listMode’ not handled in switchscripts/kconfig/qconf.cc: In member function ‘void ConfigMainWindow::saveSettings()’:
scripts/kconfig/qconf.cc:1664: warning: enumeration value ‘menuMode’ not handled in switch
scripts/kconfig/qconf.cc:1664: warning: enumeration value ‘listMode’ not handled in switchSigned-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
Signed-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
Signed-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
Signed-off-by: Markus Heidelberg
Signed-off-by: Sam Ravnborg -
Implement support for comment entries within choice groups. Comment entries
are displayed visually distinct from normal configs, and selecting them is
a no-op.Signed-off-by: Peter Korsgaard
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg
11 Apr, 2009
1 commit
-
Massimo Maiurana reported (slightly edited):
=====
In latest 2.6.29 "make update-po-config" fails at msguniq invocation
with an "invalid control sequence" error.
The offending string is the following, and it's located in
drivers/staging/panel/Kconfig:72:"'\e[L' which are specific to the LCD, and a few ANSI codes. The"
looks to me like gettext expects strings in printf format, so in
this case it thinks "\e" is a control sequence but doesn't recognise
it as a valid one.A valid solution would be to tell kxgettext to automatically
escape this kind of strings in the */config.pot he produces, so that
msguniq would not complain.
=====This patch implements the suggested escaping.
Reported-by: Massimo Maiurana
Tested-by: Massimo Maiurana
Signed-off-by: Sam Ravnborg
16 Mar, 2009
2 commits
-
'make randconfig' uses glibc's rand function, and the seed of
that PRNG is set via:srand(time(NULL));
But 'time()' only increases once every second - freezing the
randconfig result within a single second.My Nehalem testbox does randconfig much faster than 1 second
and i have a few scripts that do 'randconfig until condition X'
loops.Those scripts currently waste a lot of CPU time due to randconfig
changing its seed only once per second currently.Change the seed to be micrseconds based. (I checked the statistical
spread of the seed - the now.tv_sec*now.tv_usec multiplication
there further improves it.)Signed-off-by: Ingo Molnar
Cc: Roman Zippel
[sam: fix for systems where usec is zero - noticed by Geert Uytterhoeven]
Signed-off-by: Sam Ravnborg -
Ingo Molnar reported that 'make randconfig' was not covering
choice blocks properly, resulting in certain config options
being left out of randconfig testing altogether.With the following patch we:
- properly randomize choice value for normal choice blocks
- properly randomize for multi choice blocks
- added several comments to explain what is going onThe root cause of the bug was that SYMBOL_VALID was set on the
symbol representing the choice block so clearing this did
the trick initially.
But testign revealed a few more issues that is now fixed.Reported-by: Ingo Molnar
Cc: Ingo Molnar
Cc: Roman Zippel
Signed-off-by: Sam Ravnborg
03 Jan, 2009
4 commits
-
We now say where we detect the second source of a file,
and where we detect a recursively source of the same file.
This makes it easier to fix such errors.Signed-off-by: Sam Ravnborg
Cc: Roman Zippel -
No functional changes
Signed-off-by: Sam Ravnborg
-
No functional changes - only comments.
Signed-off-by: Sam Ravnborg
-
Added a few comments - no functional change.
Signed-off-by: Sam Ravnborg
04 Dec, 2008
1 commit
-
As noted by Bernhard - fix it up.
Cc: Bernhard Reutner-Fischer
Signed-off-by: Sam Ravnborg