From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cantor.suse.de ([195.135.220.2]:55866 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757706Ab0HJOHA (ORCPT ); Tue, 10 Aug 2010 10:07:00 -0400 Message-ID: <4C615C84.6060300@suse.cz> Date: Tue, 10 Aug 2010 16:04:52 +0200 From: Michal Marek MIME-Version: 1.0 Subject: Re: [GIT] kbuild: kconfig changes References: <20100804125156.GA23464@sepie.suse.cz> <20100807040101.GA30520@merkur.ravnborg.org> <20100808155712.GA4804@merkur.ravnborg.org> In-Reply-To: <20100808155712.GA4804@merkur.ravnborg.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kbuild-owner@vger.kernel.org List-ID: To: Sam Ravnborg Cc: Arve Hj?nnev?g , Linus Torvalds , JBeulich@novell.com, aris@redhat.com, catalin.marinas@arm.com, jacmet@sunsite.dk, justinmattock@gmail.com, lizf@cn.fujitsu.com, ulfalizer.lkml@gmail.com, zippel@linux-m68k.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org On 8.8.2010 17:57, Sam Ravnborg wrote: > On Fri, Aug 06, 2010 at 09:43:24PM -0700, Arve Hj?nnev?g wrote: >> On Fri, Aug 6, 2010 at 9:01 PM, Sam Ravnborg wrote: >>>> >>>> This change prevents some the minimal defconfig options from working. >>>> Specifically our usb gadget drivers do not get set. >>> >>> Can you help me reproduce this? >>> >>> I have found an issue with choice values in combination with >>> tristate logic that fails. I hope this is something similar. >>> >> >> It is probably the same problem. The gadget driver that was not set is >> not buildable as a module (it is not in the mainline kernel). If I >> select another gadget driver instead it just gets changed to build as >> a module instead. >> >> If you create a file, arch/arm/configs/test_defconfig with the following: >> CONFIG_MODULES=y >> CONFIG_USB_GADGET=y >> CONFIG_USB_MASS_STORAGE=y >> >> then "make test_defconfig" results in .config having: >> CONFIG_USB_MASS_STORAGE=m >> >> (at least if you are set up to compile for arm) > > Thanks Arve. > > I have it reproduced now with a simple Kconfig: > > $ cat Kconfig > config M > def_bool y > option modules > > choice > prompt "choice list" > > config A > tristate "a" > > config B > tristate "b" > > endchoice > > $cat defconfig > CONFIG_M=y > CONFIG_A=y > # CONFIG_B is not set > > > If I do: > > $scripts/kconfig/conf --defconfig=defconfig Kconfig > > with the above input the resulting .config is OK. > > But If I drop the line: > > # CONFIG_B is not set > > in the defconfig file then I end with CONFIG_A set to m. > And this is not as expected - I cannot see why it should matter > if we specify the value of B or not. > > What we see here is that savedefconfig trigger a bug in the > other part of kconfig - a bug which was not exposed before. > > The reason why your patch cured it was that we then no > longer triggered the bug (at least I guess so I did not look to close). > > I will look into this as time permits. I assume the fix is simple > when I find the reason. I'm looking into it now, but understanding the kconfig internals is not easy... Michal