History log of /scripts/kconfig/confdata.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
70cc01e7579cdb71f42f3f7085ab457be7808783 22-Oct-2011 Peter Foley <pefoley2@verizon.net> kconfig: use xfwrite wrapper function to silence warnings

Use the xfwrite wrapper function defined in lkc.h to check the return value of
fwrite and silence these warnings.

HOSTCC scripts/kconfig/zconf.tab.o
scripts/kconfig/zconf.tab.c: In function 'header_print_comment':
/usr/src/lto/scripts/kconfig/confdata.c:551:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
scripts/kconfig/zconf.tab.c: In function 'kconfig_print_comment':
/usr/src/lto/scripts/kconfig/confdata.c:467:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result

Signed-off-by: Peter Foley <pefoley2@verizon.net>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
953742c8fe8ac45be453fee959d7be40cd89f920 16-Aug-2011 Arnaud Lacombe <lacombar@gmail.com> kconfig: fix __enabled_ macros definition for invisible and un-selected symbols

__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>
/scripts/kconfig/confdata.c
2a11c8ea20bf850b3a2c60db8c2e7497d28aba99 20-Jul-2011 Michal Marek <mmarek@suse.cz> kconfig: Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE()

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>
/scripts/kconfig/confdata.c
eb4cf5a642f6430cffff7ba5d8d9bd46ea409281 14-Jul-2011 Arnaud Lacombe <lacombar@gmail.com> kconfig: fix missing "0x" prefix from S_HEX symbol in autoconf.h

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>
/scripts/kconfig/confdata.c
e54e692ba613c2170c66ce36a3791c009680af08 16-May-2011 Arnaud Lacombe <lacombar@gmail.com> kconfig: introduce specialized printer

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>
/scripts/kconfig/confdata.c
36fee53510f91d8ac5eb5dcba0e431a21ebdd5cd 08-Jun-2011 Michal Marek <mmarek@suse.cz> Merge branch 'kconfig-trivial' of git://github.com/lacombar/linux-2.6 into kbuild/kconfig
5a6f8d2bd9e3392569ed6f29ea4d7210652f929b 01-Jun-2011 Arnaud Lacombe <lacombar@gmail.com> 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 <lacombar@gmail.com>
/scripts/kconfig/confdata.c
10a4b2772e7643247ddb5316c644f1fe7c4dccca 01-Jun-2011 Arnaud Lacombe <lacombar@gmail.com> kconfig: add missing <stdarg.h> inclusion

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

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
/scripts/kconfig/confdata.c
75f1468beaeca690e139b4e1bcd19aa20973fca9 31-May-2011 Arnaud Lacombe <lacombar@gmail.com> kconfig: fix return code for invalid boolean symbol in conf_set_sym_val()

Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
/scripts/kconfig/confdata.c
d8fc320079b46cf462897148f48d4a63f37f56ce 31-May-2011 Arnaud Lacombe <lacombar@gmail.com> kconfig: annotate non-trivial fall-trough

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
/scripts/kconfig/confdata.c
4c54f0f846102b05efcc99114ada2b913baab161 17-May-2011 Michal Marek <mmarek@suse.cz> kconfig: Only generate config_is_xxx for bool and tristate options

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>
/scripts/kconfig/confdata.c
51f31afd12b28eddccd29a94ffbd41cb15eadd39 24-May-2011 Michal Marek <mmarek@suse.cz> Merge branch 'kbuild/kconfig-for-40' into kbuild/kconfig
bdebd4892e05cc9068659f25af33c6b322034eb2 16-May-2011 Arnaud Lacombe <lacombar@gmail.com> kconfig: do not record timestamp in .config

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
de125187dc17e3715ba983adf60faecfdc3a64c4 06-May-2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> kconfig: autogenerated config_is_xxx macro

this will allow to use to use

if(config_is_xxx())
if(config_is_xxx_module())

in the code instead of

