Right now a FS load for fit is being detected using the priv field. But
this can be used by others media. So, introduce a filename field to
detect a FS load.

Signed-off-by: Lokesh Vutla <lokeshvu...@ti.com>
---
 common/spl/spl_fat.c | 4 ++--
 common/spl/spl_fit.c | 6 +++---
 include/spl.h        | 2 ++
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c
index cdb9811..9df2fc2 100644
--- a/common/spl/spl_fat.c
+++ b/common/spl/spl_fat.c
@@ -45,7 +45,7 @@ static ulong spl_fit_read(struct spl_load_info *load, ulong 
file_offset,
 {
        loff_t actread;
        int ret;
-       char *filename = (char *)load->priv;
+       const char *filename = load->filename;
 
        ret = fat_read_file(filename, buf, file_offset, size, &actread);
        if (ret)
@@ -79,7 +79,7 @@ int spl_load_image_fat(struct blk_desc *block_dev,
                debug("Found FIT\n");
                load.read = spl_fit_read;
                load.bl_len = 1;
-               load.priv = (void *)filename;
+               load.filename = filename;
 
                return spl_load_simple_fit(&load, 0, header);
        } else {
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index a0ea44c..78ce15f 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -87,7 +87,7 @@ static int get_aligned_image_offset(struct spl_load_info 
*info, int offset)
         * aligned to ARCH_DMA_MINALIGN. If it is raw read return the
         * block number to which offset belongs.
         */
-       if (info->priv)
+       if (info->filename)
                return offset & ~(ARCH_DMA_MINALIGN - 1);
 
        return offset / info->bl_len;
@@ -101,7 +101,7 @@ static int get_aligned_image_overhead(struct spl_load_info 
*info, int offset)
         * ARCH_DMA_MINALIGN. If it is raw read return the offset within the
         * block.
         */
-       if (info->priv)
+       if (info->filename)
                return offset & (ARCH_DMA_MINALIGN - 1);
 
        return offset % info->bl_len;
@@ -110,7 +110,7 @@ static int get_aligned_image_overhead(struct spl_load_info 
*info, int offset)
 static int get_aligned_image_size(struct spl_load_info *info, int data_size,
                                  int offset)
 {
-       if (info->priv)
+       if (info->filename)
                return data_size + get_aligned_image_overhead(info, offset);
 
        return (data_size + info->bl_len - 1) / info->bl_len;
diff --git a/include/spl.h b/include/spl.h
index 358e81b..af02a6d 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -35,12 +35,14 @@ struct spl_image_info {
  * @dev: Pointer to the device, e.g. struct mmc *
  * @priv: Private data for the device
  * @bl_len: Block length for reading in bytes
+ * @filename: Name of the fit image file.
  * @read: Function to call to read from the device
  */
 struct spl_load_info {
        void *dev;
        void *priv;
        int bl_len;
+       const char *filename;
        ulong (*read)(struct spl_load_info *load, ulong sector, ulong count,
                      void *buf);
 };
-- 
2.8.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to