summaryrefslogtreecommitdiff
path: root/boot/bootflow.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-08-14 21:39:08 -0400
committerTom Rini <trini@konsulko.com>2023-08-14 21:39:08 -0400
commit51171cdd6dc9af8e74bbdb1f3e46c15187f7e979 (patch)
tree7cea7f15d1eb78bf7116fb3432329647de04ffd7 /boot/bootflow.c
parent831a80c2af322a80890cd9ef81c8ab7697788712 (diff)
parentdaffb0be2c839f3abe431cd68c772fae0e7e49ca (diff)
Merge tag 'dm-next-14aug23' of https://source.denx.de/u-boot/custodians/u-boot-dm into next
Enhance bootmeth_cros
Diffstat (limited to 'boot/bootflow.c')
-rw-r--r--boot/bootflow.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/boot/bootflow.c b/boot/bootflow.c
index 81b5829d5b3..6ef62e1d189 100644
--- a/boot/bootflow.c
+++ b/boot/bootflow.c
@@ -432,6 +432,7 @@ void bootflow_free(struct bootflow *bflow)
free(bflow->buf);
free(bflow->os_name);
free(bflow->fdt_fname);
+ free(bflow->bootmeth_priv);
}
void bootflow_remove(struct bootflow *bflow)
@@ -444,6 +445,22 @@ void bootflow_remove(struct bootflow *bflow)
free(bflow);
}
+#if CONFIG_IS_ENABLED(BOOTSTD_FULL)
+int bootflow_read_all(struct bootflow *bflow)
+{
+ int ret;
+
+ if (bflow->state != BOOTFLOWST_READY)
+ return log_msg_ret("rd", -EPROTO);
+
+ ret = bootmeth_read_all(bflow->method, bflow);
+ if (ret)
+ return log_msg_ret("rd2", ret);
+
+ return 0;
+}
+#endif /* BOOTSTD_FULL */
+
int bootflow_boot(struct bootflow *bflow)
{
int ret;