diff options
author | Rasmus Villemoes <rasmus.villemoes@prevas.dk> | 2022-10-28 13:50:51 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2022-11-02 08:41:42 +0100 |
commit | 6b84b1db2d69609a783ab2fd6990c9e72903d367 (patch) | |
tree | 6be338c661d689c9cb1b7e64dd046b283785a0e0 /common | |
parent | d7de5ef629352fe12ad99b6539ba1480b923f31e (diff) | |
download | u-boot-6b84b1db2d69609a783ab2fd6990c9e72903d367.zip u-boot-6b84b1db2d69609a783ab2fd6990c9e72903d367.tar.gz u-boot-6b84b1db2d69609a783ab2fd6990c9e72903d367.tar.bz2 |
cyclic: drop redundant cyclic_ready flag
We're already relying on gd->cyclic being NULL before cyclic_init() is
called - i.e., we're relying on all of gd being zeroed before entering
any C code. And when we do populate gd->cyclic, its ->cyclic_ready
member is automatically set to true. So we can actually just rely on
testing gd->cyclic itself.
The only wrinkle is that cyclic_uninit() actually did set
->cyclic_ready to false. However, since it doesn't free gd->cyclic,
the cyclic infrastructure is actually still ready (i.e., the list_head
is properly initialized as an empty list).
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Stefan Roese <sr@denx.de>
Tested-by: Tim Harvey <tharvey@gateworks.com> # imx8mm-venice-*
Diffstat (limited to 'common')
-rw-r--r-- | common/cyclic.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/common/cyclic.c b/common/cyclic.c index ff75c8c..d6f11b0 100644 --- a/common/cyclic.c +++ b/common/cyclic.c @@ -30,7 +30,7 @@ struct cyclic_info *cyclic_register(cyclic_func_t func, uint64_t delay_us, { struct cyclic_info *cyclic; - if (!gd->cyclic->cyclic_ready) { + if (!gd->cyclic) { pr_debug("Cyclic IF not ready yet\n"); return NULL; } @@ -112,7 +112,7 @@ void schedule(void) * schedule() might get called very early before the cyclic IF is * ready. Make sure to only call cyclic_run() when it's initalized. */ - if (gd && gd->cyclic && gd->cyclic->cyclic_ready) + if (gd && gd->cyclic) cyclic_run(); } @@ -122,7 +122,6 @@ int cyclic_uninit(void) list_for_each_entry_safe(cyclic, tmp, &gd->cyclic->cyclic_list, list) cyclic_unregister(cyclic); - gd->cyclic->cyclic_ready = false; return 0; } @@ -137,7 +136,6 @@ int cyclic_init(void) memset(gd->cyclic, '\0', size); INIT_LIST_HEAD(&gd->cyclic->cyclic_list); - gd->cyclic->cyclic_ready = true; return 0; } |