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-*
This commit is contained in:
parent
d7de5ef629
commit
6b84b1db2d
@ -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;
|
||||
}
|
||||
|
@ -18,11 +18,9 @@
|
||||
* struct cyclic_drv - Cyclic driver internal data
|
||||
*
|
||||
* @cyclic_list: Cylic list node
|
||||
* @cyclic_ready: Flag if cyclic infrastructure is ready
|
||||
*/
|
||||
struct cyclic_drv {
|
||||
struct list_head cyclic_list;
|
||||
bool cyclic_ready;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user