diff options
author | David Gow <[email protected]> | 2023-05-25 12:21:28 +0800 |
---|---|---|
committer | Shuah Khan <[email protected]> | 2023-05-25 08:52:55 -0600 |
commit | b9dce8a1ed3efe0f5c0957f4605140f204226a0f (patch) | |
tree | 47eedb19e190c2a121b3489365b63f8c63444eaf /lib/mpi/mpi-sub-ui.c | |
parent | a5ce66ad292b681ffe245e1c0e8840484da76784 (diff) |
kunit: Add kunit_add_action() to defer a call until test exit
Many uses of the KUnit resource system are intended to simply defer
calling a function until the test exits (be it due to success or
failure). The existing kunit_alloc_resource() function is often used for
this, but was awkward to use (requiring passing NULL init functions, etc),
and returned a resource without incrementing its reference count, which
-- while okay for this use-case -- could cause problems in others.
Instead, introduce a simple kunit_add_action() API: a simple function
(returning nothing, accepting a single void* argument) can be scheduled
to be called when the test exits. Deferred actions are called in the
opposite order to that which they were registered.
This mimics the devres API, devm_add_action(), and also provides
kunit_remove_action(), to cancel a deferred action, and
kunit_release_action() to trigger one early.
This is implemented as a resource under the hood, so the ordering
between resource cleanup and deferred functions is maintained.
Reviewed-by: Benjamin Berg <[email protected]>
Reviewed-by: Maxime Ripard <[email protected]>
Tested-by: Maxime Ripard <[email protected]>
Signed-off-by: David Gow <[email protected]>
Signed-off-by: Shuah Khan <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-sub-ui.c')
0 files changed, 0 insertions, 0 deletions