From 0b845e9962b1b0333f762d76a85984da72438f56 Mon Sep 17 00:00:00 2001 From: Rahix <rahix@rahix.de> Date: Wed, 1 Apr 2020 18:56:40 +0200 Subject: [PATCH] chore(interrupts): Make api_interrupt_trigger() return void api_interrupt_trigger() cannot fail except by a programmer error (passing an invalid ID) in which case we should raise an assertion. Thus, make it return `void` instead of `int`. This is also in preparation for future work to schedule interrupts asynchroneously. Signed-off-by: Rahix <rahix@rahix.de> --- epicardium/api/interrupt-sender.c | 8 +++----- epicardium/api/interrupt-sender.h | 2 +- epicardium/modules/max86150.c | 5 ++++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/epicardium/api/interrupt-sender.c b/epicardium/api/interrupt-sender.c index 5117bea20..53568df9c 100644 --- a/epicardium/api/interrupt-sender.c +++ b/epicardium/api/interrupt-sender.c @@ -1,14 +1,13 @@ #include "api/interrupt-sender.h" #include "api/common.h" #include "tmr_utils.h" +#include <assert.h> static bool int_enabled[EPIC_INT_NUM]; -int api_interrupt_trigger(api_int_id_t id) +void api_interrupt_trigger(api_int_id_t id) { - if (id >= EPIC_INT_NUM) { - return -EINVAL; - } + assert(id < EPIC_INT_NUM); if (int_enabled[id]) { while (API_CALL_MEM->int_id != (api_int_id_t)(-1)) @@ -17,7 +16,6 @@ int api_interrupt_trigger(api_int_id_t id) API_CALL_MEM->int_id = id; TMR_TO_Start(MXC_TMR5, 1, 0); } - return 0; } void api_interrupt_init(void) diff --git a/epicardium/api/interrupt-sender.h b/epicardium/api/interrupt-sender.h index 419993c72..84fe4428f 100644 --- a/epicardium/api/interrupt-sender.h +++ b/epicardium/api/interrupt-sender.h @@ -2,4 +2,4 @@ #include "api/common.h" void api_interrupt_init(void); -int api_interrupt_trigger(api_int_id_t id); +void api_interrupt_trigger(api_int_id_t id); diff --git a/epicardium/modules/max86150.c b/epicardium/modules/max86150.c index 428d0caf2..0de234a87 100644 --- a/epicardium/modules/max86150.c +++ b/epicardium/modules/max86150.c @@ -140,7 +140,10 @@ static int max86150_handle_sample(struct max86150_sensor_data *data) LOG_WARN("max86150", "queue full"); return -EIO; } - return api_interrupt_trigger(EPIC_INT_MAX86150); + + api_interrupt_trigger(EPIC_INT_MAX86150); + + return 0; } static int max86150_fetch_fifo(void) -- GitLab