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

    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
     
  • 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
    Cc: Ingo Molnar
    Cc: Roman Zippel
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

03 Jan, 2009

4 commits


04 Dec, 2008

1 commit


27 Oct, 2008

1 commit

  • 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
    Cc: Sam Ravnborg
    Cc: Roman Zippel
    Cc: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Al Viro
     

23 Oct, 2008

1 commit

  • Teach scripts/kconfig/Makefile and top-level Makefile that arch/*/Makefile
    is allowed to say Kconfig := .
    Rewrite arch/um/Kconfig and arch/um/Kconfig. so that the latter
    would be top-level one (and include the pieces of the former).

    Signed-off-by: Al Viro
    Signed-off-by: H. Peter Anvin

    Al Viro
     

29 Sep, 2008

2 commits

  • 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
    Signed-off-by: Linus Torvalds

    zippel@linux-m68k.org
     
  • Recent changes to oldconfig have mixed up the silentoldconfig handling,
    so this fixes that by clearly separating that special mode, e.g.
    KCONFIG_NOSILENTUPDATE is only relevant here, the .config is written as
    needed.

    This will also properly close Bug 11230.

    Signed-off-by: Roman Zippel
    Signed-off-by: Linus Torvalds

    zippel@linux-m68k.org
     

05 Aug, 2008

2 commits


31 Jul, 2008

1 commit

  • gcc 4.3 correctly determines that input() is unused and gives the
    following warning:

    ...
    HOSTCC scripts/kconfig/zconf.tab.o
    scripts/kconfig/lex.zconf.c:1628: warning: ‘input’ defined but not used
    ...

    Fix it by adding %option noinput to scripts/kconfig/zconf.l and
    regeneration of scripts/kconfig/lex.zconf.c_shipped.

    Signed-off-by: Adrian Bunk
    Cc: Roman Zippel
    Signed-off-by: Sam Ravnborg

    Adrian Bunk
     

26 Jul, 2008

4 commits

  • make defconfig generated a lot of output
    then noone actually read.
    Use conf_set_all_new_symbols() to generate the default
    configuration and avoid the chatty output.

    A typical run now looks like this:
    $ make defconfig
    *** Default configuration is based on 'i386_defconfig'
    arch/x86/configs/i386_defconfig:13:warning: trying to assign nonexistent symbol SEMAPHORE_SLEEPERS
    arch/x86/configs/i386_defconfig:176:warning: trying to assign nonexistent symbol PREEMPT_BKL
    ...
    arch/x86/configs/i386_defconfig:1386:warning: trying to assign nonexistent symbol INSTRUMENTATION
    $

    As an added benefit we now clearly see the warnings generated
    in the start of the process.

    Signed-off-by: Sam Ravnborg
    Cc: Roman Zippel

    Sam Ravnborg
     
  • Previously when running "make oldconfig" we saw all the propmt lines
    from kconfig and noone actully read this.

    With this patch the user will only see output if there is new symbols.
    This will be seen as "make oldconfig" runs which does not generate any output.

    A typical run now looks like this:

    $ make oldconfig
    scripts/kconfig/conf -o arch/x86/Kconfig
    $

    If a new symbol is found then we restart the config process like this:
    $ make oldconfig
    scripts/kconfig/conf -o arch/x86/Kconfig
    *
    * Restart config...
    *
    *
    * General setup
    *
    Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y
    Local version - append to kernel release (LOCALVERSION) []
    ...

    The bahaviour is similar to what we know when running the implicit
    oldconfig target "make silentoldconfig".
    "make silentoldconfig" are run as part of the kernel build process
    if the configuration has changed.

    Signed-off-by: Sam Ravnborg
    Cc: Roman Zippel

    Sam Ravnborg
     
  • Drop the chatty mode when we generate the all*config, randconfig
    configurations.
    Ths speeds up the process considerably and noone looked
    at the output anyway.
    This patch uses the conf_set_all_new_symbols() function
    just added to kconfig.

    Signed-off-by: Sam Ravnborg
    Cc: Roman Zippel

    Sam Ravnborg
     
  • 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
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     

20 May, 2008

1 commit


05 May, 2008

1 commit


02 May, 2008

1 commit


29 Apr, 2008

3 commits

  • As choice dependency are now fully checked, it's quite easy to add support
    for named choices. This lifts the restriction that a choice value can only
    appear once, although it still has to be within the same group,
    but multiple choices can be joined by giving them a name.
    While at it I cleaned up a little the choice type logic to simplify it a
    bit.

    Signed-off-by: Roman Zippel
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Properly check the dependency of choices as a group.
    Also fix that sym_check_deps() correctly terminates the dependency loop
    error check (otherwise it would continue printing the dependency chain).

    Signed-off-by: Roman Zippel
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Fix reversal of dlg.border.atr and dlg.dialog.atr for draw_box()
    Makes the inputbox look like expected

    Signed-off-by: Roel Kluin
    Signed-off-by: Sam Ravnborg

    Roel Kluin
     

26 Apr, 2008

1 commit


14 Feb, 2008

1 commit

  • > The attached .config (with current -git) results in a compile
    > error since it contains:
    >
    > CONFIG_X86=y
    > # CONFIG_EMBEDDED is not set
    > CONFIG_SERIO=m
    > CONFIG_SERIO_I8042=y
    >
    > Looking at drivers/input/serio/Kconfig I simply don't get how this
    > can happen.

    You've hit the rather subtle rules of select vs default. What happened is
    that SERIO is selected to m, but SERIO_I8042 isn't selected so the default
    of y is used instead.
    We already had the problem in the past that select and default don't work
    well together, so this patch cleans this up and makes the rule hopefully
    more straightforward. Basically now the value is calculated like this:

    (value && dependency) || select

    where the value is the user choice (if available and the symbol is
    visible) or default.

    In this case it means SERIO and SERIO_I8042 are both set to y due to their
    default and if SERIO didn't had the default, then the SERIO_I8042 value
    would be limited to m due to the dependency.

    I tested this patch with more 10000 random configs and above case is the
    only the difference that showed up, so I hope there is nothing that
    depended on the old more complex and subtle rules.

    Signed-off-by: Roman Zippel
    Tested-by: Adrian Bunk
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     

03 Feb, 2008

2 commits

  • We have had warnings for a long time about select of unknow symbol
    but the warnings does not really makes sense since we may
    select a symbol that is relevant and defined in one
    arch but not in another arch.
    And as long as we do not use a common set of Kconfig files
    for all archs lets just ignore this case.

    Previously we have used this to find bad uses of
    select but we need a more relaible method to do so.

    Signed-off-by: Sam Ravnborg
    Cc: Roman Zippel

    Sam Ravnborg
     
  • Michal Zachar reported that
    menuconfig did not save the new config when loading
    an alternate config unless he altered it manually.

    Mark config as changed upon load of alternate config fixed this.

    Signed-off-by: Sam Ravnborg
    Roman Zippel

    Sam Ravnborg
     

29 Jan, 2008

11 commits