public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] omap cleanup part1 for v3.2 merge window
Date: Wed, 21 Sep 2011 09:06:47 +0200	[thread overview]
Message-ID: <1836081.h7sKlomlak@wuerfel> (raw)
In-Reply-To: <20110920223311.GK2937@atomide.com>

On Tuesday 20 September 2011 15:33:12 Tony Lindgren wrote:
> * Arnd Bergmann <arnd@arndb.de> [110920 14:12]:
> > On Tuesday 20 September 2011, Arnd Bergmann wrote:
> > > 
> > > 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.

> > 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

  reply	other threads:[~2011-09-21  7:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-17  1:46 [GIT PULL] omap cleanup part1 for v3.2 merge window Tony Lindgren
2011-09-20 20:01 ` Arnd Bergmann
2011-09-20 20:55   ` Tony Lindgren
2011-09-20 21:34 ` Arnd Bergmann
2011-09-20 21:46   ` Arnd Bergmann
2011-09-20 22:33     ` Tony Lindgren
2011-09-21  7:06       ` Arnd Bergmann [this message]
2011-09-22  0:52         ` Tony Lindgren
2011-09-21  9:28     ` Arnd Bergmann
2011-09-21 13:51       ` Tony Lindgren
2011-09-21 16:43       ` Kevin Hilman
2011-09-22 14:33         ` Arnd Bergmann
2011-09-22 16:15           ` Kevin Hilman
2011-09-23 22:53         ` Tony Lindgren
2011-09-30 20:04           ` Arnd Bergmann
2011-09-20 23:25   ` [PATCH] ARM: OMAP2+: Fix missing inline functions for Makefile cleanup (Re: [GIT PULL] omap cleanup part1 for v3.2 merge window) Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1836081.h7sKlomlak@wuerfel \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox