summaryrefslogtreecommitdiff
path: root/include/expo.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-06-01 19:23:01 +0300
committerTom Rini <trini@konsulko.com>2023-07-14 19:54:51 +0300
commit82cafee133ee5c087449761988c096fc26a17cf6 (patch)
tree8558fb8f832174e54cc1ed454b163e3b870b36ff /include/expo.h
parent7230fdb3837ad745adff4cf129dd04e893fe0a36 (diff)
downloadu-boot-82cafee133ee5c087449761988c096fc26a17cf6.tar.xz
expo: Support building an expo from a description file
The only way to create an expo at present is by calling the functions to create each object. It is useful to have more data-driven approach, where the objects can be specified in a suitable file format and created from that. This makes testing easier as well. Add support for describing an expo in a devicetree node. This allows more complex tests to be set up, as well as providing an easier format for users. It also provides a better basis for the upcoming configuration editor. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/expo.h')
-rw-r--r--include/expo.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/expo.h b/include/expo.h
index f7febe1c9a..9fec4d0cd8 100644
--- a/include/expo.h
+++ b/include/expo.h
@@ -653,4 +653,18 @@ int expo_action_get(struct expo *exp, struct expo_action *act);
*/
int expo_apply_theme(struct expo *exp, ofnode node);
+/**
+ * expo_build() - Build an expo from an FDT description
+ *
+ * Build a complete expo from a description in the provided devicetree.
+ *
+ * See doc/developer/expo.rst for a description of the format
+ *
+ * @root: Root node for expo description
+ * @expp: Returns the new expo
+ * Returns: 0 if OK, -ENOMEM if out of memory, -EINVAL if there is a format
+ * error, -ENOENT if there is a references to a non-existent string
+ */
+int expo_build(ofnode root, struct expo **expp);
+
#endif /*__SCENE_H */