Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion subsys/bluetooth/controller/ll_sw/ull.c
Original file line number Diff line number Diff line change
Expand Up @@ -784,8 +784,18 @@ int ll_init(struct k_sem *sem_rx)

int ll_deinit(void)
{
int err;

ll_reset();
return lll_deinit();

err = lll_deinit();
if (err) {
return err;
}

err = ticker_deinit(TICKER_INSTANCE_ID_CTLR);

return err;
}

void ll_reset(void)
Expand Down
24 changes: 24 additions & 0 deletions subsys/bluetooth/controller/ticker/ticker.c
Original file line number Diff line number Diff line change
Expand Up @@ -3464,6 +3464,30 @@ uint8_t ticker_init(uint8_t instance_index, uint8_t count_node, void *node,
return TICKER_STATUS_SUCCESS;
}

/**
* @brief Deinitialize ticker instance
*
* @param instance_index Index of ticker instance
*/
int ticker_deinit(uint8_t instance_index)
{
struct ticker_instance *instance;

if (instance_index >= TICKER_INSTANCE_MAX) {
return -EINVAL;
}

instance = &_instance[instance_index];

if (instance->ticker_id_head != TICKER_NULL) {
return -EBUSY;
}

instance->count_node = 0U;

return 0;
}

/**
* @brief Check if ticker instance is initialized
*
Expand Down
1 change: 1 addition & 0 deletions subsys/bluetooth/controller/ticker/ticker.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ uint8_t ticker_init(uint8_t instance_index, uint8_t count_node, void *node,
void *user_op, ticker_caller_id_get_cb_t caller_id_get_cb,
ticker_sched_cb_t sched_cb,
ticker_trigger_set_cb_t trigger_set_cb);
int ticker_deinit(uint8_t instance_index);
bool ticker_is_initialized(uint8_t instance_index);
void ticker_trigger(uint8_t instance_index);
void ticker_worker(void *param);
Expand Down
Loading