From d864bd0e21ad6ab901bc6365abc8c3dbebe3ad29 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Mon, 31 Jul 2023 17:08:29 +0300 Subject: expo: allocate correct amount of memory This should be allocating the memory for "item" instead of "menu". The item struct is 48 bytes instead of 96 (assuming a 64bit system) so this saves a little memory. Signed-off-by: Dan Carpenter Reviewed-by: Simon Glass --- boot/scene_menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'boot/scene_menu.c') diff --git a/boot/scene_menu.c b/boot/scene_menu.c index 8a355f838cc..57ffb523ff3 100644 --- a/boot/scene_menu.c +++ b/boot/scene_menu.c @@ -416,7 +416,7 @@ int scene_menuitem(struct scene *scn, uint menu_id, const char *name, uint id, if (!scene_obj_find(scn, label_id, SCENEOBJT_TEXT)) return log_msg_ret("txt", -EINVAL); - item = calloc(1, sizeof(struct scene_obj_menu)); + item = calloc(1, sizeof(struct scene_menitem)); if (!item) return log_msg_ret("item", -ENOMEM); item->name = strdup(name); -- cgit v1.2.3 From 6e648fa781eea9ae0c5e130217ffeabbd45d9385 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 14 Aug 2023 16:40:32 -0600 Subject: expo: Export scene_menuitem_find() for use in internal code Make this function available to other expo code so we can use it to look up a menu item. Signed-off-by: Simon Glass --- boot/scene_menu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'boot/scene_menu.c') diff --git a/boot/scene_menu.c b/boot/scene_menu.c index 57ffb523ff3..602fe24580a 100644 --- a/boot/scene_menu.c +++ b/boot/scene_menu.c @@ -33,8 +33,8 @@ void scene_menu_destroy(struct scene_obj_menu *menu) scene_menuitem_destroy(item); } -static struct scene_menitem *scene_menuitem_find(struct scene_obj_menu *menu, - int id) +struct scene_menitem *scene_menuitem_find(const struct scene_obj_menu *menu, + int id) { struct scene_menitem *item; -- cgit v1.2.3 From cfc402db3954d7c852c322b232ad6d8842af6bf1 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 14 Aug 2023 16:40:38 -0600 Subject: expo: cedit: Support reading settings from CMOS RAM Add a command to read edit settings from CMOS RAM, using the cedit definition to indicate which registers and bits are used. Signed-off-by: Simon Glass --- boot/scene_menu.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'boot/scene_menu.c') diff --git a/boot/scene_menu.c b/boot/scene_menu.c index 602fe24580a..e0dcd0a4e04 100644 --- a/boot/scene_menu.c +++ b/boot/scene_menu.c @@ -46,6 +46,22 @@ struct scene_menitem *scene_menuitem_find(const struct scene_obj_menu *menu, return NULL; } +struct scene_menitem *scene_menuitem_find_seq(const struct scene_obj_menu *menu, + uint seq) +{ + struct scene_menitem *item; + uint i; + + i = 0; + list_for_each_entry(item, &menu->item_head, sibling) { + if (i == seq) + return item; + i++; + } + + return NULL; +} + /** * update_pointers() - Update the pointer object and handle highlights * -- cgit v1.2.3