1. 03 8月, 2010 3 次提交
  2. 29 7月, 2010 1 次提交
    • U
      kconfig: fix MODULES-related bug in case of no .config · ac1ffde1
      Ulf Magnusson 提交于
      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: NUlf Magnusson <ulfalizer.lkml@gmail.com>
      Reviewed-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      ac1ffde1
  3. 26 7月, 2010 1 次提交
  4. 08 7月, 2010 1 次提交
  5. 02 7月, 2010 1 次提交
    • C
      kbuild: Warn on selecting symbols with unmet direct dependencies · 246cf9c2
      Catalin Marinas 提交于
      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: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      246cf9c2
  6. 12 6月, 2010 1 次提交
  7. 03 6月, 2010 2 次提交
  8. 02 6月, 2010 10 次提交
  9. 14 4月, 2010 6 次提交
  10. 23 3月, 2010 1 次提交
    • L
      kconfig: recalc symbol value before showing search results · da6df879
      Li Zefan 提交于
      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: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      da6df879
  11. 02 2月, 2010 5 次提交
    • A
      Improve kconfig symbol hashing · e66f25d7
      Andi Kleen 提交于
      While looking for something else I noticed that the symbol
      hash function used by kconfig is quite poor. It doesn't
      use any of the standard hash techniques but simply
      adds up the string and then uses power of two masking,
      which is both known to perform poorly.
      
      The current x86 kconfig has over 7000 symbols.
      
      When I instrumented it showed that the minimum hash chain
      length was 16 and a significant number of them was over
      30.
      
      It didn't help that the hash table size was only 256 buckets.
      
      This patch increases the hash table size to a larger prime
      and switches to a FNV32 hash. I played around with a couple of hash
      functions, but that one seemed to perform best with reasonable
      hash table sizes.
      
      Increasing the hash table size even further didn't
      seem like a good idea, because there are a couple of global
      walks which walk the complete hash table.
      
      I also moved the unnamed bucket to 0. It's still the longest
      of all the buckets (44 entries), but hopefully it's not
      often hit except for the global walk which doesn't care.
      
      The result is a much nicer distribution:
      (first column bucket length, second number of buckets with that length)
      
      1: 3505
      2: 1236
      3: 294
      4: 52
      5: 3
      47: 1		<--- this is the unnamed symbols bucket
      
      There are still some 5+ buckets, but increasing the hash table
      even more would be likely not worth it.
      
      This also cleans up the code slightly by removing hard coded
      magic numbers.
      
      I didn't notice a big performance difference either way
      on my Nehalem system, but I presume it'll help somewhat
      on slower systems.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      e66f25d7
    • N
      nconfig: minor fix · 68c16edd
      Nir Tzachar 提交于
      This patch fixes two problems reported by Jan Engelhardt:
      1) Border is now properly placed, to always be visible
      2) Long menu items are properly displayed
      Reported-by: NJan Engelhardt <jengelh@medozas.de>
      Signed-off-by: NNir Tzachar <nir.tzachar@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      68c16edd
    • M
      nconfig: mark local functions as such · 851190c9
      Michal Marek 提交于
      scripts/kconfig/nconf.gui.c:23: warning: no previous prototype for 'set_normal_colors'
      scripts/kconfig/nconf.gui.c:68: warning: no previous prototype for 'normal_color_theme'
      scripts/kconfig/nconf.gui.c:100: warning: no previous prototype for 'no_colors_theme'
      scripts/kconfig/nconf.c:455: warning: no previous prototype for 'process_special_keys'
      scripts/kconfig/nconf.c:487: warning: no previous prototype for 'get_next_hot'
      scripts/kconfig/nconf.c:506: warning: no previous prototype for 'canbhot'
      scripts/kconfig/nconf.c:514: warning: no previous prototype for 'is_hot'
      scripts/kconfig/nconf.c:522: warning: no previous prototype for 'make_hot'
      scripts/kconfig/nconf.c:582: warning: no previous prototype for 'item_make'
      scripts/kconfig/nconf.c:626: warning: no previous prototype for 'item_add_str'
      scripts/kconfig/nconf.c:656: warning: no previous prototype for 'item_tag'
      scripts/kconfig/nconf.c:668: warning: no previous prototype for 'curses_item_index'
      scripts/kconfig/nconf.c:673: warning: no previous prototype for 'item_data'
      scripts/kconfig/nconf.c:684: warning: no previous prototype for 'item_is_tag'
      scripts/kconfig/nconf.c:691: warning: no previous prototype for 'set_config_filename'
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      851190c9
    • N
      kconfig: new configuration interface (nconfig) · 692d97c3
      nir.tzachar@gmail.com 提交于
      This patch was inspired by the kernel projects page, where an ncurses
      replacement for menuconfig was mentioned (by Sam Ravnborg).
      
      Building on menuconfig, this patch implements a more modern look
      interface using ncurses and ncurses' satellite libraries (menu, panel,
      form). The implementation does not depend on lxdialog, which is
      currently distributed with the kernel.
      Signed-off-by: NNir Tzachar <nir.tzachar@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      692d97c3
    • V
      menuconfig: wrap long help lines · da60fbbc
      Vadim Bendebury (вб) 提交于
      Help text for certain config options is very extensive (the text
      includes the names of all  other options the option in question depends
      on). Long lines are not wrapped, making it impossible to see the list
      without scrolling horizontally.
      
      This patch adds some logic which wraps help screen lines at word
      boundaries to prevent truncating.
      
      Tested by running
      
        ARCH=powerpc make menuconfig O=/tmp/build
      
      which shows that the long lines are now wrapped, and
      
       ARCH=powerpc make xconfig O=/tmp/build
      
      to demonstrate that it still compiles and operates as expected.
      Signed-off-by: NVadim Bendebury <vbendeb@google.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      da60fbbc
  12. 12 12月, 2009 3 次提交
  13. 04 12月, 2009 1 次提交
  14. 20 11月, 2009 1 次提交
  15. 16 11月, 2009 1 次提交
  16. 16 10月, 2009 1 次提交
    • J
      kconfig: Make zconf.y work with current bison · 1456edbb
      Josh Triplett 提交于
      zconf.y includes zconf.hash.c from the initial code section.
      zconf.hash.c references the token constants from zconf.y.  However,
      current bison defines the token constants after the initial code
      section, making zconf.hash.c fail to compile.  Move the include of
      zconf.hash.c later in zconf.y, so bison puts it after the token
      constants.
      Signed-off-by: NJosh Triplett <josh@joshtriplett.org>
      1456edbb
  17. 20 9月, 2009 1 次提交