#ifdef CONFIG_xxx
#ifdef CONFIG_xxx_MODULE

and now let the compiler remove the non usefull code and not the
pre-processor

as done in the mach-types for arm as exmaple

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
c33724a43875786719f51916311308f2752d846e 28-Apr-2009 Michal Marek <mmarek@suse.cz> kconfig: Do not record timestamp in auto.conf and autoconf.h

Timestamps in file data are useless and there is already one in .config

Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
579fb8e741fecef7dfd64afcc7b0b0c68ea207cc 05-Dec-2010 Arnaud Lacombe <lacombar@gmail.com> kconfig: fix typos

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
0dce631092f410bb22b21b3d47ef20d69389dfd9 05-Dec-2010 Arnaud Lacombe <lacombar@gmail.com> kconfig: nuke second argument of conf_write_symbol()

Replacing S_TRISTATE by S_BOOLEAN is a no-op for conf_write_symbol().

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
[mmarek: Fix unused variable warning in conf_write()]
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
6e71fabe9e60b1c6db587fbeac349848647920ab 05-Dec-2010 Arnaud Lacombe <lacombar@gmail.com> kconfig: do not define AUTOCONF_INCLUDED

AUTOCONF_INCLUDED is not checked is not used within the tree and its parent
header, `autoconf.h', is safe to be re-included.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
70c74e59db7450d5c9164abeb3b6752f8045288b 28-Oct-2010 Michal Marek <mmarek@suse.cz> Merge branch 'message-callback' into kbuild/kconfig

Conflicts:
scripts/kconfig/nconf.c
1408b15b98635a13bad2e2a50b3c2ae2ccdf625b 22-Sep-2010 Will Newton <will.newton@gmail.com> kconfig: Use PATH_MAX instead of 128 for path buffer sizes.

This prevents the buffers being overflowed when using a config
file with a long name. PATH_MAX is used elsewhere in the same
file, so use it here as well.

Signed-off-by: Will Newton <will.newton@imgtec.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
8bea7548ee0223175bea5fddcc54af93bd252d9b 30-Sep-2010 Naohiro Aota <naota@elisp.net> kconfig: Don't go out from read config loop when you read new symbol

commit 8baefd30b5b0101aa07aa75da44a9eee881eed28 of linux-next replaced
a `switch()' statement with some `if()' statements, but left `break's
in the `switch()' statement untouched. This cause read config loop to
exit and so "make oldconfig" is not much usable (see below).

> $ make oldconfig
><snip>
> scripts/kconfig/conf --oldconfig Kconfig
> #
> # using defaults found in /boot/config-2.6.34-ccs-r1
> #
> *
> * Restart config...
> *
> *
> * General setup
> *
> Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [N/y/?] (NEW)

