diff options
author | Simon Glass <sjg@chromium.org> | 2022-10-20 18:22:51 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-10-31 11:02:44 -0400 |
commit | b190deb8955f1043817faf84a69dd63d5a53f959 (patch) | |
tree | 50687f22dcd1e3654e0b1d33e2f2038cdb92cc98 /boot | |
parent | cbd71fad6d468018727ab04b2bb912989aec0785 (diff) | |
download | u-boot-b190deb8955f1043817faf84a69dd63d5a53f959.zip u-boot-b190deb8955f1043817faf84a69dd63d5a53f959.tar.gz u-boot-b190deb8955f1043817faf84a69dd63d5a53f959.tar.bz2 |
bootstd: Add a way to set up a bootflow
Add a function to init a bootflow, to reduce code duplication.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'boot')
-rw-r--r-- | boot/bootdev-uclass.c | 5 | ||||
-rw-r--r-- | boot/bootflow.c | 9 | ||||
-rw-r--r-- | boot/bootmeth-uclass.c | 5 |
3 files changed, 11 insertions, 8 deletions
diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c index 9d98bee..affe0d3 100644 --- a/boot/bootdev-uclass.c +++ b/boot/bootdev-uclass.c @@ -440,10 +440,7 @@ int bootdev_get_bootflow(struct udevice *dev, struct bootflow_iter *iter, if (!ops->get_bootflow) return -ENOSYS; - memset(bflow, '\0', sizeof(*bflow)); - bflow->dev = dev; - bflow->method = iter->method; - bflow->state = BOOTFLOWST_BASE; + bootflow_init(bflow, dev, iter->method); return ops->get_bootflow(dev, iter, bflow); } diff --git a/boot/bootflow.c b/boot/bootflow.c index 5d94a27..f9ad409 100644 --- a/boot/bootflow.c +++ b/boot/bootflow.c @@ -339,6 +339,15 @@ int bootflow_scan_next(struct bootflow_iter *iter, struct bootflow *bflow) } while (1); } +void bootflow_init(struct bootflow *bflow, struct udevice *bootdev, + struct udevice *meth) +{ + memset(bflow, '\0', sizeof(*bflow)); + bflow->dev = bootdev; + bflow->method = meth; + bflow->state = BOOTFLOWST_BASE; +} + void bootflow_free(struct bootflow *bflow) { free(bflow->name); diff --git a/boot/bootmeth-uclass.c b/boot/bootmeth-uclass.c index 2d7652e..25552dd 100644 --- a/boot/bootmeth-uclass.c +++ b/boot/bootmeth-uclass.c @@ -77,10 +77,7 @@ int bootmeth_get_bootflow(struct udevice *dev, struct bootflow *bflow) if (!ops->read_bootflow) return -ENOSYS; - memset(bflow, '\0', sizeof(*bflow)); - bflow->dev = NULL; - bflow->method = dev; - bflow->state = BOOTFLOWST_BASE; + bootflow_init(bflow, NULL, dev); return ops->read_bootflow(dev, bflow); } |