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