[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