bluetooth: controller: Reduce user ops status to uint8_t

The status field is currently a uint32_t even though there are only
3 possible values. Reducing it to a uint8_t allows status to fit in
existing padding in the struct, saving 4 bytes per ticker_user_op

Updated function signatures to match; ticker_op_func left as-is
to avoid having to update a whole bunch of files for no real benefit

Signed-off-by: Troels Nilsson <trnn@demant.com>
This commit is contained in:
Troels Nilsson 2022-12-06 14:59:57 +01:00 committed by Fabio Baltieri
commit c0a5b1ef7b
3 changed files with 36 additions and 36 deletions

View file

@ -205,6 +205,7 @@ struct ticker_user_op_priority_set {
struct ticker_user_op { struct ticker_user_op {
uint8_t op; /* User operation */ uint8_t op; /* User operation */
uint8_t id; /* Ticker node id */ uint8_t id; /* Ticker node id */
uint8_t status; /* Operation result */
union { union {
struct ticker_user_op_start start; struct ticker_user_op_start start;
struct ticker_user_op_update update; struct ticker_user_op_update update;
@ -212,7 +213,6 @@ struct ticker_user_op {
struct ticker_user_op_slot_get slot_get; struct ticker_user_op_slot_get slot_get;
struct ticker_user_op_priority_set priority_set; struct ticker_user_op_priority_set priority_set;
} params; /* User operation parameters */ } params; /* User operation parameters */
uint32_t status; /* Operation result */
ticker_op_func fp_op_func; /* Operation completion callback */ ticker_op_func fp_op_func; /* Operation completion callback */
void *op_context; /* Context passed in completion callback */ void *op_context; /* Context passed in completion callback */
}; };
@ -1246,7 +1246,7 @@ static uint8_t ticker_remainder_dec(struct ticker_node *ticker)
* *
* @internal * @internal
*/ */
static void ticker_job_op_cb(struct ticker_user_op *user_op, uint32_t status) static void ticker_job_op_cb(struct ticker_user_op *user_op, uint8_t status)
{ {
user_op->op = TICKER_USER_OP_TYPE_NONE; user_op->op = TICKER_USER_OP_TYPE_NONE;
user_op->status = status; user_op->status = status;
@ -1850,7 +1850,7 @@ static inline void ticker_job_op_start(struct ticker_node *ticker,
* are un-scheduled * are un-scheduled
* @internal * @internal
*/ */
static inline uint32_t ticker_job_insert(struct ticker_instance *instance, static inline uint8_t ticker_job_insert(struct ticker_instance *instance,
uint8_t id_insert, uint8_t id_insert,
struct ticker_node *ticker, struct ticker_node *ticker,
uint8_t *insert_head) uint8_t *insert_head)
@ -2098,7 +2098,7 @@ static uint8_t ticker_job_reschedule_in_window(struct ticker_instance *instance,
* are un-scheduled * are un-scheduled
* @internal * @internal
*/ */
static inline uint32_t ticker_job_insert(struct ticker_instance *instance, static inline uint8_t ticker_job_insert(struct ticker_instance *instance,
uint8_t id_insert, uint8_t id_insert,
struct ticker_node *ticker, struct ticker_node *ticker,
uint8_t *insert_head) uint8_t *insert_head)
@ -2234,7 +2234,7 @@ static inline void ticker_job_list_insert(struct ticker_instance *instance,
struct ticker_user_op *user_op; struct ticker_user_op *user_op;
struct ticker_node *ticker; struct ticker_node *ticker;
uint8_t id_insert; uint8_t id_insert;
uint32_t status; uint8_t status;
if (insert_head != TICKER_NULL) { if (insert_head != TICKER_NULL) {
/* Prepare insert of ticker node specified by /* Prepare insert of ticker node specified by
@ -2697,7 +2697,7 @@ void ticker_job(void *param)
* @return TICKER_STATUS_SUCCESS if initialization was successful, otherwise * @return TICKER_STATUS_SUCCESS if initialization was successful, otherwise
* TICKER_STATUS_FAILURE * TICKER_STATUS_FAILURE
*/ */
uint32_t ticker_init(uint8_t instance_index, uint8_t count_node, void *node, uint8_t ticker_init(uint8_t instance_index, uint8_t count_node, void *node,
uint8_t count_user, void *user, uint8_t count_op, void *user_op, uint8_t count_user, void *user, uint8_t count_op, void *user_op,
ticker_caller_id_get_cb_t caller_id_get_cb, ticker_caller_id_get_cb_t caller_id_get_cb,
ticker_sched_cb_t sched_cb, ticker_sched_cb_t sched_cb,
@ -2827,7 +2827,7 @@ void ticker_trigger(uint8_t instance_index)
* run before exiting ticker_start * run before exiting ticker_start
*/ */
#if defined(CONFIG_BT_TICKER_EXT) #if defined(CONFIG_BT_TICKER_EXT)
uint32_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
uint32_t ticks_anchor, uint32_t ticks_first, uint32_t ticks_periodic, uint32_t ticks_anchor, uint32_t ticks_first, uint32_t ticks_periodic,
uint32_t remainder_periodic, uint16_t lazy, uint32_t ticks_slot, uint32_t remainder_periodic, uint16_t lazy, uint32_t ticks_slot,
ticker_timeout_func fp_timeout_func, void *context, ticker_timeout_func fp_timeout_func, void *context,
@ -2841,7 +2841,7 @@ uint32_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id
NULL); NULL);
} }
uint32_t ticker_start_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_start_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
uint32_t ticks_anchor, uint32_t ticks_first, uint32_t ticks_anchor, uint32_t ticks_first,
uint32_t ticks_periodic, uint32_t remainder_periodic, uint32_t ticks_periodic, uint32_t remainder_periodic,
uint16_t lazy, uint32_t ticks_slot, uint16_t lazy, uint32_t ticks_slot,
@ -2849,7 +2849,7 @@ uint32_t ticker_start_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticke
ticker_op_func fp_op_func, void *op_context, ticker_op_func fp_op_func, void *op_context,
struct ticker_ext *ext_data) struct ticker_ext *ext_data)
#else #else
uint32_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
uint32_t ticks_anchor, uint32_t ticks_first, uint32_t ticks_periodic, uint32_t ticks_anchor, uint32_t ticks_first, uint32_t ticks_periodic,
uint32_t remainder_periodic, uint16_t lazy, uint32_t ticks_slot, uint32_t remainder_periodic, uint16_t lazy, uint32_t ticks_slot,
ticker_timeout_func fp_timeout_func, void *context, ticker_timeout_func fp_timeout_func, void *context,
@ -2934,7 +2934,7 @@ uint32_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id
* available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run * available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run
* before exiting ticker_update * before exiting ticker_update
*/ */
uint32_t ticker_update(uint8_t instance_index, uint8_t user_id, uint8_t ticker_update(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_drift_plus, uint8_t ticker_id, uint32_t ticks_drift_plus,
uint32_t ticks_drift_minus, uint32_t ticks_slot_plus, uint32_t ticks_drift_minus, uint32_t ticks_slot_plus,
uint32_t ticks_slot_minus, uint16_t lazy, uint8_t force, uint32_t ticks_slot_minus, uint16_t lazy, uint8_t force,
@ -2947,7 +2947,7 @@ uint32_t ticker_update(uint8_t instance_index, uint8_t user_id,
force, fp_op_func, op_context, 0); force, fp_op_func, op_context, 0);
} }
uint32_t ticker_update_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticker_update_ext(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_drift_plus, uint8_t ticker_id, uint32_t ticks_drift_plus,
uint32_t ticks_drift_minus, uint32_t ticks_drift_minus,
uint32_t ticks_slot_plus, uint32_t ticks_slot_minus, uint32_t ticks_slot_plus, uint32_t ticks_slot_minus,
@ -3018,7 +3018,7 @@ uint32_t ticker_update_ext(uint8_t instance_index, uint8_t user_id,
* available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run * available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run
* before exiting ticker_stop * before exiting ticker_stop
*/ */
uint32_t ticker_yield_abs(uint8_t instance_index, uint8_t user_id, uint8_t ticker_yield_abs(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_at_yield, uint8_t ticker_id, uint32_t ticks_at_yield,
ticker_op_func fp_op_func, void *op_context) ticker_op_func fp_op_func, void *op_context)
{ {
@ -3072,7 +3072,7 @@ uint32_t ticker_yield_abs(uint8_t instance_index, uint8_t user_id,
* available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run * available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run
* before exiting ticker_stop * before exiting ticker_stop
*/ */
uint32_t ticker_stop(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_stop(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
ticker_op_func fp_op_func, void *op_context) ticker_op_func fp_op_func, void *op_context)
{ {
struct ticker_instance *instance = &_instance[instance_index]; struct ticker_instance *instance = &_instance[instance_index];
@ -3125,7 +3125,7 @@ uint32_t ticker_stop(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
* available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run * available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run
* before exiting ticker_stop * before exiting ticker_stop
*/ */
uint32_t ticker_stop_abs(uint8_t instance_index, uint8_t user_id, uint8_t ticker_stop_abs(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_at_stop, uint8_t ticker_id, uint32_t ticks_at_stop,
ticker_op_func fp_op_func, void *op_context) ticker_op_func fp_op_func, void *op_context)
{ {
@ -3185,7 +3185,7 @@ uint32_t ticker_stop_abs(uint8_t instance_index, uint8_t user_id,
* available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run * available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run
* before exiting ticker_next_slot_get * before exiting ticker_next_slot_get
*/ */
uint32_t ticker_next_slot_get(uint8_t instance_index, uint8_t user_id, uint8_t ticker_next_slot_get(uint8_t instance_index, uint8_t user_id,
uint8_t *ticker_id, uint32_t *ticks_current, uint8_t *ticker_id, uint32_t *ticks_current,
uint32_t *ticks_to_expire, uint32_t *ticks_to_expire,
ticker_op_func fp_op_func, void *op_context) ticker_op_func fp_op_func, void *op_context)
@ -3199,7 +3199,7 @@ uint32_t ticker_next_slot_get(uint8_t instance_index, uint8_t user_id,
op_context); op_context);
} }
uint32_t ticker_next_slot_get_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticker_next_slot_get_ext(uint8_t instance_index, uint8_t user_id,
uint8_t *ticker_id, uint32_t *ticks_current, uint8_t *ticker_id, uint32_t *ticks_current,
uint32_t *ticks_to_expire, uint32_t *ticks_to_expire,
uint32_t *remainder, uint16_t *lazy, uint32_t *remainder, uint16_t *lazy,
@ -3275,7 +3275,7 @@ uint32_t ticker_next_slot_get_ext(uint8_t instance_index, uint8_t user_id,
* available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run * available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run
* before exiting ticker_job_idle_get * before exiting ticker_job_idle_get
*/ */
uint32_t ticker_job_idle_get(uint8_t instance_index, uint8_t user_id, uint8_t ticker_job_idle_get(uint8_t instance_index, uint8_t user_id,
ticker_op_func fp_op_func, void *op_context) ticker_op_func fp_op_func, void *op_context)
{ {
struct ticker_instance *instance = &_instance[instance_index]; struct ticker_instance *instance = &_instance[instance_index];
@ -3334,7 +3334,7 @@ uint32_t ticker_job_idle_get(uint8_t instance_index, uint8_t user_id,
* available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run * available, and TICKER_STATUS_SUCCESS is returned if ticker_job gets to run
* before exiting ticker_priority_set * before exiting ticker_priority_set
*/ */
uint32_t ticker_priority_set(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_priority_set(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
int8_t priority, ticker_op_func fp_op_func, int8_t priority, ticker_op_func fp_op_func,
void *op_context) void *op_context)
{ {

View file

@ -58,12 +58,12 @@
/** \brief Timer user operation type size. /** \brief Timer user operation type size.
*/ */
#if defined(CONFIG_BT_TICKER_EXT) #if defined(CONFIG_BT_TICKER_EXT)
#define TICKER_USER_OP_T_SIZE 52 #define TICKER_USER_OP_T_SIZE 48
#else #else
#if defined(CONFIG_BT_TICKER_SLOT_AGNOSTIC) #if defined(CONFIG_BT_TICKER_SLOT_AGNOSTIC)
#define TICKER_USER_OP_T_SIZE 44 #define TICKER_USER_OP_T_SIZE 40
#else #else
#define TICKER_USER_OP_T_SIZE 48 #define TICKER_USER_OP_T_SIZE 44
#endif /* CONFIG_BT_TICKER_SLOT_AGNOSTIC */ #endif /* CONFIG_BT_TICKER_SLOT_AGNOSTIC */
#endif /* CONFIG_BT_TICKER_EXT */ #endif /* CONFIG_BT_TICKER_EXT */
@ -122,7 +122,7 @@ typedef bool (*ticker_op_match_func) (uint8_t ticker_id, uint32_t ticks_slot,
* \param[in] count_op * \param[in] count_op
* \param[in] user_op * \param[in] user_op
*/ */
uint32_t ticker_init(uint8_t instance_index, uint8_t count_node, void *node, uint8_t ticker_init(uint8_t instance_index, uint8_t count_node, void *node,
uint8_t count_user, void *user, uint8_t count_op, uint8_t count_user, void *user, uint8_t count_op,
void *user_op, ticker_caller_id_get_cb_t caller_id_get_cb, void *user_op, ticker_caller_id_get_cb_t caller_id_get_cb,
ticker_sched_cb_t sched_cb, ticker_sched_cb_t sched_cb,
@ -131,38 +131,38 @@ bool ticker_is_initialized(uint8_t instance_index);
void ticker_trigger(uint8_t instance_index); void ticker_trigger(uint8_t instance_index);
void ticker_worker(void *param); void ticker_worker(void *param);
void ticker_job(void *param); void ticker_job(void *param);
uint32_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_start(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_anchor, uint8_t ticker_id, uint32_t ticks_anchor,
uint32_t ticks_first, uint32_t ticks_periodic, uint32_t ticks_first, uint32_t ticks_periodic,
uint32_t remainder_periodic, uint16_t lazy, uint32_t remainder_periodic, uint16_t lazy,
uint32_t ticks_slot, ticker_timeout_func fp_timeout_func, uint32_t ticks_slot, ticker_timeout_func fp_timeout_func,
void *context, ticker_op_func fp_op_func, void *context, ticker_op_func fp_op_func,
void *op_context); void *op_context);
uint32_t ticker_update(uint8_t instance_index, uint8_t user_id, uint8_t ticker_update(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_drift_plus, uint8_t ticker_id, uint32_t ticks_drift_plus,
uint32_t ticks_drift_minus, uint32_t ticks_slot_plus, uint32_t ticks_drift_minus, uint32_t ticks_slot_plus,
uint32_t ticks_slot_minus, uint16_t lazy, uint8_t force, uint32_t ticks_slot_minus, uint16_t lazy, uint8_t force,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
uint32_t ticker_yield_abs(uint8_t instance_index, uint8_t user_id, uint8_t ticker_yield_abs(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_at_yield, uint8_t ticker_id, uint32_t ticks_at_yield,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
uint32_t ticker_stop(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_stop(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
uint32_t ticker_stop_abs(uint8_t instance_index, uint8_t user_id, uint8_t ticker_stop_abs(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_at_stop, uint8_t ticker_id, uint32_t ticks_at_stop,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
uint32_t ticker_next_slot_get(uint8_t instance_index, uint8_t user_id, uint8_t ticker_next_slot_get(uint8_t instance_index, uint8_t user_id,
uint8_t *ticker_id, uint32_t *ticks_current, uint8_t *ticker_id, uint32_t *ticks_current,
uint32_t *ticks_to_expire, uint32_t *ticks_to_expire,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
uint32_t ticker_next_slot_get_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticker_next_slot_get_ext(uint8_t instance_index, uint8_t user_id,
uint8_t *ticker_id, uint32_t *ticks_current, uint8_t *ticker_id, uint32_t *ticks_current,
uint32_t *ticks_to_expire, uint32_t *ticks_to_expire,
uint32_t *remainder, uint16_t *lazy, uint32_t *remainder, uint16_t *lazy,
ticker_op_match_func fp_op_match_func, ticker_op_match_func fp_op_match_func,
void *match_op_context, void *match_op_context,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
uint32_t ticker_job_idle_get(uint8_t instance_index, uint8_t user_id, uint8_t ticker_job_idle_get(uint8_t instance_index, uint8_t user_id,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
void ticker_job_sched(uint8_t instance_index, uint8_t user_id); void ticker_job_sched(uint8_t instance_index, uint8_t user_id);
uint32_t ticker_ticks_now_get(void); uint32_t ticker_ticks_now_get(void);
@ -170,7 +170,7 @@ uint32_t ticker_ticks_diff_get(uint32_t ticks_now, uint32_t ticks_old);
#if !defined(CONFIG_BT_TICKER_LOW_LAT) && \ #if !defined(CONFIG_BT_TICKER_LOW_LAT) && \
!defined(CONFIG_BT_TICKER_SLOT_AGNOSTIC) !defined(CONFIG_BT_TICKER_SLOT_AGNOSTIC)
uint32_t ticker_priority_set(uint8_t instance_index, uint8_t user_id, uint8_t ticker_priority_set(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, int8_t priority, uint8_t ticker_id, int8_t priority,
ticker_op_func fp_op_func, void *op_context); ticker_op_func fp_op_func, void *op_context);
#if defined(CONFIG_BT_TICKER_EXT) #if defined(CONFIG_BT_TICKER_EXT)
@ -186,7 +186,7 @@ struct ticker_ext {
*/ */
}; };
uint32_t ticker_start_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticker_start_ext(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_anchor, uint8_t ticker_id, uint32_t ticks_anchor,
uint32_t ticks_first, uint32_t ticks_periodic, uint32_t ticks_first, uint32_t ticks_periodic,
uint32_t remainder_periodic, uint16_t lazy, uint32_t remainder_periodic, uint16_t lazy,
@ -194,7 +194,7 @@ uint32_t ticker_start_ext(uint8_t instance_index, uint8_t user_id,
ticker_timeout_func fp_timeout_func, void *context, ticker_timeout_func fp_timeout_func, void *context,
ticker_op_func fp_op_func, void *op_context, ticker_op_func fp_op_func, void *op_context,
struct ticker_ext *ext_data); struct ticker_ext *ext_data);
uint32_t ticker_update_ext(uint8_t instance_index, uint8_t user_id, uint8_t ticker_update_ext(uint8_t instance_index, uint8_t user_id,
uint8_t ticker_id, uint32_t ticks_drift_plus, uint8_t ticker_id, uint32_t ticks_drift_plus,
uint32_t ticks_drift_minus, uint32_t ticks_drift_minus,
uint32_t ticks_slot_plus, uint32_t ticks_slot_minus, uint32_t ticks_slot_plus, uint32_t ticks_slot_minus,

View file

@ -9,7 +9,7 @@
#include "ticker/ticker.h" #include "ticker/ticker.h"
uint32_t ticker_update(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_update(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
uint32_t ticks_drift_plus, uint32_t ticks_drift_minus, uint32_t ticks_drift_plus, uint32_t ticks_drift_minus,
uint32_t ticks_slot_plus, uint32_t ticks_slot_minus, uint16_t lazy, uint32_t ticks_slot_plus, uint32_t ticks_slot_minus, uint16_t lazy,
uint8_t force, ticker_op_func fp_op_func, void *op_context) uint8_t force, ticker_op_func fp_op_func, void *op_context)
@ -17,7 +17,7 @@ uint32_t ticker_update(uint8_t instance_index, uint8_t user_id, uint8_t ticker_i
return TICKER_STATUS_SUCCESS; return TICKER_STATUS_SUCCESS;
} }
uint32_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
uint32_t ticks_anchor, uint32_t ticks_first, uint32_t ticks_periodic, uint32_t ticks_anchor, uint32_t ticks_first, uint32_t ticks_periodic,
uint32_t remainder_periodic, uint16_t lazy, uint32_t ticks_slot, uint32_t remainder_periodic, uint16_t lazy, uint32_t ticks_slot,
ticker_timeout_func fp_timeout_func, void *context, ticker_op_func fp_op_func, ticker_timeout_func fp_timeout_func, void *context, ticker_op_func fp_op_func,
@ -26,7 +26,7 @@ uint32_t ticker_start(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id
return TICKER_STATUS_SUCCESS; return TICKER_STATUS_SUCCESS;
} }
uint32_t ticker_stop(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id, uint8_t ticker_stop(uint8_t instance_index, uint8_t user_id, uint8_t ticker_id,
ticker_op_func fp_op_func, void *op_context) ticker_op_func fp_op_func, void *op_context)
{ {
return TICKER_STATUS_SUCCESS; return TICKER_STATUS_SUCCESS;