drivers: counter: mcux_rtc: allow setting a new alarm from the callback
Allow setting a new alarm from the callback context of the just expired alarm. Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
parent
28f2dc6c69
commit
fad34eb034
1 changed files with 5 additions and 1 deletions
|
@ -181,13 +181,17 @@ static void mcux_rtc_isr(void *arg)
|
|||
const struct mcux_rtc_config *config =
|
||||
CONTAINER_OF(info, struct mcux_rtc_config, info);
|
||||
struct mcux_rtc_data *data = dev->driver_data;
|
||||
counter_alarm_callback_t cb;
|
||||
u32_t current = mcux_rtc_read(dev);
|
||||
|
||||
|
||||
LOG_DBG("Current time is %d ticks", current);
|
||||
|
||||
if ((RTC_GetStatusFlags(config->base) & RTC_SR_TAF_MASK) &&
|
||||
(data->alarm_callback)) {
|
||||
data->alarm_callback(dev, 0, current, data->alarm_user_data);
|
||||
cb = data->alarm_callback;
|
||||
data->alarm_callback = NULL;
|
||||
cb(dev, 0, current, data->alarm_user_data);
|
||||
}
|
||||
|
||||
if ((RTC_GetStatusFlags(config->base) & RTC_SR_TOF_MASK) &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue