spl: Update ext functions to take an spl_image parameter
[oweals/u-boot.git] / common / spl / spl_onenand.c
index d8d80974f2cba9f1c9cc9d74f6ec7e6bdf6fb76b..f076e2c7c8846902c526ad3481c0d923e98af5bd 100644 (file)
 #include <asm/io.h>
 #include <onenand_uboot.h>
 
-void spl_onenand_load_image(void)
+static int spl_onenand_load_image(struct spl_image_info *spl_image,
+                                 struct spl_boot_device *bootdev)
 {
        struct image_header *header;
+       int ret;
 
        debug("spl: onenand\n");
 
@@ -25,7 +27,13 @@ void spl_onenand_load_image(void)
        /* Load u-boot */
        onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS,
                CONFIG_SYS_ONENAND_PAGE_SIZE, (void *)header);
-       spl_parse_image_header(header);
+       ret = spl_parse_image_header(spl_image, header);
+       if (ret)
+               return ret;
        onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS,
-               spl_image.size, (void *)spl_image.load_addr);
+               spl_image->size, (void *)spl_image->load_addr);
+
+       return 0;
 }
+/* Use priorty 1 so that Ubi can override this */
+SPL_LOAD_IMAGE_METHOD(1, BOOT_DEVICE_ONENAND, spl_onenand_load_image);