1. 09 2月, 2018 4 次提交
    • M
      kconfig: send error messages to stderr · 9e3e10c7
      Masahiro Yamada 提交于
      These messages should be directed to stderr.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
      9e3e10c7
    • M
      kconfig: echo stdin to stdout if either is redirected · f3ff6fb5
      Masahiro Yamada 提交于
      If stdio is not tty, conf_askvalue() puts additional new line to
      prevent prompts from being concatenated into a single line.  This
      care is missing in conf_choice(), so a 'choice' prompt and the next
      prompt are shown in the same line.
      
      Move the code into xfgets() to cater to all cases.  To improve this
      more, let's echo stdin to stdout.  This clarifies what keys were
      input from stdio and the stdout looks like as if it were from tty.
      
      I removed the isatty(2) check since stderr is unrelated here.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
      f3ff6fb5
    • M
      kconfig: remove check_stdin() · d2a04648
      Masahiro Yamada 提交于
      Except silentoldconfig, valid_stdin is 1, so check_stdin() is no-op.
      
      oldconfig and silentoldconfig work almost in the same way except that
      the latter generates additional files under include/.  Both ask users
      for input for new symbols.
      
      I do not know why only silentoldconfig requires stdio be tty.
      
        $ rm -f .config; touch .config
        $ yes "" | make oldconfig > stdout
        $ rm -f .config; touch .config
        $ yes "" | make silentoldconfig > stdout
        make[1]: *** [silentoldconfig] Error 1
        make: *** [silentoldconfig] Error 2
        $ tail -n 4 stdout
        Console input/output is redirected. Run 'make oldconfig' to update configuration.
      
        scripts/kconfig/Makefile:40: recipe for target 'silentoldconfig' failed
        Makefile:507: recipe for target 'silentoldconfig' failed
      
      Redirection is useful, for example, for testing where we want to give
      particular key inputs from a test file, then check the result.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
      d2a04648
    • M
      kconfig: show '?' prompt even if no help text is available · 4f208f39
      Masahiro Yamada 提交于
      'make config', 'make oldconfig', etc. always receive '?' as a valid
      input and show useful information even if no help text is available.
      
      ------------------------>8------------------------
      foo (FOO) [N/y] (NEW) ?
      
      There is no help available for this option.
      Symbol: FOO [=n]
      Type  : bool
      Prompt: foo
        Defined at Kconfig:1
      ------------------------>8------------------------
      
      However, '?' is not shown in the prompt if its help text is missing.
      Let's show '?' all the time so that the prompt and the behavior match.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
      4f208f39
  2. 28 1月, 2018 1 次提交
  3. 21 1月, 2018 2 次提交
  4. 10 12月, 2015 1 次提交
  5. 09 4月, 2015 1 次提交
  6. 10 6月, 2014 1 次提交
  7. 25 6月, 2013 1 次提交
    • Y
      kconfig: loop as long as we changed some symbols in randconfig · 3b9a19e0
      Yann E. MORIN 提交于
      Because of choice-in-a-choice constructs, it can happen that not all
      symbols are assigned a value during randconfig, leading in rare cases
      to this situation:
      
          ---8<--- choice-in-choice.in
          choice
              bool "A/B/C"
          config A
              bool "A"
      
          config B
              bool "B"
          if B
          choice
              bool "E/F"
          config E
              bool "E"
          config F
              bool "F"
          endchoice
          endif # B
      
          config C
              bool "C"
          endchoice
          ---8<---
      
          $ ./scripts/kconfig/conf --randconfig choice-in-choice.in
          [--SNIP--]
          $ ./scripts/kconfig/conf --silentoldconfig choice-in-choice.in </dev/null
          [--SNIP--]
          A/B/C
            1. A (A)
          > 2. B (B)
            3. C (C)
          choice[1-3]: 2
            E/F
            > 1. E (E) (NEW)
              2. F (F) (NEW)
            choice[1-2]: aborted!
      
          Console input/output is redirected. Run 'make oldconfig' to update
          configuration.
      
      Fix this by looping in randconfig for as long as some symbol gets assigned
      a value.
      
      Note: this was spotted with the USB EHCI Debug Device Gadget (USB_G_DBGP),
      which uses this choice-in-a-choice construct, and exhibits this problem.
      The example above is just a stripped-down minimalist test-case.
      Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
      3b9a19e0
  8. 19 6月, 2013 2 次提交
  9. 25 4月, 2013 1 次提交
    • Y
      kconfig: allow specifying the seed for randconfig · 0d8024c6
      Yann E. MORIN 提交于
      For reproducibility, it can be useful to be able to specify the
      seed to use to seed the RNG.
      
      Add a new KCONFIG_SEED environment variable which can be set to
      the seed to use:
          $ make KCONFIG_SEED=42 randconfig
          $ sha1sum .config
          70a128c8dcc61303069e1be352cce64114dfcbca  .config
          $ make KCONFIG_SEED=42 randconfig
          $ sha1sum .config
          70a128c8dcc61303069e1be352cce64114dfcbca  .config
      
      It's very usefull for eg. debugging the kconfig parser.
      Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
      0d8024c6
  10. 19 2月, 2013 1 次提交
  11. 28 9月, 2012 1 次提交
  12. 31 8月, 2012 1 次提交
  13. 08 5月, 2012 1 次提交
    • E
      kbuild: all{no,yes,mod,def,rand}config only read files when instructed to. · 9f420bf0
      Eric W. Biederman 提交于
      Prevent subtle surprises to both people working on the kconfig code
      and people using make allnoconfig allyesconfig allmoconfig and
      randconfig by only attempting to read a config file if
      KCONFIG_ALLCONFIG is set.
      
      Common sense suggests attempting to read the extra config files does
      not make sense unless requested.  The documentation says the code
      won't attempt to read the extra config files unless requested.
      Current usage does not appear to include people depending on the code
      reading the config files without the variable being set So do the
      simple thing and stop reading config files when passed
      all{no,yes,mod,def,rand}config unless KCONFIG_ALLCONFIG environment
      variable is set.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      9f420bf0
  14. 05 5月, 2012 1 次提交
    • E
      kconfig: Add error handling to KCONFIG_ALLCONFIG · 5efe241e
      Eric W. Biederman 提交于
      - Only try to read the file specified if KCONFIG_ALL_CONFIG is set to
        something other than the empty string or "1".
      
      - Don't use stat to check the name passed to conf_read_simple so that
        zconf_fopen can find the file in the current directory or in SRCTREE
        removing a extremely source of confusing failure, where KCONFIG_ALL_CONFIG
        was not interpreted with respect to the directory make was called in.
      
      - If conf_read_simple fails complain clearly and stop processing.
        Allowing the simple debugging of typos.
      
      - Clearly document the behavior so it is clear to users which
        values are treated as flags and which values are treated as
        filenames.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      5efe241e
  15. 02 7月, 2011 3 次提交
  16. 07 6月, 2011 2 次提交
  17. 24 4月, 2011 1 次提交
    • B
      kconfig: Avoid buffer underrun in choice input · 3ba41621
      Ben Hutchings 提交于
      Commit 40aee729 ('kconfig: fix default value for choice input')
      fixed some cases where kconfig would select the wrong option from a
      choice with a single valid option and thus enter an infinite loop.
      
      However, this broke the test for user input of the form 'N?', because
      when kconfig selects the single valid option the input is zero-length
      and the test will read the byte before the input buffer.  If this
      happens to contain '?' (as it will in a mips build on Debian unstable
      today) then kconfig again enters an infinite loop.
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Cc: stable@kernel.org [2.6.17+]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3ba41621
  18. 08 4月, 2011 1 次提交
    • B
      kconfig: Avoid buffer underrun in choice input · 466de918
      Ben Hutchings 提交于
      commit 40aee729 ('kconfig: fix default
      value for choice input') fixed some cases where kconfig would select
      the wrong option from a choice with a single valid option and thus
      enter an infinite loop.
      
      However, this broke the test for user input of the form 'N?', because
      when kconfig selects the single valid option the input is zero-length
      and the test will read the byte before the input buffer.  If this
      happens to contain '?' (as it will in a mips build on Debian unstable
      today) then kconfig again enters an infinite loop.
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Cc: stable@kernel.org [2.6.17+]
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      466de918
  19. 15 12月, 2010 1 次提交
  20. 10 10月, 2010 1 次提交
  21. 20 9月, 2010 2 次提交
  22. 08 9月, 2010 1 次提交
  23. 31 8月, 2010 1 次提交
  24. 13 8月, 2010 1 次提交
  25. 07 8月, 2010 1 次提交
  26. 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
  27. 12 6月, 2010 1 次提交