Re: [PATCH] kconfig: fix new choices being skipped upon config update

From: Uwe Kleine-König
Date: Thu Jan 26 2012 - 04:26:09 EST


On Mon, Jan 23, 2012 at 05:29:05PM -0500, Arnaud Lacombe wrote:
> Running `oldconfig' after any of the following configuration change:
>
> either trivial addition, such as:
>
> config A
> bool "A"
>
> choice
> prompt "Choice ?"
> depends on A
>
> config CHOICE_B
> bool "Choice B"
>
> config CHOICE_C
> bool "Choice C"
> endchoice
>
> or more tricky change:
>
> OLD KCONFIG | NEW KCONFIG
> |
> | config A
> | bool "A"
> |
> choice | choice
> prompt "Choice ?" | prompt "Choice ?"
> |
> config CHOICE_C | config CHOICE_C
> bool "Choice C" | bool "Choice C"
> |
> config CHOICE_D | config CHOICE_D
> bool "Choice D" | bool "Choice D"
> endchoice |
> | config CHOICE_E
> | bool "Choice E"
> | depends on A
> | endchoice
>
> will not cause the choice to be considered as NEW, and thus not be asked. The
> cause of this behavior is that choice's novelty are computed statically right
> after the saved configuration has been read. At this point, the new dependency's
> value is still unknown and asserted to be `no'. Moreover, no update to this
> decision is made afterward.
>
> Correct this by dynamically evaluating a choice's novelty, and removing the
> static evaluation.
>
> Cc: linux-kbuild@xxxxxxxxxxxxxxx
> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>,
> Cc: Michal Marek <mmarek@xxxxxxx>
> Cc: Uwe Kleine-Konig <u.kleine-koenig@xxxxxxxxxxxxxx>
> Reported-by: Uwe Kleine-Konig <u.kleine-koenig@xxxxxxxxxxxxxx>
Tested-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>

(Please note the umlaut o in my name. If you have problems with that,
please at least write Kleine-Koenig.)

> Signed-off-by: Arnaud Lacombe <lacombar@xxxxxxxxx>

Best regards and thanks
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/