summaryrefslogtreecommitdiff
path: root/cros_ec/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'cros_ec/main.c')
-rw-r--r--cros_ec/main.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/cros_ec/main.c b/cros_ec/main.c
index 1a4dd78787..ff14b22b5e 100644
--- a/cros_ec/main.c
+++ b/cros_ec/main.c
@@ -9,16 +9,24 @@
#include "cros_ec/include/core.h"
#include "cros_ec/include/ec_common.h"
#include "cros_ec/include/ec_keyboard.h"
+#include "board/board_interface.h"
+
+
+#define ReturnIfInitFailed(func) \
+ do { \
+ EcError ret; \
+ ret = func(); \
+ if (ret != EC_SUCCESS) { \
+ printf("%s() failed at %s:%d: %d\n", #func, __FILE__, __LINE__, ret); \
+ return ret; \
+ } \
+ } while (0)
EcError CoreMain() {
- EcError ret;
- ret = EcKeyboardInit();
- if (ret != EC_SUCCESS) {
- printf("EcKeyboardInit() failed: %d\n", ret);
- return ret;
- }
+ ReturnIfInitFailed(EcKeyboardInit);
+ ReturnIfInitFailed(BoardInit);
return EC_SUCCESS;
}