26 Jul, 2010

1 commit


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

    Jan Beulich
     

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

    Catalin Marinas
     

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/mconf

    I 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

    Justin P. Mattock
     

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

    Li Zefan
     
  • Run:
    make ARCH=arm menuconfig

    And 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

    Li Zefan
     

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

    Li Zefan
     
  • Remove ConfigInfoView::setSource().

    Signed-off-by: Li Zefan
    Signed-off-by: Michal Marek

    Li Zefan
     
  • @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

    Li Zefan
     
  • 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

    Li Zefan
     
  • The logic should be reversed.

    Signed-off-by: Li Zefan
    Signed-off-by: Michal Marek

    Li Zefan
     
  • Suggested-by: Randy Dunlap
    Signed-off-by: Li Zefan
    Acked-by: Randy Dunlap
    Signed-off-by: Michal Marek

    Li Zefan
     
  • 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

    Li Zefan
     
  • 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 features

    Signed-off-by: Li Zefan
    Signed-off-by: Michal Marek

    Li Zefan
     
  • 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

    Li Zefan
     
  • 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

    Aristeu Rozanski
     

27 May, 2010

1 commit


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

    Greg Thelen
     

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

    Li Zefan
     
  • 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 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
    Signed-off-by: Michal Marek

    Li Zefan
     
  • This option is a no-op, so remove it.

    Signed-off-by: Li Zefan
    Signed-off-by: Michal Marek

    Li Zefan
     
  • Just use sym_get_type() and prop_get_type_name().

    Signed-off-by: Li Zefan
    Signed-off-by: Michal Marek

    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
    Signed-off-by: Michal Marek

    Li Zefan
     
  • - 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

    Li Zefan
     

08 Apr, 2010

1 commit


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

    Jason Gunthorpe
     
  • 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

    Li Zefan
     
  • Ignore files compressed with lzop.

    Signed-off-by: Philipp Kohlbecher
    Signed-off-by: Michal Marek

    Philipp Kohlbecher
     
  • 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 complains

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Michal Marek

    Stephen Hemminger
     

11 Mar, 2010

1 commit


10 Mar, 2010

1 commit


08 Mar, 2010

9 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

    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

    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

    Stephen Hemminger
     
  • According to PBP; best way practice is to use local reference for file
    handle and three argument open. Also perl prototypes are a mistake.

    Signed-off-by: Stephen Hemminger
    Acked-by: WANG Cong
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Stephen Hemminger
     
  • Use local file handles, use three argument open.
    Don't modify arguments in perl grep (use sed instead)

    Signed-off-by: Stephen Hemminger
    Acked-by: WANG Cong
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Stephen Hemminger
     
  • Turn on strict checking.
    Simplify code by using "unless" statement.

    Signed-off-by: Stephen Hemminger
    Acked-by: WANG Cong
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Stephen Hemminger
     
  • Use local file handle not global.
    Make loop and other variables local in scope.

    Signed-off-by: Stephen Hemminger
    Cc: Hui Zhu
    Cc: Cong Wang
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Stephen Hemminger
     
  • Turn on strict checking.
    Use three arguement open
    Standard practice in perl is to use undef not zero for false

    Signed-off-by: Stephen Hemminger
    Cc: Cong Wang
    Cc: Ralf Baechle
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Stephen Hemminger
     
  • Turn on strict checking.
    Use local file handles.
    Use three argument open.

    Signed-off-by: Stephen Hemminger
    Cc: Cong Wang
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Stephen Hemminger