expo: cedit: Support writing settings to a file

Support writing settings from an expo into a file in FDT format. It
consists of a single node with a two properties for each sceneitem,
one with tag ID chosen by the user and another for its text value.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2023-08-14 16:40:33 -06:00
committed by Tom Rini
parent 6e648fa781
commit 2dee81fe5f
5 changed files with 270 additions and 3 deletions

View File

@@ -7,10 +7,21 @@
#ifndef __CEDIT_H
#define __CEDIT_H
struct abuf;
struct expo;
struct scene;
struct video_priv;
enum {
/* size increment for writing FDT */
CEDIT_SIZE_INC = 1024,
};
/* Name of the cedit node in the devicetree */
#define CEDIT_NODE_NAME "cedit-values"
extern struct expo *cur_exp;
/**
* cedit_arange() - Arrange objects in a configuration-editor scene
*
@@ -45,4 +56,15 @@ int cedit_run(struct expo *exp);
int cedit_prepare(struct expo *exp, struct video_priv **vid_privp,
struct scene **scnp);
/**
* cedit_write_settings() - Write settings in FDT format
*
* Sets up an FDT with the settings
*
* @exp: Expo to write settings from
* @buf: Returns abuf containing the settings FDT (inited by this function)
* Return: 0 if OK, -ve on error
*/
int cedit_write_settings(struct expo *exp, struct abuf *buf);
#endif /* __CEDIT_H */