<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/scripts/kconfig/menu.c, branch v3.12.14</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/scripts/kconfig/menu.c?h=v3.12.14</id>
<link rel='self' href='https://git.amat.us/linux/atom/scripts/kconfig/menu.c?h=v3.12.14'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-09-05T09:10:08Z</updated>
<entry>
<title>kconfig: do not allow more than one symbol to have 'option modules'</title>
<updated>2013-09-05T09:10:08Z</updated>
<author>
<name>Yann E. MORIN</name>
<email>yann.morin.1998@free.fr</email>
</author>
<published>2013-09-03T20:22:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e062781397e5bebc6c1b8dd4bf466136e13ae4c5'/>
<id>urn:sha1:e062781397e5bebc6c1b8dd4bf466136e13ae4c5</id>
<content type='text'>
Previously, it was possible to have more than one symbol with the
'option modules' attached to them, although only the last one would
in fact control tristates.

Since this does not make much sense, only allow at most one symbol to
control tristates.

Note: it is still possible to have more than one symbol that control
tristates, but indirectly:

    config MOD1
        bool "mod1"
        select MODULES
    config MOD2
        bool "mod2"
        select MODULES
    config MODULES
        bool
        option modules

Signed-off-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Cc: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>kconfig: do not special-case 'MODULES' symbol</title>
<updated>2013-09-05T09:09:17Z</updated>
<author>
<name>Yann E. MORIN</name>
<email>yann.morin.1998@free.fr</email>
</author>
<published>2013-09-03T15:07:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6902dccfda005fa4c42410fa064fdd331ab42479'/>
<id>urn:sha1:6902dccfda005fa4c42410fa064fdd331ab42479</id>
<content type='text'>
Currently, the 'MODULES' symbol is hard-coded to be the default symbol
that enables/disables tristates, if no other symbol was declared with
'option modules'.

While this used to be needed for the Linux kernel, we now have an
explicit 'option modules' attached to the 'MODULES' symbol (since
cset 11097a036), so we no longer need to special-case it in the
kconfig code.

Furthermore, kconfig is extensively used out of the Linux kernel, and
other projects may have another meaning for a symbol named 'MODULES'.

This patch changes the way we enable/disable tristates: if a symbol was
found with 'option modules' attached to it, then that symbol controls
enabling tristates. Otherwise, tristates are disabled, even if a symbol
named 'MODULES' exists.

Signed-off-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Cc: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild</title>
<updated>2013-07-10T23:06:46Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-10T23:06:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b202c0d5205662fd96f7151afa83f891f2f4d542'/>
<id>urn:sha1:b202c0d5205662fd96f7151afa83f891f2f4d542</id>
<content type='text'>
Pull kconfig updates from Michal Marek:
 - dependency solver fix for make defconfig
 - randconfig fixes, one of which had to be reverted again
 - more user-friendly sorting of search results
 - hex and range keywords support longs
 - fix for [mn]conf not to rely on particular behavior of the LINES and
   COLS variables
 - cleanup of magic constants in kconfig/lxdialog
 - [mn]conf formatting fixes
 - fix for scripts/config's help text in out-of-tree usage (under a
   different name)

* 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  kconfig: allow "hex" and "range" to support longs
  Revert "kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG"
  kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG
  kconfig: loop as long as we changed some symbols in randconfig
  kconfig/[mn]conf: make it explicit in the search box that a regexp is possible
  kconfig: sort found symbols by relevance
  kconfig/conf: print the seed used to initialise the RNG for randconfig
  kconfig/conf: accept a base-16 seed for randconfig
  kconfig/conf: fix randconfig setting multiple symbols in a choice
  scripts/config: replace hard-coded script name by a dynamic value
  mconf/nconf: mark empty menus/menuconfigs different from non-empty ones
  nconf: use function calls instead of ncurses' variables LINES and COLS
  mconf: use function calls instead of ncurses' variables LINES and COLS
  kconfig/lxdialog: handle newline characters in print_autowrap()
  kconfig/lxdialog: Use new mininimum resize definitions in conf_choice()
  kconfig/lxdialog: Add definitions for mininimum (re)size values
  kconfig: Fix defconfig when one choice menu selects options that another choice menu depends on
</content>
</entry>
<entry>
<title>mconf/nconf: mark empty menus/menuconfigs different from non-empty ones</title>
<updated>2013-06-18T21:58:59Z</updated>
<author>
<name>Dirk Gouders</name>
<email>dirk@gouders.net</email>
</author>
<published>2013-05-19T19:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1278ebdbc3167883f32095491990fbdc7cdf8b5e'/>
<id>urn:sha1:1278ebdbc3167883f32095491990fbdc7cdf8b5e</id>
<content type='text'>
Submenus are sometimes empty and it would be nice if there is
something that notifies us that we should not expect any content
_before_ we enter a submenu.

A new function menu_is_empty() was introduced and empty menus and
menuconfigs are now marked by "----" as opposed to non-empty ones that
are marked by "---&gt;".

This scheme was suggested by "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;.

Signed-off-by: Dirk Gouders &lt;dirk@gouders.net&gt;
Tested-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Reviewed-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Signed-off-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
</content>
</entry>
<entry>
<title>kconfig/menu.c: fix multiple references to expressions in menu_add_prop()</title>
<updated>2013-05-29T22:14:01Z</updated>
<author>
<name>Dirk Gouders</name>
<email>dirk@gouders.net</email>
</author>
<published>2013-05-21T08:54:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e983b7b17ad1a978e954e6aaa62cf12bfc747883'/>
<id>urn:sha1:e983b7b17ad1a978e954e6aaa62cf12bfc747883</id>
<content type='text'>
menu_add_prop() applies upper menus' visibilities to actual prompts
by AND-ing the prompts visibilities with the upper menus ones.

