03 Aug, 2010
5 commits
-
Consider following kconfig file:
config TEST1
bool "test 1"
depends on TEST2config TEST2
bool "test 2"
depends on TEST1Previously kconfig would report:
foo:6:error: found recursive dependency: TEST2 -> TEST1 -> TEST2
With the following patch kconfig reports:
foo:5:error: recursive dependency detected!
foo:5: symbol TEST2 depends on TEST1
foo:1: symbol TEST1 depends on TEST2Note that we now report where the offending symbols are defined.
This can be a great help for complex situations involving
several files.Patch is originally from Roman Zippel with a few adjustments by Sam.
Signed-off-by: Sam Ravnborg
Cc: Roman Zippel
Signed-off-by: Michal Marek -
When we add a new config symbol save the file/line
so we later can refer to their location.The information is saved as a property to a config symbol
because we may have multiple definitions of the same symbol.This has the side-effect that a symbol always has
at least one property.Signed-off-by: Sam Ravnborg
Cc: Roman Zippel
Signed-off-by: Michal Marek -
Rename to a name that better match the other kconfig targets.
listnewconfig shall read as:
- list new options compared to current configuration
New options are now written to stdout so one can redirect the output.
Do not exit with an error code if there is new options.
These are feature changes compared to the original
nonint_oldconfig - but as this feature has not yet been in a
released kernel it should not matter.It is still possible to do:
make listnewconfig
lookup new config options in Kconfig*
edit .configSigned-off-by: Sam Ravnborg
Cc: Aristeu Rozanski
Acked-by: Aristeu Rozanski
Signed-off-by: Michal Marek -
Rename target to something that fall more in line
with the other kconfig targets.oldnoconfig shall read as:
- read the old configuration and set all new options to no
Signed-off-by: Sam Ravnborg
Cc: Aristeu Rozanski
Signed-off-by: Michal Marek -
The list of options supported by conf is growing
and their abbreviation did not resemble anything usefull.So drop the single letter options in favour of long options.
The long options are named equal to what we know from
the make target.
The internal implmentation was changed to match this,
resulting in much more readable code.Support for short options is dropped - no one is supposed
to call this program direct anyway.Signed-off-by: Sam Ravnborg
Signed-off-by: Michal Marek
29 Jul, 2010
1 commit
-
There seems to be a kconfig bug due to MODULES not always being
evaluated if no .config is found. Take the following Kconfig as an
example:config MODULES
def_bool yconfig FOO
def_tristate mWith no .config, the following configuration is generated:
CONFIG_MODULES=y
CONFIG_FOO=yWith an empty .config, the following:
CONFIG_MODULES=y
CONFIG_FOO=mTristate choice statements can also exhibit the problem, due to having an
implicit rev_dep (select) containing "m".The problem is that MODULES is never evaluted in conf_read_simple() unless
there's a .config. The following patch fixes this.Signed-off-by: Ulf Magnusson
Reviewed-by: WANG Cong
Signed-off-by: Michal Marek
26 Jul, 2010
1 commit
-
Give boolean symbols a 50% chance of getting enabled, rather than 67%.
Signed-off-by: Peter Korsgaard
Acked-by: Sam Ravnborg
Signed-off-by: Michal Marek
08 Jul, 2010
1 commit
-
This makes it so "make oldconfig" really prompts for any choice where
options that previously weren't visible just became so. Previously one
would have to remember to go over all choice values and check whether
some that previously couldn't be selected now can be.Signed-off-by: Jan Beulich
Signed-off-by: Michal Marek
02 Jul, 2010
1 commit
-
The "select" statement in Kconfig files allows the enabling of options
even if they have unmet direct dependencies (i.e. "depends on" expands
to "no"). Currently, the "depends on" clauses are used in calculating
the visibility but they do not affect the reverse dependencies in any
way.The patch introduces additional tracking of the "depends on" statements
and prints a warning on selecting an option if its direct dependencies
are not met.Signed-off-by: Catalin Marinas
Cc: Sam Ravnborg
Cc: Arnd Bergmann
Cc: Andrew Morton
Cc: Linus Torvalds
Signed-off-by: Michal Marek
12 Jun, 2010
1 commit
-
Not sure if this is correct or not, but with
make menuconfig
HOSTCC scripts/kconfig/conf.o
scripts/kconfig/conf.c: In function 'conf_sym':
scripts/kconfig/conf.c:159:6: warning: variable 'type' set but not used
scripts/kconfig/conf.c: In function 'conf_choice':
scripts/kconfig/conf.c:231:6: warning: variable 'type' set but not used
HOSTLD scripts/kconfig/mconfI get this using gcc 4.6.0 the below change fixes this form me.
Signed-off-by: Justin P. Mattock
Signed-off-by: Michal Marek
03 Jun, 2010
2 commits
-
Truncate list items to fit in a single line, otherwise those items
which have long prompts will cover some other items.This follows the behavior of menubox.
Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
Run:
make ARCH=arm menuconfigAnd then select "System Type" -> "ARM system type". The kconfig
"choice" menu at this point looks empty.It's because config ARCH_S3C2410 has a long prompt:
config ARCH_S3C2410
bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450"
...menuconfig centers the checklist according to this prompt without
considering the width of the list, and then things get wrong.Reported-by: Nobin Mathew
Signed-off-by: Li Zefan
Signed-off-by: Michal Marek
02 Jun, 2010
10 commits
-
This feature has been supported in menuconfig and gconfig, so
here add it to xconfig.Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
Remove ConfigInfoView::setSource().
Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
@ok is a pointer to a bool var, so we should check the value of
*ok. But actually we don't need to check it, so just remove the
if statement.Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
In gconfig if you enable "Show all options", you'll see some "(null)"
config options, and clicking those options triggers a warning:(gconf:9368): Gtk-CRITICAL **: gtk_text_buffer_insert_with_tags: assertion `text != NULL' failed
Signed-off-by: Li Zefan
Acked-by: Randy Dunlap
Signed-off-by: Michal Marek -
The logic should be reversed.
Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
Suggested-by: Randy Dunlap
Signed-off-by: Li Zefan
Acked-by: Randy Dunlap
Signed-off-by: Michal Marek -
Those configs are not new:
$ cat .config
...
CONFIG_NAMESPACES=y
...
CONFIG_BLOCK=y
...But are tagged as NEW:
$ yes "" | make config > myconf
$ cat myconf | grep '(NEW)'
Namespaces support (NAMESPACES) [Y/?] (NEW) y
...
Enable the block layer (BLOCK) [Y/?] (NEW) y
...You can also notice this bug when using gconfig/xconfig.
It's because the SYMBOL_DEF_USER bit of an invisible symbol is cleared
when the config file is read:int conf_read(const char *name)
{
...
for_all_symbols(i, sym) {
if (sym_has_value(sym) && !sym_is_choice_value(sym)) {
/* Reset values of generates values, so they'll appear
* as new, if they should become visible, but that
* doesn't quite work if the Kconfig and the saved
* configuration disagree.
*/
if (sym->visible == no && !conf_unsaved)
sym->flags &= ~SYMBOL_DEF_USER;
...
}But a menu item which represents an invisible symbol is still
visible, if it's sub-menu is visible, so its SYMBOL_DEF_USER
bit should be set to indicate it's not NEW.Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
Without this patch, one has to refer to the Kconfig file to find
out the range of an integer/hex symbol.│ Symbol: NR_CPUS [=4]
│ Type : integer
│ Range : [2 8]
│ Prompt: Maximum number of CPUs
│ Defined at arch/x86/Kconfig:761
│ Depends on: SMP [=y] && !MAXSMP [=n]
│ Location:
│ -> Processor type and featuresSigned-off-by: Li Zefan
Signed-off-by: Michal Marek -
Randy suggested to print out the symbol type in gconfig.
Note this change does more than Randy's suggestion, that it also
affects menuconfig and "make config".│ Symbol: BLOCK [=y]
│ Type : boolean
│ Prompt: Enable the block layer
│ Defined at block/Kconfig:4
│ Depends on: EMBEDDED [=n]Signed-off-by: Li Zefan
Acked-by: Randy Dunlap
Signed-off-by: Michal Marek -
This patch has been around for a long time in Fedora and Red Hat Enterprise
Linux kernels and it may be useful for others. The nonint_oldconfig target
will fail and print the unset config options while loose_nonint_oldconfig will
simply let the config option unset. They're useful in distro kernel packages
where the config files are built using a combination of smaller config files.Arjan van de Ven wrote the initial nonint_config and Roland McGrath added the
loose_nonint_oldconfig.Signed-off-by: Arjan van de Ven [defunct email]
Whatevered-by: Kyle McMartin
Acked-by: Arjan van de Ven
Acked-by: Randy Dunlap
Signed-off-by: Aristeu Rozanski
[mmarek: whitespace fixes]
Signed-off-by: Michal Marek
27 May, 2010
1 commit
-
A more complete patch in the kernel-doc tree also contains this change.
Reported-by: Stephen Rothwell
Signed-off-by: Michal Marek
06 May, 2010
1 commit
-
I'm looking Makefile in the -mm branch (dated 2010-04-28-16-53) and
seeing what looks like a bug in the checking of scm-identifier. The
"ifneq ($scm-identifier)" seems to always execute "ifeq
($(LOCALVERSION,)) ...". This patch fixes the checking of
scm-identifier.Signed-off-by: Greg Thelen
Acked-by: David Rientjes
Signed-off-by: Michal Marek
14 Apr, 2010
6 commits
-
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
Signed-off-by: Michal Marek -
Usage:
Press 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 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 TracerHere you can see 2 tracers are not selectable, and then can find
out how to make them selectable.Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
This option is a no-op, so remove it.
Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
Just use sym_get_type() and prop_get_type_name().
Signed-off-by: Li Zefan
Signed-off-by: Michal Marek -
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
Signed-off-by: Michal Marek -
- fix a typo in documentation
- fix a typo in a printk on error
- fix comments in dialog_inputbox()Signed-off-by: Li Zefan
Signed-off-by: Michal Marek
08 Apr, 2010
1 commit
-
Signed-off-by: Jan III Sobieski
Signed-off-by: Michal Marek
23 Mar, 2010
4 commits
-
Expand the dependency set used for the initrd to include the
CONFIG_INITRAMFS_SOURCE file and the generator script itself.
Otherwise changing the initramfs file list does not rebuild the CPIO.Signed-off-by: Jason Gunthorpe
Signed-off-by: Michal Marek -
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
Signed-off-by: Michal Marek -
Ignore files compressed with lzop.
Signed-off-by: Philipp Kohlbecher
Signed-off-by: Michal Marek -
Minor perlcritic warning:
headerdep.pl: "return" statement with explicit "undef" at line 84, column 2. See page 199 of PBP. (Severity: 5)The rationale according to PBP is that an explicit return of undef
(contrary to most people's expectations) doesn't
always evaluate as false. It has to with the fact that perl return value
depends on context the function is called. If function is used in
list context, the appropriate return value for false is an empty list;
whereas in scalar context the return value for false is undefined.
By just using a "return" both cases are handled.In the context of a trivial script this doesn't matter. But one script
may be cut-paste into later code (most people like me only know 50%
of perl), that is why perlcritic always complainsSigned-off-by: Stephen Hemminger
Signed-off-by: Michal Marek
11 Mar, 2010
1 commit
-
The output of LZO is not aligned with the other output:
...
CC drivers/usb/mon/usbmon.mod.o
LZO arch/mips/boot/compressed/vmlinux.lzo
...This patch fixes it.
Signed-off-by: Wu Zhangjin
Signed-off-by: Michal Marek
10 Mar, 2010
1 commit
-
The previous approach didn't work if one did
make modules && make modules_install
Add modules.builtin as dependency of _modinst_, which is the target that
actually needs the file.Reported-by: Andrew Morton
Signed-off-by: Michal Marek
08 Mar, 2010
3 commits
-
This reverts commit eb8f844c0a41c4529a7d06b7801296eca9ae67aa. Ian
Campbell writes:
> I keep my kernel source tree on a more powerful build box where I run my
> builds etc (including "make cscope") but run my editor from my
> workstation with an NFS mount to the source. This worked fine for me
> using relative paths for cscope. Using absolute paths in cscope breaks
> this previously working setup because the root path is not the same on
> both systems. I guess this is similar to moving the source tree around.
>
> Without wanting to start a flamewar it really sounds to me like we are
> working around a vim (or cscope) bug here, emacs with cscope bindings
> works fine in this configuration.Given that absolute paths can be forced by make O=. cscope, change the
default back to relative paths.Ian Campbell
Cc: Daniel Vetter
Signed-off-by: Michal Marek -
Only regenerate it if the configuration has changed. Also, do this after
the modules build to fix errors with some weird Makefiles that are
generated during build.Reported-by: Eric Miao
Signed-off-by: Michal Marek -
Better practice to use 3 arg open and local file handles.
Signed-off-by: Stephen Hemminger
Acked-by: WANG Cong
Cc: Michal Marek
Signed-off-by: Andrew Morton
Signed-off-by: Michal Marek