[U-Boot] [PATCH] 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 vapier@gentoo.org --- post/post.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/post/post.c b/post/post.c index 1b7f2aa..ecea1e1 100644 --- a/post/post.c +++ b/post/post.c @@ -26,6 +26,10 @@ #include <watchdog.h> #include <post.h>
+#ifdef CONFIG_SYS_POST_HOTKEYS_GPIO +#include <asm/gpio.h> +#endif + #ifdef CONFIG_LOGBUFFER #include <logbuff.h> #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)

Hello.
On 10-05-2011 21:01, Mike Frysinger wrote:
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 Frysingervapier@gentoo.org
post/post.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/post/post.c b/post/post.c index 1b7f2aa..ecea1e1 100644 --- a/post/post.c +++ b/post/post.c
[...]
@@ -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
You surely meant #else here?
- return 0; /* No hotkeys supported */ } int post_hotkeys_pressed(void)
WBR, Sergei

On Wednesday, May 11, 2011 07:42:09 Sergei Shtylyov wrote:
On 10-05-2011 21:01, Mike Frysinger wrote:
@@ -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
You surely meant #else here?
return 0; /* No hotkeys supported */
not really what i was going for. it's fine either way though. -mike

Hello.
On 11-05-2011 18:54, Mike Frysinger wrote:
@@ -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
You surely meant #else here?
return 0; /* No hotkeys supported */
not really what i was going for. it's fine either way though.
I don't think 2 returns in a row is fine...
-mike
WBR, Sergei

On Thursday, May 12, 2011 08:47:56 Sergei Shtylyov wrote:
On 11-05-2011 18:54, Mike Frysinger wrote:
int __post_hotkeys_pressed(void) { +#ifdef CONFIG_SYS_POST_HOTKEYS_GPIO
- return ret;
+#endif
You surely meant #else here?
return 0; /* No hotkeys supported */
not really what i was going for. it's fine either way though.
I don't think 2 returns in a row is fine...
if there were no CPP here, then obviously you'd be right. but there is, and i dont see much point now in adding a little more wrapping. gcc doesnt warn about it. -mike

Dear Mike Frysinger,
In message 1305046881-5818-1-git-send-email-vapier@gentoo.org you wrote:
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 vapier@gentoo.org
post/post.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
participants (3)
-
Mike Frysinger
-
Sergei Shtylyov
-
Wolfgang Denk