[U-Boot] [PATCH V2 1/9] Validate dtc is new enough
Simon Glass
sjg at chromium.org
Tue Jun 25 02:45:02 CEST 2013
Hi Stephen,
On Mon, Jun 24, 2013 at 8:43 AM, Stephen Warren <swarren at wwwdotorg.org>wrote:
> From: Stephen Warren <swarren at nvidia.com>
>
> Subsequent patches assume that dtc supports various recent features.
> These are available in dtc 1.4.0. Validate that dtc is at least that
> version.
>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
> v2: New patch.
>
Acked-by: Simon Glass <sjg at chromium.org>
See note below.
> ---
> Makefile | 8 +++++++-
> config.mk | 1 +
> tools/dtc-version.sh | 20 ++++++++++++++++++++
> 3 files changed, 28 insertions(+), 1 deletion(-)
> create mode 100755 tools/dtc-version.sh
>
> diff --git a/Makefile b/Makefile
> index 50880c9..f167458 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -428,7 +428,7 @@ endif
>
> all: $(ALL-y) $(SUBDIR_EXAMPLES)
>
> -$(obj)u-boot.dtb: $(obj)u-boot
> +$(obj)u-boot.dtb: checkdtc $(obj)u-boot
>
Any reason this is not in dts/Makefile? Still this is fine.
> $(MAKE) -C dts binary
> mv $(obj)dts/dt.dtb $@
>
> @@ -686,6 +686,12 @@ checkgcc4:
> false; \
> fi
>
> +checkdtc:
> + @if test $(call dtc-version) -lt 0104; then \
> + echo '*** Your dtc is too old, please upgrade to dtc 1.4
> or newer'; \
> + false; \
> + fi
> +
> #
> # Auto-generate the autoconf.mk file (which is included by all makefiles)
> #
> diff --git a/config.mk b/config.mk
> index 6e17ed8..32643ec 100644
> --- a/config.mk
> +++ b/config.mk
> @@ -136,6 +136,7 @@ endif
> # Usage gcc-ver := $(call cc-version)
> cc-version = $(shell $(SHELL) $(SRCTREE)/tools/gcc-version.sh $(CC))
> binutils-version = $(shell $(SHELL) $(SRCTREE)/tools/binutils-version.sh
> $(AS))
> +dtc-version = $(shell $(SHELL) $(SRCTREE)/tools/dtc-version.sh $(DTC))
>
> #
> # Include the make variables (CC, etc...)
> diff --git a/tools/dtc-version.sh b/tools/dtc-version.sh
> new file mode 100755
> index 0000000..e8c94d3
> --- /dev/null
> +++ b/tools/dtc-version.sh
> @@ -0,0 +1,20 @@
> +#!/bin/sh
> +#
> +# dtc-version dtc-command
> +#
> +# Prints the dtc version of `dtc-command' in a canonical 4-digit form
> +# such as `0222' for binutils 2.22
> +#
> +
> +dtc="$*"
> +
> +if [ ${#dtc} -eq 0 ]; then
> + echo "Error: No dtc command specified."
> + printf "Usage:\n\t$0 <dtc-command>\n"
> + exit 1
> +fi
> +
> +MAJOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 1)
> +MINOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 2)
> +
> +printf "%02d%02d\\n" $MAJOR $MINOR
> --
> 1.8.1.5
>
>
More information about the U-Boot
mailing list