From: Linus Torvalds on
On Wed, Aug 4, 2010 at 5:51 AM, Michal Marek <mmarek(a)suse.cz> wrote:
>
> this is the kconfig part of kbuild. We have four new *config targets:
> * oldnoconfig: set all new options to 'n'
> * listnewconfig: list all unset config options
> * alldefconfig: set all options to their defaults specified in Kconfig
> files
> * savedefconfig: write a defconfig file with only the differences from
> an alldefconfig (aka minimal defconfig)
>
> Kconfig also warns when a select statement selects a symbol with unmet
> dependencies (which typically results in a broken config). Li Zefan did
> quite some usability fixes to the visual config interfaces.

Hmm. This seems to make "make oldconfig" a _lot_ more verbose than it
used to be. In a very annoying way.

I'm used to this (v2.6.35 "make oldconfig" with no changes):

[torvalds(a)i5 linux]$ make oldconfig
scripts/kconfig/conf -o arch/x86/Kconfig
#
# configuration written to .config
#
[torvalds(a)i5 linux]$

but now it prints _everything_. The old "oldconfig" only printed
things out when there was something to be asked about.

This is a regression.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Justin P. Mattock on
On 08/05/2010 04:33 PM, Linus Torvalds wrote:
> On Wed, Aug 4, 2010 at 5:51 AM, Michal Marek<mmarek(a)suse.cz> wrote:
>>
>> this is the kconfig part of kbuild. We have four new *config targets:
>> * oldnoconfig: set all new options to 'n'
>> * listnewconfig: list all unset config options
>> * alldefconfig: set all options to their defaults specified in Kconfig
>> files
>> * savedefconfig: write a defconfig file with only the differences from
>> an alldefconfig (aka minimal defconfig)
>>
>> Kconfig also warns when a select statement selects a symbol with unmet
>> dependencies (which typically results in a broken config). Li Zefan did
>> quite some usability fixes to the visual config interfaces.
>
> Hmm. This seems to make "make oldconfig" a _lot_ more verbose than it
> used to be. In a very annoying way.
>
> I'm used to this (v2.6.35 "make oldconfig" with no changes):
>
> [torvalds(a)i5 linux]$ make oldconfig
> scripts/kconfig/conf -o arch/x86/Kconfig
> #
> # configuration written to .config
> #
> [torvalds(a)i5 linux]$
>
> but now it prints _everything_. The old "oldconfig" only printed
> things out when there was something to be asked about.
>
> This is a regression.
>
> Linus
>

With what I submitted I did not test make oldconfig, only make
menuconfig due to gcc 4.6.0 giving me a slew of warnings.
From looking at make oldconfig I do see a more detailed explanation of
what each option is(last I remember it was more of a line with y/n)but
then again you could be seeing something completly different.

keep in mind not sure if this is with kconfig merge or not due to me
seeing make oldconfig react the same way with 2.6.35-rc6-00191-ga2dccdb
and the current(pulled a few minuetes ago)
but look kind of differently with 2.6.34(but could be wrong due to not
using make oldconfig that much).
Now if this is with what I submitted then I'll have a look at it and see
if I can get this fixed.

Justin P. Mattock

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Linus Torvalds on
On Thu, Aug 5, 2010 at 6:27 PM, Justin P. Mattock
<justinmattock(a)gmail.com> wrote:
>
> With what I submitted I did not test make oldconfig, only make menuconfig
> due to gcc 4.6.0 giving me a slew of warnings.
> From looking at make oldconfig I do see a more detailed explanation of what
> each option is(last I remember it was more of a line with y/n)but then again
> you could be seeing something completly different.

Just test what I described: do a "make oldconfig" (do it twice, if
the first one needs to actually get some input). Do it on 2.6.35, and
then on the current tree. Look at the _huge_ difference in output.

> Now if this is with what I submitted then I'll have a look at it and see if I can get this fixed.