This creates a further reference to the menu's visibilities and when
the expression reduction functions do their work, they may remove or
modify expressions that have multiple references, thus causing
unpredictable side-effects.

The following example Kconfig constructs a case where this causes
problems: a menu and a prompt which's visibilities depend on the same
symbol.  When invoking mconf with this Kconfig and pressing "Z" we
see a problem caused by a free'd expression still referenced by the
menu's visibility:

------------------------------------------------------------------------
mainmenu "Kconfig Testing Configuration"

config VISIBLE
	def_bool n

config Placeholder
	bool "Place holder"

menu "Invisible"
	visible if VISIBLE

config TEST_VAR
	bool "Test option" if VISIBLE

endmenu
------------------------------------------------------------------------

This patch fixes this problem by creating copies of the menu's
visibility expressions before AND-ing them with the prompt's one.

Signed-off-by: Dirk Gouders &lt;dirk@gouders.net&gt;
[yann.morin.1998@free.fr: move variable into its block-scope,
                          keep lines &lt;80 chars, typo]
Tested-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Reviewed-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Signed-off-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
</content>
</entry>
<entry>
<title>menuconfig: fix NULL pointer dereference when searching a symbol</title>
<updated>2013-05-07T14:55:36Z</updated>
<author>
<name>Li Zefan</name>
<email>lizefan@huawei.com</email>
</author>
<published>2013-05-07T13:56:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=383da76f5261637b8beacb99a83f5834b14fc432'/>
<id>urn:sha1:383da76f5261637b8beacb99a83f5834b14fc432</id>
<content type='text'>
Searching for PPC_EFIKA results in a segmentation fault, and it's
because get_symbol_prop() returns NULL.

In this case CONFIG_PPC_EFIKA is defined in arch/powerpc/platforms/
52xx/Kconfig, so it won't be parsed if ARCH!=PPC, but menuconfig knows
this symbol when it parses sound/soc/fsl/Kconfig:

    config SND_MPC52xx_SOC_EFIKA
        tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
        depends on PPC_EFIKA

This bug was introduced by commit bcdedcc1afd6 ("menuconfig: print more
info for symbol without prompts").

Reported-and-tested-by: Borislav Petkov &lt;bp@alien8.de&gt;
Signed-off-by: Li Zefan &lt;lizefan@huawei.com&gt;
Tested-by: Libo Chen &lt;libo.chen@huawei.com&gt;
Reviewed-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>menuconfig: print more info for symbol without prompts</title>
<updated>2013-05-01T00:04:09Z</updated>
<author>
<name>Wengmeiling</name>
<email>wengmeiling.weng@huawei.com</email>
</author>
<published>2013-04-30T22:28:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bcdedcc1afd6ac91e15cb90aedaf8432f62fed13'/>
<id>urn:sha1:bcdedcc1afd6ac91e15cb90aedaf8432f62fed13</id>
<content type='text'>
When we search a config symbol, if it has no prompt the position of this
symbol in the Kconfig file and it's dependencies are not printed.  This
can be inconvenient, especially when it's set to n and we want to find out
why.

the following is an example:

before:

Symbol: GENERIC_SMP_IDLE_THREAD [=y]
Type  : boolean
  Selected by: X86 [=y]

after:

Symbol: GENERIC_SMP_IDLE_THREAD [=y]
Type  : boolean
  Defined at arch/Kconfig:213
  Selected by: X86 [=y]

Signed-off-by: Weng Meiling &lt;wengmeiling.weng@huawei.com&gt;
Signed-off-by: Libo Chen &lt;libo.chen@huawei.com&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kbuild/rc-fixes' into kbuild/kconfig</title>
<updated>2013-02-25T20:51:57Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2013-02-25T20:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e3900e74f26fc924c8e9e2a922bd40369b0bb517'/>
<id>urn:sha1:e3900e74f26fc924c8e9e2a922bd40369b0bb517</id>
<content type='text'>
There is one kconfig fix in the rc-fixes branch that I forgot to submit
for 3.8, so let's add it to the kconfig branch for 3.9-rc1.
</content>
</entry>
<entry>
<title>kconfig: Fix malloc handling in conf tools</title>
<updated>2012-11-20T11:12:47Z</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2012-11-06T14:32:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=177acf78468bf5c359bcb8823ee3bd48b04b8380'/>
<id>urn:sha1:177acf78468bf5c359bcb8823ee3bd48b04b8380</id>
<content type='text'>
(and get them out of the noise in the audit work)

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>menuconfig: Replace CIRCLEQ by list_head-style lists.</title>
<updated>2012-10-25T13:06:00Z</updated>
<author>
<name>Benjamin Poirier</name>
<email>bpoirier@suse.de</email>
</author>
<published>2012-10-21T09:27:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bad9955db1b73d7286f74a8136a0628a9b1ac017'/>
<id>urn:sha1:bad9955db1b73d7286f74a8136a0628a9b1ac017</id>
<content type='text'>
sys/queue.h and CIRCLEQ in particular have proven to cause portability
problems (reported on Debian Sarge, Cygwin and FreeBSD)

Reported-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Tested-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Tested-by: Yaakov Selkowitz &lt;yselkowitz@users.sourceforge.net&gt;
Signed-off-by: Benjamin Poirier &lt;bpoirier@suse.de&gt;
Signed-off-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
</feed>
