summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kumar Gala <galak@kernel.crashing.org> 2007-12-04 17:36:08 -0600
committer Jon Loeliger <jdl@freescale.com> 2007-12-05 08:27:54 -0600
commit80c72a81cffdfde0965853d1ea834352b3e91f89 (patch)
treec84adc8827c077a0a8af5df97df5a41f5221d603
parentc048102f5bcafb9a316bd7532fe3958c99af6b74 (diff)
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>
-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);