fastboot: sparse: make write_sparse_image useable for non-fastboot

write_sparse_image could be useful for non-fastboot users.
For ex a platform, without usb-device/fastboot support, could
get sparse images over tftp and write using the mmc command.
Or non-android systems could also leverage the sparse format.

Towards that, this patch removes anything fastboot specific from
the write_sparse_image implementation. Which includes making the
function return integer as error code and calls for fastboot logging
via an optional callback function 'mssg'.

Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
diff --git a/common/fb_nand.c b/common/fb_nand.c
index d7d9eb0..c07655e 100644
--- a/common/fb_nand.c
+++ b/common/fb_nand.c
@@ -174,12 +174,15 @@
 		sparse.size = part->size / sparse.blksz;
 		sparse.write = fb_nand_sparse_write;
 		sparse.reserve = fb_nand_sparse_reserve;
+		sparse.mssg = fastboot_fail;
 
 		printf("Flashing sparse image at offset " LBAFU "\n",
 		       sparse.start);
 
 		sparse.priv = &sparse_priv;
-		write_sparse_image(&sparse, cmd, download_buffer);
+		ret = write_sparse_image(&sparse, cmd, download_buffer);
+		if (!ret)
+			fastboot_okay("");
 	} else {
 		printf("Flashing raw image at offset 0x%llx\n",
 		       part->offset);