[FDT][PATCH] Fix padding options
From: Kumar Gala <hidden>
Date: 2007-12-04 23:37:50
Subsystem:
the rest · Maintainer:
Linus Torvalds
"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 <redacted> --- Better commit message for this, since my commit ID is different. flattree.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/flattree.c b/flattree.c
index c860b63..eb9c82c 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);
--
1.5.3.4