[PATCH] bootstd: USB devtype detection for script boot

John Clark
2023-06-27T14:39:28Z

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@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