[RFC PATCH 3/7] spl: Convert fat to spl_load
Stefan Roese
sr at denx.de
Wed Apr 6 07:32:25 CEST 2022
On 4/1/22 21:04, Sean Anderson wrote:
> This converts the fat loader to use spl_load.
>
> Signed-off-by: Sean Anderson <sean.anderson at seco.com>
Reviewed-by: Stefan Roese <sr at denx.de>
Thanks,
Stefan
> ---
>
> common/spl/spl_fat.c | 36 ++++++------------------------------
> 1 file changed, 6 insertions(+), 30 deletions(-)
>
> diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c
> index 5b270541fc..c092eb3481 100644
> --- a/common/spl/spl_fat.c
> +++ b/common/spl/spl_fat.c
> @@ -61,6 +61,11 @@ int spl_load_image_fat(struct spl_image_info *spl_image,
> {
> int err;
> struct image_header *header;
> + struct spl_load_info load = {
> + .read = spl_fit_read,
> + .bl_len = 1,
> + .filename = filename,
> + };
>
> err = spl_register_fat_device(block_dev, partition);
> if (err)
> @@ -72,36 +77,7 @@ int spl_load_image_fat(struct spl_image_info *spl_image,
> if (err <= 0)
> goto end;
>
> - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) &&
> - image_get_magic(header) == FDT_MAGIC) {
> - err = file_fat_read(filename, (void *)CONFIG_SYS_LOAD_ADDR, 0);
> - if (err <= 0)
> - goto end;
> - err = spl_parse_image_header(spl_image, bootdev,
> - (struct image_header *)CONFIG_SYS_LOAD_ADDR);
> - if (err == -EAGAIN)
> - return err;
> - if (err == 0)
> - err = 1;
> - } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
> - image_get_magic(header) == FDT_MAGIC) {
> - struct spl_load_info load;
> -
> - debug("Found FIT\n");
> - load.read = spl_fit_read;
> - load.bl_len = 1;
> - load.filename = (void *)filename;
> - load.priv = NULL;
> -
> - return spl_load_simple_fit(spl_image, &load, 0, header);
> - } else {
> - err = spl_parse_image_header(spl_image, bootdev, header);
> - if (err)
> - goto end;
> -
> - err = file_fat_read(filename,
> - (u8 *)(uintptr_t)spl_image->load_addr, 0);
> - }
> + err = spl_load(spl_image, bootdev, &load, header, err, 0);
>
> end:
> #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list