From: Wen Yang <[email protected]> Wrap the two definitions with #ifndef guards so that HA-based monitors can substitute their own implementations before including this header:
/* in monitor.c, before #include <rv/ha_monitor.h> */ #define da_monitor_reset_hook my_monitor_reset_env #define EVENT_NONE_LBL "idle" No behaviour change for monitors that do not override either macro. Signed-off-by: Wen Yang <[email protected]> --- include/rv/ha_monitor.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/rv/ha_monitor.h b/include/rv/ha_monitor.h index e5860900a337..610da54c111f 100644 --- a/include/rv/ha_monitor.h +++ b/include/rv/ha_monitor.h @@ -36,7 +36,10 @@ static bool ha_monitor_handle_constraint(struct da_monitor *da_mon, da_id_type id); #define da_monitor_event_hook ha_monitor_handle_constraint #define da_monitor_init_hook ha_monitor_init_env +/* Allow monitors to override da_monitor_reset_hook before including this header. */ +#ifndef da_monitor_reset_hook #define da_monitor_reset_hook ha_monitor_reset_env +#endif #define da_monitor_sync_hook() synchronize_rcu() #if !defined(HA_SKIP_AUTO_CLEANUP) && RV_MON_TYPE == RV_MON_PER_TASK @@ -75,7 +78,9 @@ _Static_assert(offsetof(struct ha_monitor, da_mon) == 0, #define ENV_INVALID_VALUE U64_MAX /* Error with no event occurs only on timeouts */ #define EVENT_NONE EVENT_MAX +#ifndef EVENT_NONE_LBL #define EVENT_NONE_LBL "none" +#endif #define ENV_BUFFER_SIZE 64 #ifdef CONFIG_RV_REACTORS -- 2.43.0
