cyclic: make cyclic_unregister() idempotent
authorRasmus Villemoes <ravi@prevas.dk>
Wed, 7 May 2025 10:58:19 +0000 (12:58 +0200)
committerStefan Roese <sr@denx.de>
Fri, 16 May 2025 11:44:19 +0000 (13:44 +0200)
commit2dbd9101b9910fe2c0fc2c23bc4d13a2604e9cca
tree84df23e694591e61b4ec0a1319b240879666a719
parent1b5e435102aa29a665119430196cb366ce36a01b
cyclic: make cyclic_unregister() idempotent

Make cyclic_unregister() safe to call with an already unregistered, or
possibly never registered, struct cyclic_info. This is similar to how
the various timer APIs in the linux kernel work (they all allow
calling delete/cancel/... on an inactive timer object).

This means callers don't have to separately keep track of whether
their cyclic callback is registered or not, and avoids them trying to
peek into the struct cyclic_info for that information - which leads to
somewhat ugly code as it would have to be guarded by ifdef
CONFIG_CYCLIC.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Stefan Roese <sr@denx.de>
common/cyclic.c