From: Siarhei Siamashka Date: Wed, 28 Oct 2015 04:24:16 +0000 (+0200) Subject: mmc: Use lldiv() for 64-bit division in write_raw_image() X-Git-Tag: v2016.01-rc1~39 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=5e0efc1bc6e358efcf6cd234192a0eead21d760f;p=u-boot mmc: Use lldiv() for 64-bit division in write_raw_image() This fixes compilation problems when using a hardfloat toolchain on ARM, which manifest themselves as "libgcc.a(_udivmoddi4.o) uses VFP register arguments, u-boot does not". These problems have been reported in the U-Boot mailing list: http://lists.denx.de/pipermail/u-boot/2015-October/230314.html http://lists.denx.de/pipermail/u-boot/2015-October/231908.html Signed-off-by: Siarhei Siamashka Reviewed-by: Tom Rini --- diff --git a/common/fb_mmc.c b/common/fb_mmc.c index e4fbd8dfa7..b480e76554 100644 --- a/common/fb_mmc.c +++ b/common/fb_mmc.c @@ -13,6 +13,7 @@ #include #include #include +#include #ifndef CONFIG_FASTBOOT_GPT_NAME #define CONFIG_FASTBOOT_GPT_NAME GPT_ENTRY_NAME @@ -73,7 +74,7 @@ static void write_raw_image(block_dev_desc_t *dev_desc, disk_partition_t *info, /* determine number of blocks to write */ blkcnt = ((download_bytes + (info->blksz - 1)) & ~(info->blksz - 1)); - blkcnt = blkcnt / info->blksz; + blkcnt = lldiv(blkcnt, info->blksz); if (blkcnt > info->size) { error("too large for partition: '%s'\n", part_name);