Re: ARM defconfig files

From: Felipe Contreras
Date: Sat Jun 05 2010 - 09:48:09 EST


On Thu, Jun 3, 2010 at 11:31 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 3 Jun 2010, Linus Torvalds wrote:
>>
>> I apparently haven't explained myself enough, because what you keep on
>> harping on is not something I consider acceptable.
>>
>> STD_CONFIG is pointless. It's pointless because the solution to what
>> you call STD_CONFIG would be to just NOT USING the special Kconfig.xyz
>> file at all.
>
> To make this _really_ concrete, let me actually give you an example (but
> broken and pointless) example Kconfig file, in order to _avoid_ having a
> def_config file.
>
> I do it by generating it. Let's say that I want a x86 configuration that
> has USB enabled. I can basically _ask_ the Kconfig machinery to generate
> that with something like this:
>
> Â- create a "Mykconfig" file:
>
> Â Â Â Âconfig MYCONFIG
> Â Â Â Â Â Â Â Âbool
> Â Â Â Â Â Â Â Âdefault y
> Â Â Â Â Â Â Â Âselect USB
>
> Â Â Â Âsource arch/x86/Kconfig
>
> and then I just do
>
> Â Â Â ÂKBUILD_KCONFIG=Mykconfig make allnoconfig
>
> and look what appears in the .config file. In fact, do this:
>
> Â Â Â Âmake allnoconfig
> Â Â Â Âcp .config no-config
> Â Â Â ÂKBUILD_KCONFIG=Mykconfig make allnoconfig
> Â Â Â Âcp .config my-config
> Â Â Â Âdiff -u no-config my-config
>
> to see the point of it all.
>
> Now, the above is a _trivial_ one. And it's actually broken, because I
> should not have forced CONFIG_USB (it depends on CONFIG_USB_SUPPORT).

And that's precisely the problem that his approach doesn't solve: dependencies.

---
config MYCONFIG
bool
default y
select MACH_OMAP3_BEAGLE

source arch/arm/Kconfig
---

Is the same as:
---
source arch/arm/Kconfig
---

With the SAT resolver it would be possible to have a .satconfig:
CONFIG_MACH_OMAP3_BEAGLE=y

And let the resolver figure everything out back from there.

--
Felipe Contreras
--
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/