diff options
author | Simon Glass <sjg@chromium.org> | 2023-06-01 10:22:47 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-07-14 12:54:51 -0400 |
commit | 9af341502c1cdf1d40a41e8fe6c3922f1e409f33 (patch) | |
tree | c6af5359c76642a09cac54ac92b3abeaa2a1efcd /boot | |
parent | b828ed7d79295cfebcb0f958f26a33664fae045c (diff) | |
download | u-boot-9af341502c1cdf1d40a41e8fe6c3922f1e409f33.tar.gz u-boot-9af341502c1cdf1d40a41e8fe6c3922f1e409f33.tar.bz2 u-boot-9af341502c1cdf1d40a41e8fe6c3922f1e409f33.zip |
expo: Allow setting the start of the dynamic-ID range
Provide a way to set this value so that it is easy to separate the
statically allocated IDs (generated by the caller) from those
generated dynamically by expo itself.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'boot')
-rw-r--r-- | boot/expo.c | 15 | ||||
-rw-r--r-- | boot/scene.c | 10 |
2 files changed, 15 insertions, 10 deletions
diff --git a/boot/expo.c b/boot/expo.c index 8b966b6c79..be11cfd4e9 100644 --- a/boot/expo.c +++ b/boot/expo.c @@ -56,6 +56,21 @@ void expo_destroy(struct expo *exp) free(exp); } +uint resolve_id(struct expo *exp, uint id) +{ + if (!id) + id = exp->next_id++; + else if (id >= exp->next_id) + exp->next_id = id + 1; + + return id; +} + +void expo_set_dynamic_start(struct expo *exp, uint dyn_start) +{ + exp->next_id = dyn_start; +} + int expo_str(struct expo *exp, const char *name, uint id, const char *str) { struct expo_string *estr; diff --git a/boot/scene.c b/boot/scene.c index 43c978e6ee..2ac9bfcdbd 100644 --- a/boot/scene.c +++ b/boot/scene.c @@ -18,16 +18,6 @@ #include <linux/input.h> #include "scene_internal.h" -uint resolve_id(struct expo *exp, uint id) -{ - if (!id) - id = exp->next_id++; - else if (id >= exp->next_id) - exp->next_id = id + 1; - - return id; -} - int scene_new(struct expo *exp, const char *name, uint id, struct scene **scnp) { struct scene *scn; |