dfu: allow backend to specify a maximum buffer size

CONFIG_SYS_DFU_DATA_BUF_SIZE may be large to allow for FAT/ext layouts
to transfer large files. However, this means that individual write
operations will take a long time. Allow backends to specify a maximum
buffer size, so that each write operation is limited to a smaller data
block. This prevents the DFU protocol from timing out when e.g. writing
to SPI flash. I would guess that NAND might benefit from setting this
value too, but I can't test that.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
diff --git a/include/dfu.h b/include/dfu.h
index 21390aa..d5562dc 100644
--- a/include/dfu.h
+++ b/include/dfu.h
@@ -91,6 +91,7 @@
 	void                    *dev_private;
 	enum dfu_device_type    dev_type;
 	enum dfu_layout         layout;
+	unsigned long           max_buf_size;
 
 	union {
 		struct mmc_internal_data mmc;
@@ -138,7 +139,7 @@
 int dfu_get_alt(char *name);
 bool dfu_reset(void);
 int dfu_init_env_entities(char *interface, char *devstr);
-unsigned char *dfu_get_buf(void);
+unsigned char *dfu_get_buf(struct dfu_entity *dfu);
 unsigned char *dfu_free_buf(void);
 unsigned long dfu_get_buf_size(void);