From 9146d13821a20c49703e1f8f7e4a4f028678883d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 10 May 2011 07:01:21 +0000 Subject: post: add gpio hotkey support Now that we have the generic GPIO layer, we can easily provide a common implementation for the post_hotkeys_pressed() function based on it. Signed-off-by: Mike Frysinger --- post/post.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/post/post.c b/post/post.c index 1b7f2aa075..ecea1e13a2 100644 --- a/post/post.c +++ b/post/post.c @@ -26,6 +26,10 @@ #include #include +#ifdef CONFIG_SYS_POST_HOTKEYS_GPIO +#include +#endif + #ifdef CONFIG_LOGBUFFER #include #endif @@ -68,6 +72,23 @@ int post_init_f (void) */ int __post_hotkeys_pressed(void) { +#ifdef CONFIG_SYS_POST_HOTKEYS_GPIO + int ret; + unsigned gpio = CONFIG_SYS_POST_HOTKEYS_GPIO; + + ret = gpio_request(gpio, "hotkeys"); + if (ret) { + printf("POST: gpio hotkey request failed\n"); + return 0; + } + + gpio_direction_input(gpio); + ret = gpio_get_value(gpio); + gpio_free(gpio); + + return ret; +#endif + return 0; /* No hotkeys supported */ } int post_hotkeys_pressed(void) -- cgit v1.2.1