diff options
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 |
commit | 80c72a81cffdfde0965853d1ea834352b3e91f89 (patch) | |
tree | c84adc8827c077a0a8af5df97df5a41f5221d603 /flattree.c | |
parent | c048102f5bcafb9a316bd7532fe3958c99af6b74 (diff) | |
download | dtc-80c72a81cffdfde0965853d1ea834352b3e91f89.zip dtc-80c72a81cffdfde0965853d1ea834352b3e91f89.tar.gz dtc-80c72a81cffdfde0965853d1ea834352b3e91f89.tar.bz2 |
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.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -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); |