aboutsummaryrefslogtreecommitdiff
path: root/include/fs_loader.h
diff options
context:
space:
mode:
authorSean Anderson2022-12-29 11:52:59 -0500
committerTom Rini2023-01-12 14:06:15 -0500
commit0998a20cfc6b57e271d597153e39439c37034206 (patch)
tree50be8922cdae23a9385e4c0b04ffe36d4267ec9c /include/fs_loader.h
parent7fb4aa14d4e8435e149b560bed33a8ad78897463 (diff)
misc: fs_loader: Add function to get the chosen loader
The fs_loader device is used to pull in settings via the chosen node. However, there was no library function for this, so arria10 was doing it explicitly. This function subsumes that, and uses ofnode_get_chosen_node instead of navigating the device tree directly. Because fs_loader pulls its config from the environment by default, it's fine to create a device with nothing backing it at all. Doing this allows enabling CONFIG_FS_LOADER without needing to modify the device tree. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Diffstat (limited to 'include/fs_loader.h')
-rw-r--r--include/fs_loader.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/fs_loader.h b/include/fs_loader.h
index 8de7cb18dc7..5eb5b7ab4a1 100644
--- a/include/fs_loader.h
+++ b/include/fs_loader.h
@@ -52,4 +52,16 @@ struct device_plat {
int request_firmware_into_buf(struct udevice *dev,
const char *name,
void *buf, size_t size, u32 offset);
+
+/**
+ * get_fs_loader() - Get the chosen filesystem loader
+ * @dev: Where to store the device
+ *
+ * This gets a filesystem loader device based on the value of
+ * /chosen/firmware-loader. If no such property exists, it returns a
+ * firmware loader which is configured by environmental variables.
+ *
+ * Return: 0 on success, negative value on error
+ */
+int get_fs_loader(struct udevice **dev);
#endif