1. 03 8月, 2010 5 次提交
    • S
      kconfig: add savedefconfig · 7cf3d73b
      Sam Ravnborg 提交于
      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: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      7cf3d73b
    • S
      kconfig: add alldefconfig · 0748cb3e
      Sam Ravnborg 提交于
      alldefconfig create a configuration with all values set
      to their default value (form the Kconfig files).
      
      This may be useful when we try to use more sensible default
      values and may also be used in combination with
      the minimal defconfigs.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      0748cb3e
    • S
      kconfig: change nonint_oldconfig to listnewconfig · 861b4ea4
      Sam Ravnborg 提交于
      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 .config
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Aristeu Rozanski <aris@redhat.com>
      Acked-by: NAristeu Rozanski <aris@redhat.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      861b4ea4
    • S
      kconfig: rename loose_nonint_oldconfig => oldnoconfig · ef61ca88
      Sam Ravnborg 提交于
      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: NSam Ravnborg <sam@ravnborg.org>
      Cc: Aristeu Rozanski <aris@redhat.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      ef61ca88
    • S
      kconfig: use long options in conf · 4062f1a4
      Sam Ravnborg 提交于
      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: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      4062f1a4
  2. 12 6月, 2010 1 次提交
  3. 02 6月, 2010 1 次提交
  4. 20 9月, 2009 2 次提交
  5. 10 6月, 2009 1 次提交
  6. 16 3月, 2009 1 次提交
    • I
      kconfig: improve seed in randconfig · b0fe5510
      Ingo Molnar 提交于
      '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: NIngo Molnar <mingo@elte.hu>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      [sam: fix for systems where usec is zero - noticed by Geert Uytterhoeven]
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      b0fe5510
  7. 29 9月, 2008 1 次提交
  8. 05 8月, 2008 1 次提交
  9. 26 7月, 2008 3 次提交
    • S
      kconfig: make defconfig is no longer chatty · 09748e17
      Sam Ravnborg 提交于
      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: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      09748e17
    • S
      kconfig: make oldconfig is now less chatty · cd9140e1
      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: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      cd9140e1
    • S
      kconfig: speed up all*config + randconfig · f443d2ec
      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: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      f443d2ec
  10. 29 1月, 2008 5 次提交
  11. 24 12月, 2007 1 次提交
  12. 18 11月, 2007 2 次提交
    • S
      x86: simplify "make ARCH=x86" and fix kconfig all.config · 6840999b
      Sam Ravnborg 提交于
      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:
       - 0f855aa6 ("kconfig: add helper to set
         config symbol from environment variable")
       - 2a113281 ("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: NSam 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: NLinus Torvalds <torvalds@linux-foundation.org>
      6840999b
    • S
      x86: simplify "make ARCH=x86" and fix kconfig all.config · 80ef88d6
      Sam Ravnborg 提交于
      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:
      0f855aa6
      -> kconfig: add helper to set config symbol from environment variable
      
      2a113281
      -> 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: NSam 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>
      80ef88d6
  13. 13 11月, 2007 1 次提交
    • S
      kconfig: use $K64BIT to set 64BIT with all*config targets · 2a113281
      Sam Ravnborg 提交于
      The variable K64BIT can now be used to select the
      value of CONFIG_64BIT.
      
      This is for example useful for powerpc to generate
      allmodconfig for both bit sizes - like this:
      make ARCH=powerpc K64BIT=y
      make ARCH=powerpc K64BIT=n
      
      To use this the Kconfig file must use "64BIT" as the
      config value to select between 32 and 64 bit.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      2a113281
  14. 01 9月, 2007 1 次提交
  15. 26 7月, 2007 1 次提交
    • S
      kconfig: attach help text to menus · 03d29122
      Sam Ravnborg 提交于
      Roman Zippel wrote:
      > A simple example would be
      > help texts, right now they are per symbol, but they should really be per
      > menu, so archs can provide different help texts for something.
      
      This patch does this and at the same time introduce a few API
      funtions used to access the help text.
      
      The relevant api functions are introduced in the various frontends.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      03d29122
  16. 03 5月, 2007 1 次提交
  17. 14 12月, 2006 1 次提交
    • K
      [PATCH] kconfig: new function "bool conf_get_changed(void)" · b3214293
      Karsten Wiese 提交于
      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: NKarsten Wiese <fzu@wemgehoertderstaat.de>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b3214293
  18. 09 6月, 2006 3 次提交
  19. 20 4月, 2006 1 次提交
  20. 11 4月, 2006 2 次提交
  21. 09 1月, 2006 1 次提交
  22. 09 11月, 2005 2 次提交
  23. 26 6月, 2005 1 次提交
  24. 06 5月, 2005 1 次提交
    • A
      [PATCH] Kconfig i18n support · 3b9fa093
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo Carvalho de Melo <acme@conectiva.com.br>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: Linus Torvalds <torvalds@osdl.org
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      3b9fa093