summaryrefslogtreecommitdiff
path: root/include/hooks.h
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2014-03-07 19:06:54 -0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-03-22 06:24:16 +0000
commit60e47a730f9a0c0eb20ccd067954009c192418c9 (patch)
tree7c78a02d75a18f1715f09624bc7c415aee92ef7d /include/hooks.h
parent727b4e4e0d54e46e196d2d129ab432f537d2c301 (diff)
downloadchrome-ec-60e47a730f9a0c0eb20ccd067954009c192418c9.tar.gz
make the common runtime optional
In order to achieve really tiny firmwares, make our runtime (tasks, hooks, muxed timers, GPIO abstraction ...) optional. Add 2 new build options for it : CONFIG_COMMON_RUNTIME and CONFIG_COMMON_GPIO which are enabled by default, and ensure all the source files are built according to the right configuration variable. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=none TEST=make buildall build a minimal board with no runtime. Change-Id: Icb621cbe0a75b3a320cb53c3267d6e578cd3c32f Reviewed-on: https://chromium-review.googlesource.com/189403 Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'include/hooks.h')
-rw-r--r--include/hooks.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/hooks.h b/include/hooks.h
index fb3e6c236b..944d44bd06 100644
--- a/include/hooks.h
+++ b/include/hooks.h
@@ -192,6 +192,7 @@ void hook_notify(enum hook_type type);
*/
int hook_call_deferred(void (*routine)(void), int us);
+#ifdef CONFIG_COMMON_RUNTIME
/**
* Register a hook routine.
*
@@ -248,4 +249,9 @@ struct deferred_data {
__attribute__((section(".rodata.deferred"))) \
= {routine}
+#else /* CONFIG_COMMON_RUNTIME */
+#define DECLARE_HOOK(t, func, p) void unused_hook_##func(void) { func(); }
+#define DECLARE_DEFERRED(func) void unused_deferred_##func(void) { func(); }
+#endif /* CONFIG_COMMON_RUNTIME */
+
#endif /* __CROS_EC_HOOKS_H */