[PATCH 3/3] cyclic: document new guarantees for cyclic_(un)register

Rasmus Villemoes ravi at prevas.dk
Wed May 7 12:58:21 CEST 2025


Signed-off-by: Rasmus Villemoes <ravi at prevas.dk>
---
 doc/develop/cyclic.rst | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/doc/develop/cyclic.rst b/doc/develop/cyclic.rst
index 6f1da6f0d9b..a99b17052f5 100644
--- a/doc/develop/cyclic.rst
+++ b/doc/develop/cyclic.rst
@@ -54,3 +54,16 @@ responsible for calling all registered cyclic functions, into the
 common schedule() function. This guarantees that cyclic_run() is
 executed very often, which is necessary for the cyclic functions to
 get scheduled and executed at their configured periods.
+
+Idempotence
+-----------
+
+Both the cyclic_register() and cyclic_unregister() functions are safe
+to call on any struct cyclic_info, regardless of whether that instance
+is already registered or not.
+
+More specifically, calling cyclic_unregister() with a cyclic_info
+which is not currently registered is a no-op, while calling
+cyclic_register() with a cyclic_info which is currently registered
+results in it being automatically unregistered, and then registered
+with the new callback function and timeout parameters.
-- 
2.49.0



More information about the U-Boot mailing list