From: Marek Vasut <marek.vasut@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/5] Build: Add "board options" column to boards.cfg
Date: Sun, 17 Oct 2010 02:12:16 +0200 [thread overview]
Message-ID: <201010170212.17008.marek.vasut@gmail.com> (raw)
In-Reply-To: <1287273462-14872-2-git-send-email-wd@denx.de>
Dne Ne 17. ??jna 2010 01:57:38 Wolfgang Denk napsal(a):
> From: Marek Vasut <marek.vasut@gmail.com>
>
> There are some boards where it's currently not possible to detect all
> board information at runtime, therefore a new column was added to
> boards.cfg .
>
> This column can contain multiple options: a board configuration name,
> optionally followed by a colon (':') and a list of options, which are
> separated by comma (',').
>
> In case of simple options like '256M_U_BOOT', these expand to
> "#define CONFIG_MK_256M_U_BOOT 1" in config.h . In case of
> assignments like 'RAM=8192', these expand to "#define CONFIG_MK_RAM
> 8192" in config.h .
>
Didn't you say CONFIG_MK_ was being changed to plain CONFIG_ ? You left
CONFIG_MK_RAM above.
Cheers
> Example:
>
> FOO:HAS_BAR,BAZ=64
>
> means:
> - the name of the board config file is include/configs/FOO.h
> - the generated file include/config.h will contain these
> lines:
>
> #define CONFIG_HAS_BAR 1
> #define CONFIG_BAZ 64
>
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
>
> [wd at denx.de: edited commit message; added code to deal with an
> optional board configuration name]
>
> Signed-off-by: Wolfgang Denk <wd@denx.de>
> ---
> boards.cfg | 4 ++--
> mkconfig | 34 +++++++++++++++++++++++++++++-----
> 2 files changed, 31 insertions(+), 7 deletions(-)
>
> diff --git a/boards.cfg b/boards.cfg
> index 91d75d3..1f44525 100644
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -17,8 +17,8 @@
> #
> # :.,$! sort -f -k2,2 -k3,3 -k6,6 -k5,5 -k1,1
> #
> -# Target ARCH CPU Board name Vendor SoC
> -##########################################################################
> # +# Target ARCH CPU Board name Vendor SoC Options
> +##########################################################################
> #####################
>
> qong arm arm1136 - davedenx mx31
> mx31ads arm arm1136 - freescale mx31
> diff --git a/mkconfig b/mkconfig
> index b661071..f3054ce 100755
> --- a/mkconfig
> +++ b/mkconfig
> @@ -5,7 +5,7 @@
> #
> # Parameters: Target Architecture CPU Board [VENDOR] [SOC]
> #
> -# (C) 2002-2006 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
> +# (C) 2002-2010 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
> #
>
> APPEND=no # Default: Create new config file
> @@ -17,6 +17,7 @@ cpu=""
> board=""
> vendor=""
> soc=""
> +options=""
>
> if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then
> # Automatic mode
> @@ -41,11 +42,12 @@ while [ $# -gt 0 ] ; do
> done
>
> [ $# -lt 4 ] && exit 1
> -[ $# -gt 6 ] && exit 1
> +[ $# -gt 7 ] && exit 1
>
> +# Strip all options and/or _config suffixes
> CONFIG_NAME="${1%_config}"
>
> -[ "${BOARD_NAME}" ] || BOARD_NAME="${CONFIG_NAME}"
> +[ "${BOARD_NAME}" ] || BOARD_NAME="${1%_config}"
>
> arch="$2"
> cpu="$3"
> @@ -56,13 +58,34 @@ else
> fi
> [ $# -gt 4 ] && [ "$5" != "-" ] && vendor="$5"
> [ $# -gt 5 ] && [ "$6" != "-" ] && soc="$6"
> +[ $# -gt 6 ] && [ "$7" != "-" ] && {
> + # check if we have a board config name in the options field
> + # the options field mave have a board config name and a list
> + # of options, both separated by a colon (':'); the options are
> + # separated by commas (',').
> + #
> + # Check for board name
> + tmp="${7%:*}"
> + if [ "$tmp" ] ; then
> + CONFIG_NAME="$tmp"
> + fi
> + # Check if we only have a colon...
> + if [ "${tmp}" != "$7" ] ; then
> + options=${7#*:}
> + TARGETS="`echo ${options} | sed 's:,: :g'` ${TARGETS}"
> + fi
> +}
>
> if [ "${ARCH}" -a "${ARCH}" != "${arch}" ]; then
> echo "Failed: \$ARCH=${ARCH}, should be '${arch}' for ${BOARD_NAME}" 1>&2
> exit 1
> fi
>
> -echo "Configuring for ${BOARD_NAME} board..."
> +if [ "$options" ] ; then
> + echo "Configuring for ${BOARD_NAME} - Board: ${CONFIG_NAME}, Options:
> ${options}" +else
> + echo "Configuring for ${BOARD_NAME} board..."
> +fi
>
> #
> # Create link to architecture specific headers
> @@ -126,7 +149,8 @@ fi
> echo "/* Automatically generated - do not edit */" >>config.h
>
> for i in ${TARGETS} ; do
> - echo "#define CONFIG_MK_${i} 1" >>config.h ;
> + i="`echo ${i} | sed '/=/ {s/=/\t/;q } ; { s/$/\t1/ }'`"
> + echo "#define CONFIG_MK_${i}" >>config.h ;
> done
>
> cat << EOF >> config.h
next prev parent reply other threads:[~2010-10-17 0:12 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-11 9:45 [U-Boot] [PATCH 0/3] Makefile cleanup Wolfgang Denk
2010-10-11 9:45 ` [U-Boot] [PATCH 1/3] Build: Add "board options" column to boards.cfg Wolfgang Denk
2010-10-11 9:45 ` [U-Boot] [PATCH 2/3] mkconfig: change CONFIG_MK_ prefix into plain CONFIG_ Wolfgang Denk
2010-10-11 19:17 ` Mike Frysinger
2010-10-12 19:46 ` Wolfgang Denk
2010-10-11 9:45 ` [U-Boot] [PATCH 3/3] Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 0/5] Makefile cleanup Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 1/5] Build: Add "board options" column to boards.cfg Wolfgang Denk
2010-10-17 0:12 ` Marek Vasut [this message]
2010-10-17 7:16 ` Wolfgang Denk
2010-10-17 0:13 ` Reinhard Meyer
2010-10-17 7:33 ` Wolfgang Denk
2010-10-18 20:00 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 2/5] mkconfig: change CONFIG_MK_ prefix into plain CONFIG_ Wolfgang Denk
2010-10-17 6:24 ` Mike Frysinger
2010-10-18 20:02 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 3/5] Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE Wolfgang Denk
2010-10-18 20:08 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 4/5] autoconfig.mk: avoid apostophes around hex values Wolfgang Denk
2010-10-17 6:23 ` Mike Frysinger
2010-10-18 20:09 ` Wolfgang Denk
2010-10-16 23:57 ` [U-Boot] [PATCH v2 5/5] Makefile: move all Power Architecture boards into boards.cfg Wolfgang Denk
2010-10-18 20:12 ` Wolfgang Denk
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=201010170212.17008.marek.vasut@gmail.com \
--to=marek.vasut@gmail.com \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.