summaryrefslogtreecommitdiff
path: root/flattree.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2007-12-04 17:36:08 -0600
committerJon Loeliger <jdl@freescale.com>2007-12-05 08:27:54 -0600
commit80c72a81cffdfde0965853d1ea834352b3e91f89 (patch)
treec84adc8827c077a0a8af5df97df5a41f5221d603 /flattree.c
parentc048102f5bcafb9a316bd7532fe3958c99af6b74 (diff)
downloaddevice-tree-compiler-80c72a81cffdfde0965853d1ea834352b3e91f89.tar.gz
Fix padding options
"Add an option to pad the blob that is generated" broke the padding support. We were updating the fdt header after writing it. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'flattree.c')
-rw-r--r--flattree.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/flattree.c b/flattree.c
index 35b11b1..a7cfb84 100644
--- a/flattree.c
+++ b/flattree.c
@@ -399,6 +399,12 @@ void dt_to_blob(FILE *f, struct boot_info *bi, int version,
if (padsize > 0)
padlen = padsize;
+ if (padlen > 0) {
+ int tsize = be32_to_cpu(fdt.totalsize);
+ tsize += padlen;
+ fdt.totalsize = cpu_to_be32(tsize);
+ }
+
/*
* Assemble the blob: start with the header, add with alignment
* the reserve buffer, add the reserve map terminating zeroes,
@@ -414,12 +420,8 @@ void dt_to_blob(FILE *f, struct boot_info *bi, int version,
/*
* If the user asked for more space than is used, pad out the blob.
*/
- if (padlen > 0) {
- int tsize = be32_to_cpu(fdt.totalsize);
- tsize += padlen;
+ if (padlen > 0)
blob = data_append_zeroes(blob, padlen);
- fdt.totalsize = cpu_to_be32(tsize);
- }
fwrite(blob.val, blob.len, 1, f);