From: Alexander Dahl <ada@thorsis.com>
To: linux-leds@vger.kernel.org
Cc: Jacek Anaszewski <jacek.anaszewski@gmail.com>,
Pavel Machek <pavel@ucw.cz>, Dan Murphy <dmurphy@ti.com>,
linux-kernel@vger.kernel.org, Alexander Dahl <post@lespocky.de>
Subject: Re: [PATCH] leds: pwm: Allow automatic labels for DT based devices
Date: Fri, 28 Aug 2020 09:00:52 +0200 [thread overview]
Message-ID: <7920560.iacgkFlgr8@ada> (raw)
In-Reply-To: <d6f69d4a-3e46-cad4-5756-4d15e5ef95ba@gmail.com>
Hello Jacek,
Am Donnerstag, 27. August 2020, 23:28:45 CEST schrieb Jacek Anaszewski:
> On 8/26/20 11:37 AM, Alexander Dahl wrote:
> > From: Alexander Dahl <post@lespocky.de>
> >
> > If LEDs are configured through device tree and the property 'label' is
> > omitted, the label is supposed to be generated from the properties
> > 'function' and 'color' if present. While this works fine for e.g. the
> > 'leds-gpio' driver, it did not for 'leds-pwm'.
> >
> > The reason is, you get this label naming magic only if you add a LED
> > device through 'devm_led_classdev_register_ext()' and pass a pointer to
> > the current device tree node. The approach to fix this was adopted from
> > the 'leds-gpio' driver.
> >
> > For the following node from dts the LED appeared as 'led5' in sysfs
> > before and as 'red:debug' after this change.
> >
> > pwm_leds {
> >
> > compatible = "pwm-leds";
> >
> > led5 {
> >
> > function = LED_FUNCTION_DEBUG;
> > color = <LED_COLOR_ID_RED>;
> > pwms = <&pwm0 2 10000000 0>;
> > max-brightness = <127>;
> >
> > linux,default-trigger = "heartbeat";
> > panic-indicator;
> >
> > };
> >
> > };
> >
> > Signed-off-by: Alexander Dahl <post@lespocky.de>
> > ---
> >
> > Notes:
> > v1: based on v5.9-rc2, backport on v5.4.59 also works
> >
> > drivers/leds/leds-pwm.c | 9 ++++++++-
> > 1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
> > index ef7b91bd2064..a27a1d75a3e9 100644
> > --- a/drivers/leds/leds-pwm.c
> > +++ b/drivers/leds/leds-pwm.c
> > @@ -65,6 +65,7 @@ static int led_pwm_add(struct device *dev, struct
> > led_pwm_priv *priv,>
> > struct led_pwm *led, struct fwnode_handle *fwnode)
> >
> > {
> >
> > struct led_pwm_data *led_data = &priv->leds[priv->num_leds];
> >
> > + struct led_init_data init_data = {};
> >
> > int ret;
> >
> > led_data->active_low = led->active_low;
> >
> > @@ -90,7 +91,13 @@ static int led_pwm_add(struct device *dev, struct
> > led_pwm_priv *priv,>
> > pwm_init_state(led_data->pwm, &led_data->pwmstate);
> >
> > - ret = devm_led_classdev_register(dev, &led_data->cdev);
> > + if (fwnode) {
> > + init_data.fwnode = fwnode;
> > + ret = devm_led_classdev_register_ext(dev, &led_data->cdev,
> > + &init_data);
> > + } else {
> > + ret = devm_led_classdev_register(dev, &led_data->cdev);
> > + }
> >
> > if (ret) {
> >
> > dev_err(dev, "failed to register PWM led for %s: %d\n",
> >
> > led->name, ret);
>
> This part looks good, but corresponding update of
> Documentation/devicetree/bindings/leds/leds-pwm.txt is needed as well.
I'm not sure, what needs updating. The properties 'function' and 'color' are
already documented in Documentation/devicetree/bindings/leds/common.yaml … the
only thing I can think of here is updating the examples? That would be nice,
as would be updating to yaml, but I don't see the strong relation, yet.
> It would be good to switch to yaml by this occassion.
Is there some guidance on that in general?
Greets
Alex
next prev parent reply other threads:[~2020-08-28 7:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-26 9:37 [PATCH] leds: pwm: Allow automatic labels for DT based devices Alexander Dahl
2020-08-27 21:28 ` Jacek Anaszewski
2020-08-28 7:00 ` Alexander Dahl [this message]
2020-08-28 20:43 ` Jacek Anaszewski
2020-08-31 9:20 ` Alexander Dahl
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=7920560.iacgkFlgr8@ada \
--to=ada@thorsis.com \
--cc=dmurphy@ti.com \
--cc=jacek.anaszewski@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=post@lespocky.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.