[PATCH 14/15] ARM omap spi image: relax size constrains

Sascha Hauer s.hauer at pengutronix.de
Fri Oct 26 02:59:07 EDT 2012


The omap spi utility requires the image size to be a multiple of four
bytes. This seems unnecessary, we can just pad with a few bytes to
get the required alignment.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 scripts/mk-am35xx-spi-image.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/scripts/mk-am35xx-spi-image.c b/scripts/mk-am35xx-spi-image.c
index ec311fd..1372fbd 100644
--- a/scripts/mk-am35xx-spi-image.c
+++ b/scripts/mk-am35xx-spi-image.c
@@ -95,10 +95,6 @@ int main(int argc, char *argv[])
 		perror("ftello");
 		exit(EXIT_FAILURE);
 	}
-	if (pos % 4) {
-		printf("error: image size must be a multiple of 4 bytes\n");
-		exit(EXIT_FAILURE);
-	}
 	if (pos > 0x100000) {
 		printf("error: image should be smaller than 1 MiB\n");
 		exit(EXIT_FAILURE);
@@ -109,6 +105,8 @@ int main(int argc, char *argv[])
 		exit(EXIT_FAILURE);
 	}
 
+	pos = (pos + 3) & ~3;
+
 	/* image size */
 	temp = htobe32((uint32_t)pos);
 	fwrite(&temp, sizeof(uint32_t), 1, stdout);
@@ -121,7 +119,7 @@ int main(int argc, char *argv[])
 		size = fread(&temp, 1, sizeof(uint32_t), input);
 		if (!size)
 			break;
-		if (size != 4) {
+		if (size < 4 && !feof(input)) {
 			perror("fread");
 			exit(EXIT_FAILURE);
 		}
-- 
1.7.10.4




More information about the barebox mailing list