[PATCH] bootstd: USB devtype detection for script boot
John Clark
inindev at gmail.com
Tue Jun 27 16:38:58 CEST 2023
Change the device type from "usb_mass_storage" to "usb" when
booting a script.
Before this change:
=> printenv devtype
devtype=usb_mass_storage
After this change:
=> printenv devtype
devtype=usb
Signed-off-by: John Clark <inindev at gmail.com>
---
boot/bootmeth_script.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/boot/bootmeth_script.c b/boot/bootmeth_script.c
index 225eb18ee6..9fdadb3005 100644
--- a/boot/bootmeth_script.c
+++ b/boot/bootmeth_script.c
@@ -187,10 +187,14 @@ static int script_set_bootflow(struct udevice *dev, struct bootflow *bflow,
static int script_boot(struct udevice *dev, struct bootflow *bflow)
{
struct blk_desc *desc = dev_get_uclass_plat(bflow->blk);
+ const char *devtype = blk_get_devtype(bflow->blk);
ulong addr;
int ret;
- ret = env_set("devtype", blk_get_devtype(bflow->blk));
+ if (!strcmp("usb_mass_storage", devtype))
+ ret = env_set("devtype", "usb");
+ else
+ ret = env_set("devtype", devtype);
if (!ret)
ret = env_set_hex("devnum", desc->devnum);
if (!ret)
@@ -198,7 +202,7 @@ static int script_boot(struct udevice *dev, struct bootflow *bflow)
if (!ret)
ret = env_set("prefix", bflow->subdir);
if (!ret && IS_ENABLED(CONFIG_ARCH_SUNXI) &&
- !strcmp("mmc", blk_get_devtype(bflow->blk)))
+ !strcmp("mmc", devtype))
ret = env_set_hex("mmc_bootdev", desc->devnum);
if (ret)
return log_msg_ret("env", ret);
--
2.39.2
More information about the U-Boot
mailing list