I post here a single msg from the mega-thread, because even if it is
rejected by Linus we could reuse it in OE :)
The idea is reducing the defconfigs: for Zaurus we have very much in
common between defconfigs, so much that Iwas thinking to just create
the diffs.
Now Eric seems having a better method...

Opinions?

Andrea

---------- Forwarded message ----------
From: Eric Miao <eric.y.m...@gmail.com>
Date: Tue, Jun 8, 2010 at 4:51 PM
Subject: Re: Heads up: Linus plans to kill ARM defconfigs
To: Russell King - ARM Linux <li...@arm.linux.org.uk>
Cc: Amit Kucheria <amit.kuche...@canonical.com>, Nicolas Pitre
<n...@fluxnic.net>, Tony Lindgren <t...@atomide.com>, Martin Guy
<martinw...@gmail.com>, Marek Vasut <marek.va...@gmail.com>, Ryan
Mallon <r...@bluewatersys.com>, Andy Whitcroft <a...@canonical.com>,
linux-arm-ker...@lists.infradead.org


On Tue, Jun 8, 2010 at 9:13 PM, Russell King - ARM Linux
<li...@arm.linux.org.uk> wrote:
> On Tue, Jun 08, 2010 at 09:01:35AM -0400, Nicolas Pitre wrote:
>> I wouldn't give up on that option just yet though.  I don't think he
>> fully understood your idea, and without an actual patch it might be hard
>> to understand as well, especially for people who are not used to deal
>> with the target varieties we have on ARM.  Linus is also known to change
>> his mind when presented with evidences.
>
> The two ideas are very close to each other - and can be generated
> together.
>
> If we create something like Linus' preferred solution, we can then do
> in the main arch/arm/Kconfig:
>
> config STD_CONFIG
>        bool "blah"
>
> if STD_CONFIG
>
> if MACH_WHATEVER
> include arch/arm/config/Kconfig.whatever
> endif
>
> if MACH_BLAH
> include arch/arm/config/Kconfig.blah
> endif
>
> endif
>
> which should work as per my idea.
>

Anyway, we might need a tool to analyze those common config options across all
boards, and those not. Attached is a script used when updating debian kernel
configs, which I found might be useful. The result is still a _big_
mess to sort out
though. Below is what I did:

1. Generating a complete list of configs (updated)
ycm...@macbook-lucid:~/kernel/linux-2.6$ for i in arch/arm/configs/*;
do j=`echo $i | sed 's/.*configs\/\(.*\)_defconfig/\1/'`; echo $j;
mkdir ../build/tmp; make ARCH=arm O=../build/tmp `basename $i`; make
ARCH=arm O=../build/tmp oldconfig; cp ../build/tmp/.config
../configs/config.$j; rm -fr ../build/tmp; done

2. Use splitconfigs.pl shows the reduction of config options

ycm...@macbook-lucid:~/kernel/configs$ cat * | wc -l
258408

ycm...@macbook-lucid:~/kernel/configs$ splitconfig.pl .
Reading config's ...
Merging lists ...
Creating common config ... done.
Creating stub configs ...

ycm...@macbook-lucid:~/kernel/configs$ cat * | wc -l
142062

3. A config.common includes those options common to all config.* and
the remaining
config.* now only includes those could be different across boards.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-ker...@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Attachment: splitconfig.pl
Description: Binary data

_______________________________________________
Zaurus-devel mailing list
Zaurus-devel@lists.linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/zaurus-devel

Reply via email to