(I've already have "CONFIG_EXPERIMENTAL=y" in the old config file. But
that's not read here.)

This patch should fix this problem.

Signed-off-by: Naohiro Aota <naota@elisp.net>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
0954828fcbf3bd13d593499b16b901a4e801b0b9 18-Aug-2010 Arnaud Lacombe <lacombar@gmail.com> kconfig: replace KERNELVERSION usage by the mainmenu's prompt

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
ffb5957bc48f64f0773fd3fbc43cb9bb9b38e270 15-Aug-2010 Arnaud Lacombe <lacombar@gmail.com> kconfig: allow build-time definition of the internal config prefix

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
8baefd30b5b0101aa07aa75da44a9eee881eed28 24-Aug-2010 Arnaud Lacombe <lacombar@gmail.com> kconfig: replace a `switch()' statement by a more flexible `if()' statement

With the upcoming dynamical configuration prefix, we can no longer assume that
the prefix will start by a 'C'. As such, we can no longer hardcode this value in
the `case ...:', so replace the `switch() { ... }' statement by a more flexible
'if () { ... }' statement.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
42368c37fbd51f7b478d041ae55c5df000897158 17-Aug-2010 Michal Marek <mmarek@suse.cz> kconfig: Allow frontends to display messages themselves

Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
94bedeca77bf79a81952ed4c3abb8c1cce4c85dd 17-Aug-2010 Arnaud Lacombe <lacombar@gmail.com> kbuild: confdata.c explicitly reference errno, thus need <errno.h>

This fixes:
% gmake LKC_GENPARSER=1 menuconfig
[...]
scripts/kconfig/confdata.c:739: error: 'errno' undeclared (first use in this function)
scripts/kconfig/confdata.c:739: error: (Each undeclared identifier is reported only once
scripts/kconfig/confdata.c:739: error: for each function it appears in.)
scripts/kconfig/confdata.c:739: error: 'ENOENT' undeclared (first use in this function)

triggered on NetBSD.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
84062dd3a6a045395a43de1d9adc9b8eb2d1426e 14-Aug-2010 Sam Ravnborg <sam@ravnborg.org> kconfig: fix savedefconfig with choice marked optional

savedefconfig failed to save the correct minimal config
when it encountered a choice marked optional.

Consider following minimal configuration:
$cat Kconfig
choice
prompt "choice"
optional

config A
bool "a"

config B
bool "b"

endchoice

$cat .config | grep -v ^#
CONFIG_A=y

$conf --savedefconfig=defconfig Kconfig

would before this fix result in an empty file, because
kconfig would assume that CONFIG_A=y is a default value.
But because the choice is optional the default is that
both A and B are =n.

Fix so we handle optional choices correct.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
bf5e327a300a9ac959a89440e7c67dc89f3bd804 05-Aug-2010 Jean Sacren <sakiwit@gmail.com> kconfig: Fix warning: ignoring return value of 'fwrite'

This fix facilitates fwrite() in both confdata.c and expr.c, either it
succeeds in writing, or an error occurs, or the end of file is reached.

Signed-off-by: Jean Sacren <sakiwit@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
a64b44ead002ba15fdf841106a6fd344b8dd46d8 12-Aug-2010 Sam Ravnborg <sam@ravnborg.org> kconfig: fix tristate choice with minimal config

If a minimal config did not specify the value
of all choice values, the resulting configuration
could have wrong values.

Consider following example:
config M
def_bool y
option modules
choice
prompt "choice list"
config A
tristate "a"
config B
tristate "b"
endchoice

With a defconfig like this:
CONFIG_M=y
CONFIG_A=y

The resulting configuration would have

CONFIG_A=m

which was unexpected.

The problem was not not all choice values were set and thus
kconfig calculated a wrong value.

The fix is to set all choice values when we
read a defconfig files.

conf_set_all_new_symbols() is refactored such that
random choice values are now handled by a dedicated function.
And new choice values are set by set_all_choice_values().

This was not the minimal fix, but the fix that resulted
in the most readable code.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Reported-by: Arve Hjønnevåg <arve@android.com>
Tested-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
801690caf1894d4f8b1277ca9f5dcf0bcf9b3f58 12-Aug-2010 Sam Ravnborg <sam@ravnborg.org> kconfig: fix savedefconfig for tristate choices

savedefconfig failed to save choice symbols equal to 'y'
for tristate choices.
This resulted in this value being lost.

In particular is fixes an issue where

make ARCH=avr32 atngw100_defconfig
make ARCH=avr32 savedefconfig
cp defconfig arch/avr32/configs/atngw100_defconfig
make ARCH=avr32 atngw100_defconfig
diff -u .config .config.old

failed to produce an identical .config.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
7cf3d73b4360e91b14326632ab1aeda4cb26308d 31-Jul-2010 Sam Ravnborg <sam@ravnborg.org> kconfig: add savedefconfig

savedefconfig will save a minimal config to a file
named "defconfig".

The config symbols are saved in the same order as
they appear in the menu structure so it should
be possible to map them to the relevant menus
if desired.

The implementation was tested against several minimal
configs for arm which was created using brute-force.

There was one regression related to default numbers
which had their valid range further limited by another symbol.

Sample:

config FOO
int "foo"
default 4

config BAR
int "bar"
range 0 FOO

If FOO is set to 3 then BAR cannot take a value higher than 3.
But the current implementation will set BAR equal to 4.

This is seldomly used and the final configuration is OK,
and the fix was non-trivial.
So it was documented in the code and left as is.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
49192f266ffa187bd7adaf5c2d881f85bd53e0ed 31-Jul-2010 Sam Ravnborg <sam@ravnborg.org> kconfig: code refactoring in confdata.c

Add a a few local functions to avoid some code duplication
No functional changes.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
ac1ffde1ba053db0266f886a15ed845a6628fcb0 27-Jul-2010 Ulf Magnusson <ulfalizer.lkml@gmail.com> kconfig: fix MODULES-related bug in case of no .config

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 y

config FOO
def_tristate m

With no .config, the following configuration is generated:

CONFIG_MODULES=y
CONFIG_FOO=y

With an empty .config, the following:

CONFIG_MODULES=y
CONFIG_FOO=m

Tristate 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 <ulfalizer.lkml@gmail.com>
Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
1244b41d00eb60cb3d05220383bc9d15b9045fb4 22-Jul-2010 Peter Korsgaard <jacmet@sunsite.dk> kconfig: make randconfig fair for booleans

Give boolean symbols a 50% chance of getting enabled, rather than 67%.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
bc081dd6e9f622c73334dc465359168543ccaabf 07-Dec-2009 Michal Marek <mmarek@suse.cz> kbuild: generate modules.builtin

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>
/scripts/kconfig/confdata.c
264a26838056fc2d759f58bec2e720e01fcb1bdb 18-Oct-2009 Sam Ravnborg <sam@ravnborg.org> kbuild: move autoconf.h to include/generated

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
/scripts/kconfig/confdata.c
4356f4890792a678936c93c9196e8f7742e04535 18-Sep-2009 Trevor Keith <tsrk@tsrk.net> kbuild: add static to prototypes

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>
/scripts/kconfig/confdata.c
12122f62324e7c6837ee8b0fa8d257ce7ebcfc6f 18-May-2009 Markus Heidelberg <markus.heidelberg@web.de> kconfig: do not hardcode "include/config/auto.conf" filename

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 <markus.heidelberg@web.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
184832c981fd38b1052f2dfa0262e793fa6c67d3 15-Mar-2009 Sam Ravnborg <sam@ravnborg.org> kconfig: fix randconfig for choice blocks

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 on

The 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 <mingo@elte.hu>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
ce97e13e52848c6388598696b7d44748598db759 26-Oct-2008 Al Viro <viro@ZenIV.linux.org.uk> fix allmodconfig breakage

If you use KCONFIG_ALLCONFIG (even with empty file) you get broken
allmodconfig/allyesconfig; CONFIG_MODULES gets turned off, with obvious
massive fallout.

Breakage had been introduced when conf_set_all_new_symbols() got used
for allmodconfig et.al.

What happens is that sym_calc_value(modules_sym) done in
conf_read_simple() sets SYMBOL_VALID on both modules_sym and MODULES.
When we get to conf_set_all_new_symbols(), we set sym->def[S_DEF_USER]
on everything, but it has no effect on sym->curr for the symbols that
already have SYMBOL_VALID - these are stuck.

Solution: use sym_clear_all_valid() in there. Note that it makes
reevaluation of modules_sym redundant - sym_clear_all_valid() will do
that itself.

[ Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11512, says Alexey ]

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/scripts/kconfig/confdata.c
661b0680f736e628a6da1cc030c201646587d658 29-Sep-2008 zippel@linux-m68k.org <zippel@linux-m68k.org> kconfig: readd lost change count

Commit f072181e6403b0fe2e2aa800a005497b748fd284 ("kconfig: drop the
""trying to assign nonexistent symbol" warning") simply dropped the
warnings, but it does a little more than that, it also marks the current
.config as needed saving, so add this back.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/scripts/kconfig/confdata.c
f072181e6403b0fe2e2aa800a005497b748fd284 04-Aug-2008 Sam Ravnborg <sam@ravnborg.org> kconfig: drop the ""trying to assign nonexistent symbol" warning

They really stand out now that make *config is less chatty - and
they are generally ignored - so drop them.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Adrian Bunk <bunk@kernel.org>
/scripts/kconfig/confdata.c
dc7862e5a65b9b9e0aad448398b4f652c49c9350 06-May-2008 Roman Zippel <zippel@linux-m68k.org> kconfig: set all new symbols automatically

Add conf_set_all_new_symbols() which set all symbols (which don't have a
value yet) to a specifed value.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
7a962923359768e04137125bd479fd0dfa6117d3 14-Jan-2008 Roman Zippel <zippel@linux-m68k.org> kconfig: explicitly introduce expression list

Rename E_CHOICE to E_LIST to explicitly add support for expression
lists. Add a helper macro expr_list_for_each_sym to more easily iterate
over the list.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
d6ee35764f270c699e165b15dc59f4e55546bfda 07-Jan-2008 Sam Ravnborg <sam@ravnborg.org> kconfig: rename E_OR & friends to avoid name clash

We had macros named the same as a set of enumeration values.
It is legal code but very confusing to read - so rename
the macros from E_* to EXPR_*

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
/scripts/kconfig/confdata.c
d84876f9f8042d5536050b83674c4f348ca3c4df 03-Jan-2008 Jan Engelhardt <jengelh@computergmbh.de> kconfig: allow overriding symbols

Allow config variables in .config to override earlier ones in the same
file. In other words,

# CONFIG_SECURITY is not defined
CONFIG_SECURITY=y

will activate it. This makes it a bit easier to do

cat original-config myconfig myconfig2 ... >.config;
and run *config as expected.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
/scripts/kconfig/confdata.c
6840999b192b1b57d713ddee3761c457a2779036 17-Nov-2007 Sam Ravnborg <sam@ravnborg.org> x86: simplify "make ARCH=x86" and fix kconfig all.config

Simplify "make ARCH=x86" and fix kconfig so we again can set 64BIT in
all.config.

For a fix the diffstat is nice:
6 files changed, 3 insertions(+), 36 deletions(-)

The patch reverts these commits:
- 0f855aa64b3f63d35a891510cf7db932a435c116 ("kconfig: add helper to set
config symbol from environment variable")
- 2a113281f5cd2febbab21a93c8943f8d3eece4d3 ("kconfig: use $K64BIT to
set 64BIT with all*config targets")

Roman Zippel pointed out that kconfig supported string compares so
the additional complexity introduced by the above two patches were
not needed.

With this patch we have following behaviour:

# make {allno,allyes,allmod,rand}config [ARCH=...]
option \ host arch | 32bit | 64bit
=====================================================
./. | 32bit | 64bit
ARCH=x86 | 32bit | 32bit
ARCH=i386 | 32bit | 32bit
ARCH=x86_64 | 64bit | 64bit

The general rule are that ARCH= and native architecture takes
precedence over the configuration.

So make ARCH=i386 [whatever] will always build a 32-bit kernel
no matter what the configuration says. The configuration will
be updated to 32-bit if it was configured to 64-bit and the
other way around.

This behaviour is consistent with previous behaviour so no
suprises here.

make ARCH=x86 will per default result in a 32-bit kernel but as
the only ARCH= value x86 allow the user to select between 32-bit
and 64-bit using menuconfig.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Andreas Herrmann <aherrman@arcor.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/scripts/kconfig/confdata.c
0f855aa64b3f63d35a891510cf7db932a435c116 10-Nov-2007 Sam Ravnborg <sam@ravnborg.org> kconfig: add helper to set config symbol from environment variable

Add conf_set_env_sym() that can set an already defined symbol
based on the value of an environment variable.

Unknown symbols are silently ignored.
A warning is printed if the value of the environment variable
is unexpected.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
/scripts/kconfig/confdata.c
9c900a9c9d9351e55ab6a84e12e3a52c474c7c8b 10-Nov-2007 Sam Ravnborg <sam@ravnborg.org> kconfig: factor out code in confdata.c

This patch introduce no functional changes.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
/scripts/kconfig/confdata.c
d8982ba1f2a24f1db89d23e9f5224f932f8b04a0 09-Jul-2007 Roman Zippel <zippel@linux-m68k.org> kconfig: reset generated values only if Kconfig and .config agree.

Normally generated values (Kconfig entries without a prompt) are cleared as
they are regenerated anyway and so they appear as new should they become
visible and defaults work as expected (once a value is set defaults aren't
used anymore).

The detection whether a value is generated or not is only based on its
visibility status, which can quickly change for a lot of symbols by just
removing a single line from .config or adding a dependency to Kconfig as you
noticed.

The patch now suppresses this logic when .config and Kconfig aren't in sync
and .config needs to be updated, so that you can remove now a random value
from .config and oldconfig won't reask for many other values.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
3b354c557c7a6fcac099b3a20b308853fe596183 13-Dec-2006 Karsten Wiese <annabellesgarden@yahoo.de> [PATCH] kconfig: add "void conf_set_changed_callback(void (*fn)(void))", use it in qconf.cc

Added function sets "void (*conf_changed_callback)(void)". Call it, if
.config's changed state changes. Use above in qconf.cc to set gui's
save-widget's sensitvity.

Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/scripts/kconfig/confdata.c
bfc10001b11e51b59ac901d17c5f05361bd2351d 13-Dec-2006 Karsten Wiese <annabellesgarden@yahoo.de> [PATCH] kconfig: make sym_change_count static, let it be altered by 2 functions only

Those two functions are
void sym_set_change_count(int count)
and
void sym_add_change_count(int count)

All write accesses to sym_change_count are replaced by calls to above
functions.

Variable and changer-functions are moved to confdata.c. IMO thats ok, as
sym_change_count is an attribute of the .config's change state.

Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/scripts/kconfig/confdata.c
b321429325e4c911c379a5bf4156c9fc9713e425 13-Dec-2006 Karsten Wiese <annabellesgarden@yahoo.de> [PATCH] kconfig: new function "bool conf_get_changed(void)"

Run "make xconfig" on a freshly untarred kernel-tree. Look at the floppy disk
icon of the qt application, that has just started: Its in a normal, active
state.

Mouse click on it: .config is being saved.

This patch series changes things so taht
after the mouse click on the floppy disk icon, the icon is greyed out.
If you mouse click on it now, nothing happens.

If you change some CONFIG_*, the floppy disk icon returns to "active state",
that is, if you mouse click it now, .config is written.

This patch:

Returns sym_change_count to reflect the .config's change state.
All read only accesses of
sym_change_count
are replaced by calls to
conf_get_changed()
.
mconfig.c is manipulated to ask for saving only when
conf_get_changed() returned true.

Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/scripts/kconfig/confdata.c
9a3d0fe84f9fe296a86ea9315092d31986bc7a3a 01-Oct-2006 Sam Ravnborg <sam@neptun.ravnborg.org> kconfig: fix saving alternate kconfig file in parent dir

This fixes bugzilla entry: 7182
http://bugzilla.kernel.org/show_bug.cgi?id=7182

With this patch we no longer append the directory part twice
before saving the config file.
This patch has been sent to Roman Zippel for review with no feedback.
It is so obviously simple that this should be OK to apply it anyway.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
d3660a8cbdfad620af88b85b7bbfff29160f14c2 13-Jul-2006 Matthew Wilcox <matthew@wil.cx> kconfig: support DOS line endings

Kconfig doesn't currently handle config files with DOS line endings.
While these are, of course, an abomination, etc, etc, it can be handy
to not have to convert them first. It's also a tiny patch and even adds
support for lines ending in just \r or even \n\r.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
002d27b1b70f6d574c816ef265147704c4e951f1 13-Jul-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: correct oldconfig for unset choice options

oldconfig currently ignores unset choice options and doesn't ask for them.
Correct the SYMBOL_DEF_USER flag of the choice symbol to be only set if
it's set for all values.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
14cdd3c402bf7c66f0bcd76e290f0770a54a4b21 09-Jun-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: KCONFIG_OVERWRITECONFIG

If you set KCONFIG_OVERWRITECONFIG in environment, Kconfig will not break
symlinks when .config is a symlink to somewhere else.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
face4374e288372fba67c865eb0c92337f50d5a4 09-Jun-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: add defconfig_list/module option

This makes it possible to change two options which were hardcoded sofar.
1. Any symbol can now take the role of CONFIG_MODULES
2. The more useful option is to change the list of default file names,
which kconfig uses to load the base configuration if .config isn't
available.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
2e3646e51b2d6415549b310655df63e7e0d7a080 09-Jun-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: integrate split config into silentoldconfig

Now that kconfig can load multiple configurations, it becomes simple to
integrate the split config step, by simply comparing the new .config file with
the old auto.conf (and then saving the new auto.conf). A nice side effect is
that this saves a bit of disk space and cache, as no data needs to be read
from or saved into the splitted config files anymore (e.g. include/config is
now 648KB instead of 5.2MB).

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
669bfad906522e74ee8d962801552a8c224c0d63 09-Jun-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: allow loading multiple configurations

Extend conf_read_simple() so it can load multiple configurations.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
0c1822e6991a10da6dc391f0a2e2cf5fb2e31238 09-Jun-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: allow multiple default values per symbol

Extend struct symbol to allow storing multiple default values, which can be
used to hold multiple configurations.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
c955ccafc38e77312b4c65e5a70960080fb8a3f2 09-Jun-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: fix .config dependencies

This fixes one of the worst kbuild warts left - the broken dependencies used
to check and regenerate the .config file. This was done via an indirect
dependency and the .config itself had an empty command, which can cause make
not to reread the changed .config file.

Instead of this we generate now a new file include/config/auto.conf from
.config, which is used for kbuild and has the proper dependencies. It's also
the main make target now for all files generated during this step (and thus
replaces include/linux/autoconf.h).

This also means we can now relax the syntax requirements for the .config file
and we don't have to rewrite it all the time, i.e. silentoldconfig only
writes .config now when it's necessary to keep it in sync with the Kconfig
files and even this can be suppressed by setting the environment variable
KCONFIG_NOSILENTUPDATE, so the update can (and must) be done manually.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
ddc97cacb310ad68483952e67764c4153c138ed2 09-Jun-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: improve config load/save output

During loading special case the first common case (.config), be silent about
it and otherwise mark it as a change that requires saving. Instead output
that the file has been changed. IOW if conf does nothing (special), it's
silent.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
b5ac4817de3032796c558b0a32062e7392b5ea60 09-Apr-2006 Roman Zippel <zippel@linux-m68k.org> kconfig: fix typo in change count initialization

Configuration needs saving when either of these conditions is true.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
dc9a49a4af9cdbe3d79183eefb12372b4dbc09c2 09-Mar-2006 Jan Beulich <JBeulich@novell.com> kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h

Since .kconfig.d is used as a make dependency of include/linux/autoconf.h, it
should be written earlier than the header file, to avoid a subsequent rebuild
to consider the header outdated.

Signed-Off-By: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
2244cbd8a9185c197ec5ba5de175aec288697223 16-Jan-2006 Sam Ravnborg <sam@mars.ravnborg.org> kbuild: create .kernelrelease at *config step

To enable 'make kernelrelease' earlier now create .kernelrelease when
one of the *config targets are used.
Also introduce KERNELVERSION - only user is kconfig.
KERNELVERSION was needed to display kernel version in menuconfig -
KERNELRELEASE is not valid until configuration has completed.
kconfig files modified to use KERNELVERSION.
Bug reported by: Rene Rebe <rene@exactcode.de>

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
/scripts/kconfig/confdata.c
c1a0f5e3c01d28b6782457bee5ae5ace3a9958ec 09-Nov-2005 Roman Zippel <zippel@linux-m68k.org> [PATCH] kconfig: stricter error checking for .config

Add some more checks during the parsing of .config, so that after parsing
sym_change_count reflects the correct state whether the .config is correct and
in sync with the Kconfig or if it needs saving.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/scripts/kconfig/confdata.c
90389160efc2864501ced6e662f9419eb7a3e6c8 09-Nov-2005 Roman Zippel <zippel@linux-m68k.org> [PATCH] kconfig: preset config during all*config

Allow to force setting of config variables during all{no,mod,yes,random}config
to a specific value. For that conf first checks the KCONFIG_ALLCONFIG
environment variable for a file name, otherwise it checks for
all{no,mod,yes,random}.config and all.config. The file is a normal config
file, which presets the config variables, but they are still subject to normal
dependency checks.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/scripts/kconfig/confdata.c
48b9d03c5f20a0585bb6f7d8c4abad3661df5d75 25-Jun-2005 J.A. Magallon <jamagallon@able.es> [PATCH] Kill signed chars

scripts/ is full of mismatches between char* params an signed char* arguments,
and viceversa. gcc4 now complaints loud about this. Patch below deletes all
those 'signed'.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/scripts/kconfig/confdata.c
3b9fa0931dd86a1fe5507311ee8031650f5d0e8c 06-May-2005 Arnaldo Carvalho de Melo <acme@ghostprotocols.net> [PATCH] Kconfig i18n support

This patch adds i18n support for make *config, allowing users to have the
config process in their own language.

No printk was harmed in the process, don't worry, so all the bug reports,
kernel messages, etc, remain in english, just the user tools to configure
the kernel are internationalized.

Users not interested in translations can just unset the related LANG,
LC_ALL, etc env variables and have the config process in plain english,
something like:

LANG= make menuconfig

is enough for having the whole config process in english. Or just don't
install any translation file.

Translations for brazilian portuguese are being done by a team of
volunteers at:

http://www.visionflex.inf.br/kernel_ptbr/pmwiki.php/Principal/Traducoes

To start the translation process:

make update-po-config

This will generate the pot template named scripts/kconfig/linux.pot,
copy it to, say, ~/es.po, to start the translation for spanish.

To test your translation, as root issue this command:

msgfmt -o /usr/share/locale/es/LC_MESSAGES/linux.mo ~/es.po

Replace "es" with your language code.

Then execute, for instance:

make menuconfig

The current patch doesn't use any optimization to reduce the size of the
generated .mo file, it is possible to use the config option as a key, but
this doesn't prevent the current patch from being used or the translations
done under the current scheme to be in any way lost if we chose to do any
kind of keying.

Thanks to Fabricio Vaccari for starting the pt_BR (brazilian portuguese)
translation effort, Thiago Maciera for helping me with the gconf.cc (QT
frontent) i18n coding and to all the volunteers that are already working on
the first translation, to pt_BR.

I left the question on whether to ship the translations with the stock kernel
sources to be discussed here, please share your suggestions.

Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org
Signed-off-by: Andrew Morton <akpm@osdl.org>
/scripts/kconfig/confdata.c
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
/scripts/kconfig/confdata.c