All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux-kernel-dev at beckhoff.com <linux-kernel-dev@beckhoff.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] dm: led: Support "default-state" property
Date: Wed, 7 Mar 2018 10:48:14 +0100	[thread overview]
Message-ID: <20180307094815.32215-2-linux-kernel-dev@beckhoff.com> (raw)
In-Reply-To: <20180307094815.32215-1-linux-kernel-dev@beckhoff.com>

From: Patrick Bruenn <p.bruenn@beckhoff.com>

Add support for the device tree property "default-state". This feature
might be useful for LEDs indicating "power on" or similar states.

Note: Even with this commit gpio-leds remain in reset state. That's
because the led_gpio is not probed until DM_FLAG_ACTIVATED is set.

Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>

---

 drivers/led/led_gpio.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/drivers/led/led_gpio.c b/drivers/led/led_gpio.c
index 9976635887..e68d8d3864 100644
--- a/drivers/led/led_gpio.c
+++ b/drivers/led/led_gpio.c
@@ -60,11 +60,25 @@ static int led_gpio_probe(struct udevice *dev)
 {
 	struct led_uc_plat *uc_plat = dev_get_uclass_platdata(dev);
 	struct led_gpio_priv *priv = dev_get_priv(dev);
+	const char *default_state;
+	int ret;
 
 	/* Ignore the top-level LED node */
 	if (!uc_plat->label)
 		return 0;
-	return gpio_request_by_name(dev, "gpios", 0, &priv->gpio, GPIOD_IS_OUT);
+
+	ret = gpio_request_by_name(dev, "gpios", 0, &priv->gpio, GPIOD_IS_OUT);
+	if (ret)
+		return ret;
+
+	default_state = dev_read_string(dev, "default-state");
+	if (default_state) {
+		if (!strncmp(default_state, "on", 2))
+			gpio_led_set_state(dev, LEDST_ON);
+		else if (!strncmp(default_state, "off", 3))
+			gpio_led_set_state(dev, LEDST_OFF);
+	}
+	return 0;
 }
 
 static int led_gpio_remove(struct udevice *dev)
-- 
2.11.0

  reply	other threads:[~2018-03-07  9:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-07  9:48 [U-Boot] [PATCH 0/2] This series adds support for gpio-leds "default-state" property. The linux-kernel-dev at beckhoff.com
2018-03-07  9:48 ` linux-kernel-dev at beckhoff.com [this message]
2018-04-01 14:19   ` [U-Boot] [PATCH 1/2] dm: led: Support "default-state" property Simon Glass
2018-03-07  9:48 ` [U-Boot] [PATCH 2/2] dm: led: auto probe() LEDs with "default-state" linux-kernel-dev at beckhoff.com

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=20180307094815.32215-2-linux-kernel-dev@beckhoff.com \
    --to=linux-kernel-dev@beckhoff.com \
    --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.