Thread (11 messages) 11 messages, 2 authors, 2011-09-22

[GIT PULL] omap cleanup part1 for v3.2 merge window

From: arnd@arndb.de (Arnd Bergmann)
Date: 2011-09-21 07:06:47
Also in: linux-omap

On Tuesday 20 September 2011 15:33:12 Tony Lindgren wrote:
* Arnd Bergmann [off-list ref] [110920 14:12]:
quoted
On Tuesday 20 September 2011, Arnd Bergmann wrote:
quoted
One more thing: my randconfig tests are running now and
have spit out a new error after merging lost of stuff
today:
Good to hear you got "arndconfig" running :)

Do you think we could also add support for something
like this:

$ echo CONFIG_ARCH_OMAP=y > .config
$ make randconfig

or

$ make --force=CONFIG_ARCH_OMAP randconfig

Where randconfig would keep the forced CONFIG_ARCH_OMAP
static while randomly selecting the others?

This would allow targeted randconfig for each patch more
or less..
The mechanism I use is setting KCONFIG_ALLCONFIG= to a file
that has the options I want to have set to a specific value.

If you don't do that, randconfig will take the default option
for each 'choice' statement, which means we build for the
ARCH_VERSATILE platform.

See the script I'm using at the end of this mail. It should
be easy for you to pick out the parts you need.
quoted
It seems that you replace the #ifdef in the board-flash.c file
with a similar #ifdef in the header that replaces this with an
empty inline function when the object is not built.
Oops. I'll do a fix for that. Those should be now inline
functions in the header.

As various other omap branches are based on the cleanup I'd
rather not go mess with the original patch unless you insist.
Totally fine with me. This is just a corner case anyway, since most
configurations will have flash enabled I guess.

	Arnd

8<---
#!/bin/bash

export ARCH=arm
export PATH=/usr/bin:/bin
export CROSS_COMPILE=arm-linux-gnueabihf-
export PARALLEL=-j6
export CCACHE_DISABLE=1
export O=$PWD/obj-tmp

gen_allconfig()
{
        declare -a MACH
	MACH[1]=OMAP
	MACH[2]=EXYNOS4
	MACH[3]=U8500
	MACH[4]=VEXPRESS
	MACH[5]=MXC
	MACH[6]=MSM
	MACH[7]=PXA
	MACH[8]=MMP
	MACH[9]=DOVE
	MACH[10]=KIRKWOOD
	MACH[11]=ZYNQ
	MACH[12]=PRIMA2
	MACH[13]=TEGRA
	MACH[14]=SHMOBILE

        declare -a MXC
        MXC[1]=MX3
        MXC[2]=MX503
        MXC[3]=MX51

        declare -a AT91
        AT91[1]=ARCH_AT91RM9200
        AT91[2]=ARCH_AT91SAM9260
        AT91[3]=ARCH_AT91SAM9261
        AT91[4]=ARCH_AT91SAM9G10
        AT91[5]=ARCH_AT91SAM9263
        AT91[6]=ARCH_AT91SAM9RL
        AT91[7]=ARCH_AT91SAM9G20
        AT91[8]=ARCH_AT91SAM9G45
        AT91[9]=ARCH_AT91CAP9
        AT91[10]=ARCH_AT91X40

	  # pick one ARCH_* option from the main choice statement
        echo "CONFIG_ARCH_${MACH[$[ $RANDOM % ${#MACH[@]} +1 ]]}=y"

	  # IMX and AT91 have another choice statement
        echo "CONFIG_ARCH_${MXC[$[ $RANDOM % ${#MXC[@]} +1 ]]}=y"
        echo "CONFIG_${MXC[$[ $RANDOM % ${#AT91[@]} +1 ]]}=y"

	  # These have to be fixed in order to avoid huge build breakage.
        echo "# CONFIG_XIP_KERNEL is not set"
        echo "# CONFIG_STAGING is not set"
        echo "CONFIG_MMU=y"
        echo "CONFIG_PREVENT_FIRMWARE_BUILD=y"

        # add a few choice options that don't normally get selected
        [ $[RANDOM % 2 ] == 1 ] || echo "CONFIG_PROFILE_ALL_BRANCHES=y"
        [ $[RANDOM % 2 ] == 1 ] || echo "CONFIG_SLAB=y"
        [ $[RANDOM % 2 ] == 1 ] || echo "CONFIG_PREEMPT=y"
}

prepare()
{
        mkdir -p ${O}
        make O=${O} clean
        gen_allconfig > ${O}/allconfig
        make O=${O} KCONFIG_ALLCONFIG=${O}/allconfig randconfig
}

mkdir -p out
prepare
for i in `seq -w 9999` ; do
        if ! make O=${O} -k -s ${PARALLEL} CFLAGS_KERNEL+=-Wno-uninitialized KALLSYMS_EXTRA_PASS=1 2> out/warnings-$i ; then
                make O=${O} -k -s CFLAGS_KERNEL+=-Wno-uninitialized KALLSYMS_EXTRA_PASS=1 2> out/errors-$i
                cp ${O}/.config out/config-broken-$i
        else
                cp ${O}/.config out/config-ok-$i
        fi
        prepare
done
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help