aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2013-04-23 10:25:34 -0500
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-11-25 23:05:09 +0100
commit4d7a4c59dea4cc5f31d9bdd8163f3e0c925b1e90 (patch)
treea80d88cc0103e20b85745ac56fa3d5a72f718115
parent454744fd8665eba8721adcd6d84e74c17f8b2b42 (diff)
x86: use proper types for interrupt callbacks
The mainboard_interrupt_handlers() argument for the function pointer was using void * as the type. This does not allow the compiler to catch type differences for the arguments. Thus, some code has been committed which violates the new interrupt callbacks not taking any arguments. Make sure the compiler provides a type checking benefit. Change-Id: Ie20699a368e70c33a9a9912e0fcd63f1e6bb4f18 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/48970 Reviewed-on: http://review.coreboot.org/4141 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--src/arch/x86/include/arch/interrupt.h4
-rw-r--r--src/device/oprom/realmode/x86.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/x86/include/arch/interrupt.h b/src/arch/x86/include/arch/interrupt.h
index 8c9b4a93d8..9753c502ee 100644
--- a/src/arch/x86/include/arch/interrupt.h
+++ b/src/arch/x86/include/arch/interrupt.h
@@ -23,9 +23,9 @@
/* setup interrupt handlers for mainboard */
#if CONFIG_PCI_OPTION_ROM_RUN_REALMODE
-extern void mainboard_interrupt_handlers(int intXX, void *intXX_func);
+extern void mainboard_interrupt_handlers(int intXX, int (*intXX_func)(void));
#elif CONFIG_PCI_OPTION_ROM_RUN_YABEL
#include <device/oprom/yabel/biosemu.h>
#else
-static inline void mainboard_interrupt_handlers(int intXX, void *intXX_func) { }
+static inline void mainboard_interrupt_handlers(int intXX, int (*intXX_func)(void)) { }
#endif
diff --git a/src/device/oprom/realmode/x86.c b/src/device/oprom/realmode/x86.c
index 338294df25..4385c03074 100644
--- a/src/device/oprom/realmode/x86.c
+++ b/src/device/oprom/realmode/x86.c
@@ -118,7 +118,7 @@ static int intXX_unknown_handler(void)
}
/* setup interrupt handlers for mainboard */
-void mainboard_interrupt_handlers(int intXX, void *intXX_func)
+void mainboard_interrupt_handlers(int intXX, int (*intXX_func)(void))
{
intXX_handler[intXX] = intXX_func;
}