diff options
| -rw-r--r-- | board/armltd/vexpress64/MAINTAINERS | 7 | ||||
| -rw-r--r-- | board/dhelectronics/dh_imx8mp/MAINTAINERS | 12 | ||||
| -rw-r--r-- | board/freescale/ls1012afrdm/MAINTAINERS | 2 | ||||
| -rw-r--r-- | board/freescale/ls1012aqds/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/ls1012ardb/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/ls1028a/MAINTAINERS | 2 | ||||
| -rw-r--r-- | board/freescale/ls1043aqds/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/ls1043ardb/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/ls1046aqds/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/ls1046ardb/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/ls1088a/MAINTAINERS | 2 | ||||
| -rw-r--r-- | board/freescale/ls2080aqds/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/ls2080ardb/MAINTAINERS | 1 | ||||
| -rw-r--r-- | board/freescale/t104xrdb/MAINTAINERS | 5 | ||||
| -rw-r--r-- | board/freescale/t208xrdb/MAINTAINERS | 5 | ||||
| -rw-r--r-- | board/schneider/rzn1-snarc/MAINTAINERS | 9 | ||||
| -rw-r--r-- | boot/bootmeth-uclass.c | 23 | ||||
| -rw-r--r-- | boot/bootmeth_efi.c | 76 | ||||
| -rw-r--r-- | boot/bootmeth_pxe.c | 3 | ||||
| -rw-r--r-- | drivers/virtio/virtio-uclass.c | 2 | ||||
| -rw-r--r-- | fs/fat/fat_write.c | 6 | ||||
| -rw-r--r-- | include/bootmeth.h | 13 | 
22 files changed, 100 insertions, 75 deletions
| diff --git a/board/armltd/vexpress64/MAINTAINERS b/board/armltd/vexpress64/MAINTAINERS index b3ecc9bba03..c38ab520c52 100644 --- a/board/armltd/vexpress64/MAINTAINERS +++ b/board/armltd/vexpress64/MAINTAINERS @@ -1,9 +1,10 @@ -VEXPRESS64 BOARD +VEXPRESS64 PLATFORM  M:	David Feng <fenghua@phytium.com.cn> +M:	Linus Walleij <linus.walleij@linaro.org> +M:	Peter Hoyes <Peter.Hoyes@arm.com>  S:	Maintained  F:	board/armltd/vexpress64/ -F:	include/configs/vexpress_aemv8a.h -F:	configs/vexpress_aemv8a_defconfig +F:	include/configs/vexpress_aemv8.h  VEXPRESS_AEMV8A_SEMI BOARD  M:	Linus Walleij <linus.walleij@linaro.org> diff --git a/board/dhelectronics/dh_imx8mp/MAINTAINERS b/board/dhelectronics/dh_imx8mp/MAINTAINERS index 7c70cfdd949..db69781a852 100644 --- a/board/dhelectronics/dh_imx8mp/MAINTAINERS +++ b/board/dhelectronics/dh_imx8mp/MAINTAINERS @@ -1,8 +1,8 @@ -DH electronics DHCOM Premium Developer Kit (2) i.MX8M Plus +DH electronics DHCOM i.MX8M Plus and matching carrier boards  M:	Marek Vasut <marex@denx.de> +L:	u-boot@dh-electronics.com  S:	Maintained -F:	arch/arm/dts/imx8mp-dhcom-pdk2.dts -F:	arch/arm/dts/imx8mp-dhcom-pdk2-u-boot.dtsi -F:	board/dhelectronics/imx8mp_dhcom_pdk2/ -F:	configs/imx8mp_dhcom_pdk2_defconfig -F:	include/configs/imx8mp_dhcom_pdk2.h +F:	arch/arm/dts/imx8mp-dhcom* +F:	board/dhelectronics/dh_imx8mp/ +F:	configs/imx8mp_dhcom*defconfig +F:	include/configs/imx8mp_dhcom* diff --git a/board/freescale/ls1012afrdm/MAINTAINERS b/board/freescale/ls1012afrdm/MAINTAINERS index 5fc7e93850e..89d1085b00b 100644 --- a/board/freescale/ls1012afrdm/MAINTAINERS +++ b/board/freescale/ls1012afrdm/MAINTAINERS @@ -1,5 +1,5 @@  LS1012AFRDM BOARD -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com> +M:	Pramod Kumar <pramod.kumar_1@nxp.com>  S:	Maintained  F:	board/freescale/ls1012afrdm/  F:	include/configs/ls1012afrdm.h diff --git a/board/freescale/ls1012aqds/MAINTAINERS b/board/freescale/ls1012aqds/MAINTAINERS index c1bb8d51508..eabf5805765 100644 --- a/board/freescale/ls1012aqds/MAINTAINERS +++ b/board/freescale/ls1012aqds/MAINTAINERS @@ -1,5 +1,4 @@  LS1012AQDS BOARD -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  M:	Pramod Kumar <pramod.kumar_1@nxp.com>  S:	Maintained  F:	board/freescale/ls1012aqds/ diff --git a/board/freescale/ls1012ardb/MAINTAINERS b/board/freescale/ls1012ardb/MAINTAINERS index b0c008b5fc9..ce2f9a16cc7 100644 --- a/board/freescale/ls1012ardb/MAINTAINERS +++ b/board/freescale/ls1012ardb/MAINTAINERS @@ -1,5 +1,4 @@  LS1012ARDB BOARD -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  M:	Pramod Kumar <pramod.kumar_1@nxp.com>  S:	Maintained  F:	board/freescale/ls1012ardb/ diff --git a/board/freescale/ls1028a/MAINTAINERS b/board/freescale/ls1028a/MAINTAINERS index 9e7b0697ff6..551f6a08651 100644 --- a/board/freescale/ls1028a/MAINTAINERS +++ b/board/freescale/ls1028a/MAINTAINERS @@ -1,5 +1,4 @@  LS1028AQDS BOARD -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  M:	Tang Yuantian <andy.tang@nxp.com>  S:	Maintained  F:	board/freescale/ls1028a/ @@ -9,7 +8,6 @@ F:	configs/ls1028aqds_tfa_defconfig  F:	configs/ls1028aqds_tfa_lpuart_defconfig  LS1028ARDB BOARD -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  M:	Tang Yuantian <andy.tang@nxp.com>  S:	Maintained  F:	board/freescale/ls1028a/ diff --git a/board/freescale/ls1043aqds/MAINTAINERS b/board/freescale/ls1043aqds/MAINTAINERS index 9fb6cc85cd0..f7420ecd303 100644 --- a/board/freescale/ls1043aqds/MAINTAINERS +++ b/board/freescale/ls1043aqds/MAINTAINERS @@ -1,6 +1,5 @@  LS1043AQDS BOARD  M:	Mingkai Hu <mingkai.hu@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  S:	Maintained  F:	board/freescale/ls1043aqds/  F:	include/configs/ls1043aqds.h diff --git a/board/freescale/ls1043ardb/MAINTAINERS b/board/freescale/ls1043ardb/MAINTAINERS index 8e14ba3608b..06b23889f6d 100644 --- a/board/freescale/ls1043ardb/MAINTAINERS +++ b/board/freescale/ls1043ardb/MAINTAINERS @@ -1,6 +1,5 @@  LS1043A BOARD  M:	Mingkai Hu <mingkai.hu@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  S:	Maintained  F:	board/freescale/ls1043ardb/  F:	include/configs/ls1043ardb.h diff --git a/board/freescale/ls1046aqds/MAINTAINERS b/board/freescale/ls1046aqds/MAINTAINERS index 72c4253fcf5..e1db2aaa8e4 100644 --- a/board/freescale/ls1046aqds/MAINTAINERS +++ b/board/freescale/ls1046aqds/MAINTAINERS @@ -1,6 +1,5 @@  LS1046AQDS BOARD  M:	Mingkai Hu <Mingkai.Hu@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  S:	Maintained  F:	board/freescale/ls1046aqds/  F:	include/configs/ls1046aqds.h diff --git a/board/freescale/ls1046ardb/MAINTAINERS b/board/freescale/ls1046ardb/MAINTAINERS index 3c8cfe720dc..d5a6b261519 100644 --- a/board/freescale/ls1046ardb/MAINTAINERS +++ b/board/freescale/ls1046ardb/MAINTAINERS @@ -1,6 +1,5 @@  LS1046A BOARD  M:	Mingkai Hu <mingkai.hu@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  S:	Maintained  F:	board/freescale/ls1046ardb/  F:	board/freescale/ls1046ardb/ls1046ardb.c diff --git a/board/freescale/ls1088a/MAINTAINERS b/board/freescale/ls1088a/MAINTAINERS index 5c7925a95f4..95a14149e4f 100644 --- a/board/freescale/ls1088a/MAINTAINERS +++ b/board/freescale/ls1088a/MAINTAINERS @@ -1,6 +1,5 @@  LS1088ARDB BOARD  M:	Ashish Kumar <Ashish.Kumar@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  S:	Maintained  F:	board/freescale/ls1088a/  F:	include/configs/ls1088ardb.h @@ -11,7 +10,6 @@ F:	configs/ls1088ardb_tfa_SECURE_BOOT_defconfig  LS1088AQDS BOARD  M:	Ashish Kumar <Ashish.Kumar@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  S:	Maintained  F:	board/freescale/ls1088a/  F:	include/configs/ls1088aqds.h diff --git a/board/freescale/ls2080aqds/MAINTAINERS b/board/freescale/ls2080aqds/MAINTAINERS index 39d02ae3f46..fdad199ec25 100644 --- a/board/freescale/ls2080aqds/MAINTAINERS +++ b/board/freescale/ls2080aqds/MAINTAINERS @@ -1,6 +1,5 @@  LS2080A BOARD  M:	Priyanka Jain <priyanka.jain@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  M:	Wasim Khan <wasim.khan@nxp.com>  S:	Maintained  F:	board/freescale/ls2080aqds/ diff --git a/board/freescale/ls2080ardb/MAINTAINERS b/board/freescale/ls2080ardb/MAINTAINERS index f49d26af3a0..f2f834ffbd9 100644 --- a/board/freescale/ls2080ardb/MAINTAINERS +++ b/board/freescale/ls2080ardb/MAINTAINERS @@ -10,7 +10,6 @@ F:	configs/ls2080ardb_nand_defconfig  LS2088A_QSPI-boot BOARD  M:	Priyanka Jain <priyanka.jain@nxp.com> -M:	Rajesh Bhagat <rajesh.bhagat@nxp.com>  M:	Wasim Khan <wasim.khan@nxp.com>  S:	Maintained  F:	configs/ls2088ardb_qspi_defconfig diff --git a/board/freescale/t104xrdb/MAINTAINERS b/board/freescale/t104xrdb/MAINTAINERS index 4e82f7f2eee..55fdb600a16 100644 --- a/board/freescale/t104xrdb/MAINTAINERS +++ b/board/freescale/t104xrdb/MAINTAINERS @@ -24,8 +24,3 @@ F:	configs/T1040RDB_SDCARD_defconfig  F:	configs/T1040D4RDB_SDCARD_defconfig  F:	configs/T1042D4RDB_SDCARD_defconfig  F:	configs/T1042RDB_PI_SDCARD_defconfig - -T1042D4RDB_SECURE_BOOT BOARD -M:	Ruchika Gupta <ruchika.gupta@nxp.com> -S:	Maintained -F:	configs/T1042D4RDB_SECURE_BOOT_defconfig diff --git a/board/freescale/t208xrdb/MAINTAINERS b/board/freescale/t208xrdb/MAINTAINERS index 6e9b25fa049..5be7a25c03b 100644 --- a/board/freescale/t208xrdb/MAINTAINERS +++ b/board/freescale/t208xrdb/MAINTAINERS @@ -12,8 +12,3 @@ F:	configs/T2080RDB_revD_defconfig  F:	configs/T2080RDB_revD_NAND_defconfig  F:	configs/T2080RDB_revD_SDCARD_defconfig  F:	configs/T2080RDB_revD_SPIFLASH_defconfig - -T2080RDB_SECURE_BOOT BOARD -M:	Ruchika Gupta <ruchika.gupta@nxp.com> -S:	Maintained -F:	configs/T2080RDB_SECURE_BOOT_defconfig diff --git a/board/schneider/rzn1-snarc/MAINTAINERS b/board/schneider/rzn1-snarc/MAINTAINERS new file mode 100644 index 00000000000..a39b96c1163 --- /dev/null +++ b/board/schneider/rzn1-snarc/MAINTAINERS @@ -0,0 +1,9 @@ +RZN1 SNARC +M:	Ralph Siemsen <ralph.siemsen@linaro.org> +S:	Maintained +F:	board/schneider/rzn1-snarc/ +F:	arch/arm/dts/r9a06g032-ddr.dtsi +F:	arch/arm/dts/r9a06g032-rzn1-snarc-u-boot.dtsi +F:	arch/arm/dts/r9a06g032-rzn1-snarc.dts +F:	configs/rzn1_snarc_defconfig +F:	include/configs/rzn1-snarc.h diff --git a/boot/bootmeth-uclass.c b/boot/bootmeth-uclass.c index eeded08dd42..175eb1de5e1 100644 --- a/boot/bootmeth-uclass.c +++ b/boot/bootmeth-uclass.c @@ -240,18 +240,7 @@ int bootmeth_set_order(const char *order_str)  	return 0;  } -/** - * setup_fs() - Set up read to read a file - * - * We must redo the setup before each filesystem operation. This function - * handles that, including setting the filesystem type if a block device is not - * being used - * - * @bflow: Information about file to try - * @desc: Block descriptor to read from (NULL if not a block device) - * Return: 0 if OK, -ve on error - */ -static int setup_fs(struct bootflow *bflow, struct blk_desc *desc) +int bootmeth_setup_fs(struct bootflow *bflow, struct blk_desc *desc)  {  	int ret; @@ -288,7 +277,7 @@ int bootmeth_try_file(struct bootflow *bflow, struct blk_desc *desc,  	log_debug("   %s - err=%d\n", path, ret);  	/* Sadly FS closes the file after fs_size() so we must redo this */ -	ret2 = setup_fs(bflow, desc); +	ret2 = bootmeth_setup_fs(bflow, desc);  	if (ret2)  		return log_msg_ret("fs", ret2); @@ -337,14 +326,14 @@ int bootmeth_alloc_other(struct bootflow *bflow, const char *fname,  	if (bflow->blk)  		desc = dev_get_uclass_plat(bflow->blk); -	ret = setup_fs(bflow, desc); +	ret = bootmeth_setup_fs(bflow, desc);  	if (ret)  		return log_msg_ret("fs", ret);  	ret = fs_size(path, &size);  	log_debug("   %s - err=%d\n", path, ret); -	ret = setup_fs(bflow, desc); +	ret = bootmeth_setup_fs(bflow, desc);  	if (ret)  		return log_msg_ret("fs", ret); @@ -369,7 +358,7 @@ int bootmeth_common_read_file(struct udevice *dev, struct bootflow *bflow,  	if (bflow->blk)  		desc = dev_get_uclass_plat(bflow->blk); -	ret = setup_fs(bflow, desc); +	ret = bootmeth_setup_fs(bflow, desc);  	if (ret)  		return log_msg_ret("fs", ret); @@ -379,7 +368,7 @@ int bootmeth_common_read_file(struct udevice *dev, struct bootflow *bflow,  	if (size > *sizep)  		return log_msg_ret("spc", -ENOSPC); -	ret = setup_fs(bflow, desc); +	ret = bootmeth_setup_fs(bflow, desc);  	if (ret)  		return log_msg_ret("fs", ret); diff --git a/boot/bootmeth_efi.c b/boot/bootmeth_efi.c index af31fbfc85d..1c9f2b1e2fe 100644 --- a/boot/bootmeth_efi.c +++ b/boot/bootmeth_efi.c @@ -21,6 +21,7 @@  #include <mmc.h>  #include <net.h>  #include <pxe_utils.h> +#include <linux/sizes.h>  #define EFI_DIRNAME	"efi/boot/" @@ -94,6 +95,20 @@ static int get_efi_pxe_vci(char *str, int max_len)  	return 0;  } +/** + * bootmeth_uses_network() - check if the media device is Ethernet + * + * @bflow: Bootflow to check + * Returns: true if the media device is Ethernet, else false + */ +static bool bootmeth_uses_network(struct bootflow *bflow) +{ +	const struct udevice *media = dev_get_parent(bflow->dev); + +	return IS_ENABLED(CONFIG_CMD_DHCP) && +	    device_get_uclass_id(media) == UCLASS_ETH; +} +  static void set_efi_bootdev(struct blk_desc *desc, struct bootflow *bflow)  {  	const struct udevice *media_dev; @@ -129,13 +144,24 @@ static void set_efi_bootdev(struct blk_desc *desc, struct bootflow *bflow)  	efi_set_bootdev(dev_name, devnum_str, bflow->fname, bflow->buf, size);  } -static int efiload_read_file(struct blk_desc *desc, struct bootflow *bflow) +static int efiload_read_file(struct bootflow *bflow, ulong addr)  { +	struct blk_desc *desc = NULL; +	loff_t bytes_read;  	int ret; -	ret = bootmeth_alloc_file(bflow, 0x2000000, 0x10000); +	if (bflow->blk) +		 desc = dev_get_uclass_plat(bflow->blk); +	ret = bootmeth_setup_fs(bflow, desc); +	if (ret) +		return log_msg_ret("set", ret); + +	ret = fs_read(bflow->fname, addr, 0, bflow->size, &bytes_read);  	if (ret)  		return log_msg_ret("read", ret); +	bflow->buf = map_sysmem(addr, bflow->size); + +	set_efi_bootdev(desc, bflow);  	return 0;  } @@ -209,7 +235,18 @@ static int distro_efi_get_fdt_name(char *fname, int size, int seq)  	return 0;  } -static int distro_efi_read_bootflow_file(struct udevice *dev, +/* + * distro_efi_try_bootflow_files() - Check that files are present + * + * This reads any FDT file and checks whether the bootflow file is present, for + * later reading. We avoid reading the bootflow now, since it is likely large, + * it may take a long time and we want to avoid needing to allocate memory for + * it + * + * @dev: bootmeth device to use + * @bflow: bootflow to update + */ +static int distro_efi_try_bootflow_files(struct udevice *dev,  					 struct bootflow *bflow)  {  	struct blk_desc *desc = NULL; @@ -233,9 +270,8 @@ static int distro_efi_read_bootflow_file(struct udevice *dev,  	if (ret)  		return log_msg_ret("try", ret); -	ret = efiload_read_file(desc, bflow); -	if (ret) -		return log_msg_ret("read", ret); +	/* Since we can access the file, let's call it ready */ +	bflow->state = BOOTFLOWST_READY;  	fdt_addr = env_get_hex("fdt_addr_r", 0); @@ -246,9 +282,12 @@ static int distro_efi_read_bootflow_file(struct udevice *dev,  		ret = distro_efi_get_fdt_name(fname, sizeof(fname), seq);  		if (ret == -EALREADY)  			bflow->flags = BOOTFLOWF_USE_PRIOR_FDT; -		if (!ret) +		if (!ret) { +			/* Limit FDT files to 4MB */ +			size = SZ_4M;  			ret = bootmeth_common_read_file(dev, bflow, fname,  							fdt_addr, &size); +		}  	}  	if (*fname) { @@ -354,17 +393,15 @@ static int distro_efi_read_bootflow_net(struct bootflow *bflow)  static int distro_efi_read_bootflow(struct udevice *dev, struct bootflow *bflow)  { -	const struct udevice *media = dev_get_parent(bflow->dev);  	int ret; -	if (IS_ENABLED(CONFIG_CMD_DHCP) && -	    device_get_uclass_id(media) == UCLASS_ETH) { +	if (bootmeth_uses_network(bflow)) {  		/* we only support reading from one device, so ignore 'dev' */  		ret = distro_efi_read_bootflow_net(bflow);  		if (ret)  			return log_msg_ret("net", ret);  	} else { -		ret = distro_efi_read_bootflow_file(dev, bflow); +		ret = distro_efi_try_bootflow_files(dev, bflow);  		if (ret)  			return log_msg_ret("blk", ret);  	} @@ -376,17 +413,13 @@ int distro_efi_boot(struct udevice *dev, struct bootflow *bflow)  {  	ulong kernel, fdt;  	char cmd[50]; +	int ret; -	/* A non-zero buffer indicates the kernel is there */ -	if (bflow->buf) { -		/* Set the EFI bootdev again, since reading an FDT loses it! */ -		if (bflow->blk) { -			struct blk_desc *desc = dev_get_uclass_plat(bflow->blk); - -			set_efi_bootdev(desc, bflow); -		} - -		kernel = (ulong)map_to_sysmem(bflow->buf); +	kernel = env_get_hex("kernel_addr_r", 0); +	if (!bootmeth_uses_network(bflow)) { +		ret = efiload_read_file(bflow, kernel); +		if (ret) +			return log_msg_ret("read", ret);  		/*  		 * use the provided device tree if available, else fall back to @@ -405,7 +438,6 @@ int distro_efi_boot(struct udevice *dev, struct bootflow *bflow)  		 * But this is the same behaviour for distro boot, so it can be  		 * fixed here.  		 */ -		kernel = env_get_hex("kernel_addr_r", 0);  		fdt = env_get_hex("fdt_addr_r", 0);  	} diff --git a/boot/bootmeth_pxe.c b/boot/bootmeth_pxe.c index ce986bd260d..8d489a11aa4 100644 --- a/boot/bootmeth_pxe.c +++ b/boot/bootmeth_pxe.c @@ -31,6 +31,9 @@ static int extlinux_pxe_getfile(struct pxe_context *ctx, const char *file_path,  	int ret;  	addr = simple_strtoul(file_addr, NULL, 16); + +	/* Allow up to 1GB */ +	*sizep = 1 << 30;  	ret = bootmeth_read_file(info->dev, info->bflow, file_path, addr,  				 sizep);  	if (ret) diff --git a/drivers/virtio/virtio-uclass.c b/drivers/virtio/virtio-uclass.c index 31bb21c534e..f2b3ef1d8b9 100644 --- a/drivers/virtio/virtio-uclass.c +++ b/drivers/virtio/virtio-uclass.c @@ -238,7 +238,7 @@ static int virtio_uclass_post_probe(struct udevice *udev)  	ret = device_bind_driver(udev, name, str, &vdev);  	if (ret == -ENOENT) { -		debug("(%s): no driver configured\n", udev->name); +		debug("(%s): %s driver not configured\n", udev->name, name);  		return 0;  	}  	if (ret) { diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c index e2a9913f807..a6294419b8d 100644 --- a/fs/fat/fat_write.c +++ b/fs/fat/fat_write.c @@ -132,9 +132,9 @@ static int set_name(fat_itr *itr, const char *filename, char *shortname)  		return period_location;  	if (*dirent.name == ' ')  		*dirent.name = '_'; -	/* 0xe5 signals a deleted directory entry. Replace it by 0x05. */ -	if (*dirent.name == 0xe5) -		*dirent.name = 0x05; +	/* Substitute character 0xe5 signaling deletetion by character 0x05 */ +	if (*dirent.name == DELETED_FLAG) +		*dirent.name = aRING;  	/* If filename and short name are the same, quit. */  	sprintf(buf, "%.*s.%.3s", period_location, dirent.name, dirent.ext); diff --git a/include/bootmeth.h b/include/bootmeth.h index c3df9702e87..7cb7da33dea 100644 --- a/include/bootmeth.h +++ b/include/bootmeth.h @@ -263,6 +263,19 @@ int bootmeth_setup_iter_order(struct bootflow_iter *iter, bool include_global);  int bootmeth_set_order(const char *order_str);  /** + * bootmeth_setup_fs() - Set up read to read a file + * + * We must redo the setup before each filesystem operation. This function + * handles that, including setting the filesystem type if a block device is not + * being used + * + * @bflow: Information about file to try + * @desc: Block descriptor to read from (NULL if not a block device) + * Return: 0 if OK, -ve on error + */ +int bootmeth_setup_fs(struct bootflow *bflow, struct blk_desc *desc); + +/**   * bootmeth_try_file() - See we can access a given file   *   * Check for a file with a given name. If found, the filename is allocated in | 
