Re: [U-Boot] [PATCH 24/27] spl: Update ext functions to take an spl_image parameter

2016-09-18 Thread Tom Rini
On Sun, Sep 18, 2016 at 01:45:13PM -0600, Simon Glass wrote:

> Update the ext loader to avoid using the spl_image global variable.
> 
> Signed-off-by: Simon Glass 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 24/27] spl: Update ext functions to take an spl_image parameter

2016-09-18 Thread Simon Glass
Update the ext loader to avoid using the spl_image global variable.

Signed-off-by: Simon Glass 
---

 common/spl/spl_ext.c| 21 -
 common/spl/spl_mmc.c|  4 ++--
 drivers/mtd/spi/sunxi_spi_spl.c |  9 +
 include/spl.h   |  6 --
 4 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/common/spl/spl_ext.c b/common/spl/spl_ext.c
index e5af24e..b93e1ea 100644
--- a/common/spl/spl_ext.c
+++ b/common/spl/spl_ext.c
@@ -10,9 +10,9 @@
 #include 
 
 #ifdef CONFIG_SPL_EXT_SUPPORT
-int spl_load_image_ext(struct blk_desc *block_dev,
-   int partition,
-   const char *filename)
+int spl_load_image_ext(struct spl_image_info *spl_image,
+  struct blk_desc *block_dev, int partition,
+  const char *filename)
 {
s32 err;
struct image_header *header;
@@ -48,13 +48,13 @@ int spl_load_image_ext(struct blk_desc *block_dev,
goto end;
}
 
-   err = spl_parse_image_header(&spl_image, header);
+   err = spl_parse_image_header(spl_image, header);
if (err < 0) {
puts("spl: ext: failed to parse image header\n");
goto end;
}
 
-   err = ext4fs_read((char *)spl_image.load_addr, filelen, &actlen);
+   err = ext4fs_read((char *)spl_image->load_addr, filelen, &actlen);
 
 end:
 #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
@@ -67,7 +67,8 @@ end:
 }
 
 #ifdef CONFIG_SPL_OS_BOOT
-int spl_load_image_ext_os(struct blk_desc *block_dev, int partition)
+int spl_load_image_ext_os(struct spl_image_info *spl_image,
+ struct blk_desc *block_dev, int partition)
 {
int err;
__maybe_unused loff_t filelen, actlen;
@@ -104,7 +105,8 @@ int spl_load_image_ext_os(struct blk_desc *block_dev, int 
partition)
}
file = getenv("falcon_image_file");
if (file) {
-   err = spl_load_image_ext(block_dev, partition, file);
+   err = spl_load_image_ext(spl_image, block_dev,
+partition, file);
if (err != 0) {
puts("spl: falling back to default\n");
goto defaults;
@@ -134,11 +136,12 @@ defaults:
return -1;
}
 
-   return spl_load_image_ext(block_dev, partition,
+   return spl_load_image_ext(spl_image, block_dev, partition,
CONFIG_SPL_FS_LOAD_KERNEL_NAME);
 }
 #else
-int spl_load_image_ext_os(struct blk_desc *block_dev, int partition)
+int spl_load_image_ext_os(struct spl_image_info *spl_image,
+ struct blk_desc *block_dev, int partition)
 {
return -ENOSYS;
 }
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index 6536e66..5f5d9d0 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -245,13 +245,13 @@ static int spl_mmc_do_fs_boot(struct spl_image_info 
*spl_image, struct mmc *mmc)
 #endif
 #ifdef CONFIG_SPL_EXT_SUPPORT
if (!spl_start_uboot()) {
-   err = spl_load_image_ext_os(&mmc->block_dev,
+   err = spl_load_image_ext_os(spl_image, &mmc->block_dev,
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
if (!err)
return err;
}
 #ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
-   err = spl_load_image_ext(&mmc->block_dev,
+   err = spl_load_image_ext(spl_image, &mmc->block_dev,
 CONFIG_SYS_MMCSD_FS_BOOT_PARTITION,
 CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
if (!err)
diff --git a/drivers/mtd/spi/sunxi_spi_spl.c b/drivers/mtd/spi/sunxi_spi_spl.c
index 70d6d15..67c7edd 100644
--- a/drivers/mtd/spi/sunxi_spi_spl.c
+++ b/drivers/mtd/spi/sunxi_spi_spl.c
@@ -262,7 +262,8 @@ static void spi0_read_data(void *buf, u32 addr, u32 len)
 
 /*/
 
-static int spl_spi_load_image(struct spl_boot_device *bootdev)
+static int spl_spi_load_image(struct spl_image_info *spl_image,
+ struct spl_boot_device *bootdev)
 {
int err;
struct image_header *header;
@@ -271,12 +272,12 @@ static int spl_spi_load_image(struct spl_boot_device 
*bootdev)
spi0_init();
 
spi0_read_data((void *)header, CONFIG_SYS_SPI_U_BOOT_OFFS, 0x40);
-   err = spl_parse_image_header(&spl_image, header);
+   err = spl_parse_image_header(spl_image, header);
if (err)
return err;
 
-   spi0_read_data((void *)spl_image.load_addr, CONFIG_SYS_SPI_U_BOOT_OFFS,
-  spl_image.size);
+   spi0_read_data((void *)spl_image->load_addr, CONFIG_SYS_SPI_U_BOOT_OFFS,
+  spl_image->size);
 
spi0_deinit();
return 0