diff mbox

[U-Boot] fdt: avoid bad MAKEALL status

Message ID 1334839004-23158-1-git-send-email-wd@denx.de
State Accepted
Commit 896bbb5316f9e473d95766a2f295cc6f69af3a51
Headers show

Commit Message

Wolfgang Denk April 19, 2012, 12:36 p.m. UTC
Current versions of  dtc  always print a message like

	DTC: dts->dtb  on file "dt.dtb.tmp"

which cannot even be suppressed with "-qqq".  To avoid incorrect
MAKEALL status, we manually filter out this message.  This is a bit
complicated, as we have to make sure to set a correct return code.

Also, get rid of the temp file: dtc accepts "-" for stdin.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Simon Glass <sjg@chromium.org>
---
 dts/Makefile |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

Comments

Simon Glass April 19, 2012, 2:16 p.m. UTC | #1
Hi Wolfgang,

On Thu, Apr 19, 2012 at 5:36 AM, Wolfgang Denk <wd@denx.de> wrote:
> Current versions of  dtc  always print a message like
>
>        DTC: dts->dtb  on file "dt.dtb.tmp"
>
> which cannot even be suppressed with "-qqq".  To avoid incorrect
> MAKEALL status, we manually filter out this message.  This is a bit
> complicated, as we have to make sure to set a correct return code.

See the discussion on this patch:

http://patchwork.ozlabs.org/patch/149833/

A patch to fix this has now been accepted to dtc. So if you update dtc
you should find this message goes away.

3cbf829 dtc: Remove spurious output on stderr


>
> Also, get rid of the temp file: dtc accepts "-" for stdin.
>
> Signed-off-by: Wolfgang Denk <wd@denx.de>
> Cc: Simon Glass <sjg@chromium.org>
> ---
>  dts/Makefile |   10 +++++++---
>  1 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/dts/Makefile b/dts/Makefile
> index 8b13b23..914e479 100644
> --- a/dts/Makefile
> +++ b/dts/Makefile
> @@ -46,9 +46,13 @@ all: $(obj).depend $(LIB)
>  DT_BIN := $(obj)dt.dtb
>
>  $(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
> -       cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >$@.tmp
> -       $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} $@.tmp
> -       rm $@.tmp
> +       rc=$$( \
> +               cat $< | $(CPP) -P $(DTS_CPPFLAGS) - | \
> +               { { $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} - 2>&1 ; \
> +                   echo $$? >&3 ; } | \
> +                 grep -v '^DTC: dts->dtb  on file' ; \
> +               } 3>&1 ) ; \
> +       exit $$rc
>
>  process_lds = \
>        $(1) | sed -r -n 's/^OUTPUT_$(2)[ ("]*([^")]*).*/\1/p'
> --
> 1.7.7.6
>

Regards,
Simon
Wolfgang Denk April 19, 2012, 6:26 p.m. UTC | #2
Dear Simon,

In message <CAPnjgZ1=Q0=T_vZDZD47h3J65FHitO+0giUkX7pUrECYp=BOkQ@mail.gmail.com> you wrote:
> 
> A patch to fix this has now been accepted to dtc. So if you update dtc
> you should find this message goes away.
> 
> 3cbf829 dtc: Remove spurious output on stderr

There are many systems out there in the field which are subject to a
rigid policy, and only distribution provided packages get provided.
Many of the "interesting" distributions don't have this fix yet; for
example, Fedora 16 (dtc-1.3.0-2.fc16.x86_64) or Debian Wheezy
(device-tree-compiler 1.3.0-2) bundle DTC version 1.3.0, which is not
fixed yet.

For the sake of those people I would like to apply this patch.

Best regards,

Wolfgang Denk
Simon Glass April 19, 2012, 6:32 p.m. UTC | #3
On Thu, Apr 19, 2012 at 11:26 AM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Simon,
>
> In message <CAPnjgZ1=Q0=T_vZDZD47h3J65FHitO+0giUkX7pUrECYp=BOkQ@mail.gmail.com> you wrote:
>>
>> A patch to fix this has now been accepted to dtc. So if you update dtc
>> you should find this message goes away.
>>
>> 3cbf829 dtc: Remove spurious output on stderr
>
> There are many systems out there in the field which are subject to a
> rigid policy, and only distribution provided packages get provided.
> Many of the "interesting" distributions don't have this fix yet; for
> example, Fedora 16 (dtc-1.3.0-2.fc16.x86_64) or Debian Wheezy
> (device-tree-compiler 1.3.0-2) bundle DTC version 1.3.0, which is not
> fixed yet.
>
> For the sake of those people I would like to apply this patch.

Acked-by: Simon Glass <sjg@chromium.org>

>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
> The number you have dialed is imaginary. Please divide by 0  and  try
> again.
Wolfgang Denk April 21, 2012, 2:48 p.m. UTC | #4
Dear Wolfgang Denk,

In message <1334839004-23158-1-git-send-email-wd@denx.de> you wrote:
> Current versions of  dtc  always print a message like
> 
> 	DTC: dts->dtb  on file "dt.dtb.tmp"
> 
> which cannot even be suppressed with "-qqq".  To avoid incorrect
> MAKEALL status, we manually filter out this message.  This is a bit
> complicated, as we have to make sure to set a correct return code.
> 
> Also, get rid of the temp file: dtc accepts "-" for stdin.
> 
> Signed-off-by: Wolfgang Denk <wd@denx.de>
> Cc: Simon Glass <sjg@chromium.org>
> ---
>  dts/Makefile |   10 +++++++---
>  1 files changed, 7 insertions(+), 3 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk
diff mbox

Patch

diff --git a/dts/Makefile b/dts/Makefile
index 8b13b23..914e479 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -46,9 +46,13 @@  all:	$(obj).depend $(LIB)
 DT_BIN	:= $(obj)dt.dtb
 
 $(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
-	cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >$@.tmp
-	$(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} $@.tmp
-	rm $@.tmp
+	rc=$$( \
+		cat $< | $(CPP) -P $(DTS_CPPFLAGS) - | \
+		{ { $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} - 2>&1 ; \
+		    echo $$? >&3 ; } | \
+		  grep -v '^DTC: dts->dtb  on file' ; \
+	        } 3>&1 ) ; \
+	exit $$rc
 
 process_lds = \
 	$(1) | sed -r -n 's/^OUTPUT_$(2)[ ("]*([^")]*).*/\1/p'