From: Bernhard Nortmann <bernhard.nortmann@web.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] Generic stubs for GPIO LEDs
Date: Sat, 28 Mar 2015 17:11:37 +0100 [thread overview]
Message-ID: <5516D2B9.6070802@web.de> (raw)
For boards that support LEDs driven via GPIO (CONFIG_GPIO_LED), it may
be useful to have some generic stubs (wrapper functions) for the
"colored" LEDs. This allows definitions like:
#define GREEN_LED_GPIO 248 /* = PH24 */
#define STATUS_LED_BIT GREEN_LED_GPIO
#define STATUS_LED_STATE STATUS_LED_OFF
#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2)
#define STATUS_LED_GREEN GREEN_LED_GPIO
To keep this optional, it's probably best to introduce an additional
configuration setting. I've chosen CONFIG_GPIO_LED_STUBS for that.
Placing the code in drivers/misc/gpio_led.c also ensures that it
automatically depends on CONFIG_GPIO_LED too.
Regards, B. Nortmann
---
drivers/misc/gpio_led.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/drivers/misc/gpio_led.c b/drivers/misc/gpio_led.c
index 3e95727..8f3bd9b 100644
--- a/drivers/misc/gpio_led.c
+++ b/drivers/misc/gpio_led.c
@@ -51,3 +51,42 @@ void __led_toggle(led_id_t mask)
{
gpio_set_value(mask, !gpio_get_value(mask));
}
+
+#ifdef CONFIG_GPIO_LED_STUBS
+
+/* 'generic' override of colored LED stubs, to use GPIO functions
instead */
+
+#ifdef STATUS_LED_RED
+void red_led_on(void) {
+ __led_set(STATUS_LED_RED, STATUS_LED_ON);
+}
+void red_led_off(void) {
+ __led_set(STATUS_LED_RED, STATUS_LED_OFF);
+}
+#endif
+#ifdef STATUS_LED_GREEN
+void green_led_on(void) {
+ __led_set(STATUS_LED_GREEN, STATUS_LED_ON);
+}
+void green_led_off(void) {
+ __led_set(STATUS_LED_GREEN, STATUS_LED_OFF);
+}
+#endif
+#ifdef STATUS_LED_YELLOW
+void yellow_led_on(void) {
+ __led_set(STATUS_LED_YELLOW, STATUS_LED_ON);
+}
+void yellow_led_off(void) {
+ __led_set(STATUS_LED_YELLOW, STATUS_LED_OFF);
+}
+#endif
+#ifdef STATUS_LED_BLUE
+void blue_led_on(void) {
+ __led_set(STATUS_LED_BLUE, STATUS_LED_ON);
+}
+void blue_led_off(void) {
+ __led_set(STATUS_LED_BLUE, STATUS_LED_OFF);
+}
+#endif
+
+#endif /* CONFIG_GPIO_LED_STUBS */
--
2.0.5
reply other threads:[~2015-03-28 16:11 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5516D2B9.6070802@web.de \
--to=bernhard.nortmann@web.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.