[U-Boot] [PATCH v7 3/3] common: Generic firmware loader for file system
Marek Vasut
marex at denx.de
Tue Jan 30 12:12:16 UTC 2018
On 01/30/2018 12:16 PM, tien.fong.chee at intel.com wrote:
> From: Tien Fong Chee <tien.fong.chee at intel.com>
>
> This is file system generic loader which can be used to load
> the file image from the storage into target such as memory.
> The consumer driver would then use this loader to program whatever,
> ie. the FPGA device.
>
> Signed-off-by: Tien Fong Chee <tien.fong.chee at intel.com>
> Reviewed-by: Lothar Waßmann <LW at KARO-electronics.de>
> ---
> common/Kconfig | 9 ++
> common/Makefile | 1 +
> common/fs_loader.c | 326 +++++++++++++++++++++++++++++++++++++++++++++
> doc/README.firmware_loader | 76 +++++++++++
> include/fs_loader.h | 28 ++++
> 5 files changed, 440 insertions(+)
> create mode 100644 common/fs_loader.c
> create mode 100644 doc/README.firmware_loader
> create mode 100644 include/fs_loader.h
[...]
> +#ifdef CONFIG_CMD_UBIFS
> +static int mount_ubifs(struct device_location *location)
> +{
> + int ret;
> + char cmd[32];
> +
> + snprintf(cmd, sizeof(location->mtdpart), "ubi part %s",
> + location->mtdpart);
> +
> + ret = run_command(cmd, 0);
Can you call the UBI functions directly instead of invoking the U-Boot
command parser ?
> + if (ret)
> + return ret;
> +
> + snprintf(cmd, sizeof(location->ubivol), "ubifsmount %s",
> + location->ubivol);
> +
> + ret = run_command(cmd, 0);
DTTO here ...
> + return ret;
> +}
> +
> +static int umount_ubifs(void)
> +{
> + return cmd_ubifs_umount();
> +}
> +#else
> +static int mount_ubifs(struct device_location *location)
> +{
> + debug("Error: Cannot load image: no UBIFS support\n");
> + return -ENOSYS;
> +}
> +#endif
[...]
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list