I just did a quick git bisect. It's introduced by commit 4062f1a4c030
("kconfig: use long options in conf") by Sam Ravnborg. Apparently that
thing is totally buggy, and doesn't just change the option names, but
actively breaks them.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Justin P. Mattock on
On 08/05/2010 07:08 PM, Linus Torvalds wrote:
> On Thu, Aug 5, 2010 at 6:27 PM, Justin P. Mattock
> <justinmattock(a)gmail.com> wrote:
>>
>> With what I submitted I did not test make oldconfig, only make menuconfig
>> due to gcc 4.6.0 giving me a slew of warnings.
>> From looking at make oldconfig I do see a more detailed explanation of what
>> each option is(last I remember it was more of a line with y/n)but then again
>> you could be seeing something completly different.
>
> Just test what I described: do a "make oldconfig" (do it twice, if
> the first one needs to actually get some input). Do it on 2.6.35, and
> then on the current tree. Look at the _huge_ difference in output.
>

yeah I see what your hitting, just experienced what you posted

make oldconfig
scripts/kconfig/conf -o arch/x86/Kconfig
#
# configuration written to .config
#

(just sits there)

seemed to not want to go away.(doing a make menuconfig got
make oldconfig to wake up of whatever it was in) as for reproducing
(even though already bisected) seems once make oldconfig starts working
properly, hitting the above doesn't happen as easily.


>> Now if this is with what I submitted then I'll have a look at it and see if I can get this fixed.
>
> I just did a quick git bisect. It's introduced by commit 4062f1a4c030
> ("kconfig: use long options in conf") by Sam Ravnborg. Apparently that
> thing is totally buggy, and doesn't just change the option names, but
> actively breaks them.
>
> Linus
>

cool..

Justin P. Mattock
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Arve Hjønnevåg on
On Wed, Aug 4, 2010 at 5:51 AM, Michal Marek <mmarek(a)suse.cz> wrote:
> Hi Linus,
>
> this is the kconfig part of kbuild. We have four new *config targets:
> * oldnoconfig: set all new options to 'n'
> * listnewconfig: list all unset config options
> * alldefconfig: set all options to their defaults specified in Kconfig
> �files
> * savedefconfig: write a defconfig file with only the differences from
> �an alldefconfig (aka minimal defconfig)
>
> Kconfig also warns when a select statement selects a symbol with unmet
> dependencies (which typically results in a broken config). Li Zefan did
> quite some usability fixes to the visual config interfaces.
>
> Michal
>
> The following changes since commit 9fe6206f400646a2322096b56c59891d530e8d51:
>
> �Linux 2.6.35 (2010-08-01 15:11:14 -0700)
>
> are available in the git repository at:
> �git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git kconfig
>
> Aristeu Rozanski (1):
> � � �kconfig: introduce nonint_oldconfig and loose_nonint_oldconfig
>
> Catalin Marinas (1):
> � � �kbuild: Warn on selecting symbols with unmet direct dependencies
>
> Jan Beulich (1):
> � � �kconfig: Don't write invisible choice values

This change prevents some the minimal defconfig options from working.
Specifically our usb gadget drivers do not get set. Reverting this
part of the changes fixes my problem, but I don't know what other side
effects it may have:

diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
index e95718f..1797226 100644
--- a/scripts/kconfig/symbol.c
+++ b/scripts/kconfig/symbol.c
@@ -261,18 +261,14 @@ struct symbol *sym_choice_default(struct symbol *sym)
static struct symbol *sym_calc_choice(struct symbol *sym)
{
struct symbol *def_sym;
- struct property *prop;
- struct expr *e;
-
- /* first calculate all choice values' visibilities */
- prop = sym_get_choice_prop(sym);
- expr_list_for_each_sym(prop->expr, e, def_sym)
- sym_calc_visibility(def_sym);

/* is the user choice visible? */
def_sym = sym->def[S_DEF_USER].val;
- if (def_sym && def_sym->visible != no)
- return def_sym;
+ if (def_sym) {
+ sym_calc_visibility(def_sym);
+ if (def_sym->visible != no)
+ return def_sym;
+ }

def_sym = sym_choice_default(sym);


--
Arve Hj�nnev�g
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/