linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 4/4] leds: lp50xx: add setting of default intensity from DT
@ 2021-02-04 14:38 Sven Schuchmann
  2021-02-04 14:55 ` Pavel Machek
  0 siblings, 1 reply; 3+ messages in thread
From: Sven Schuchmann @ 2021-02-04 14:38 UTC (permalink / raw)
  Cc: Sven Schuchmann, Pavel Machek, Dan Murphy, linux-leds, linux-kernel

In order to use a multicolor-led together with a trigger
the led needs to have an intensity set to see something.
The trigger changes the brightness of the led but if there
is no intensity we actually see nothing.

This patch adds the ability to set the default intensity
of each multi-led node so that it is turned on from DT.
If no intensity is given the led will be initialized
with full intensity.

Part 1 updates the documentation.
Part 2 removes an unused variable.
Part 3 sets the initial intensity to full.
Part 4 reads the default intensity from DT

changes in v1
 - fix dt_binding_check errors

changes in v2
 - sets default intensity to full
 - adds the property to the multi-led node

Signed-off-by: Sven Schuchmann <schuchmann@schleissheimer.de>
---
 drivers/leds/leds-lp50xx.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c
index 79bc071c31fb..e8aa36c7e963 100644
--- a/drivers/leds/leds-lp50xx.c
+++ b/drivers/leds/leds-lp50xx.c
@@ -504,6 +504,24 @@ static int lp50xx_probe_dt(struct lp50xx *priv)
 			num_colors++;
 		}
 
+		if (fwnode_property_count_u32(child, "default-intensity")
+			== num_colors) {
+
+			int j, def_int[LP50XX_LEDS_PER_MODULE];
+
+			ret = fwnode_property_read_u32_array(child,
+				"default-intensity", def_int, num_colors);
+			if (ret) {
+				dev_err(&priv->client->dev,
+					"Cannot read default-intensity: %d\n",
+					ret);
+				goto child_out;
+			}
+
+			for (j = 0; j < num_colors; j++)
+				mc_led_info[j].intensity = def_int[j];
+		}
+
 		led->priv = priv;
 		led->mc_cdev.num_colors = num_colors;
 		led->mc_cdev.subled_info = mc_led_info;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 4/4] leds: lp50xx: add setting of default intensity from DT
  2021-02-04 14:38 [PATCH v2 4/4] leds: lp50xx: add setting of default intensity from DT Sven Schuchmann
@ 2021-02-04 14:55 ` Pavel Machek
  2021-02-05 10:00   ` AW: " Sven Schuchmann
  0 siblings, 1 reply; 3+ messages in thread
From: Pavel Machek @ 2021-02-04 14:55 UTC (permalink / raw)
  To: Sven Schuchmann; +Cc: Dan Murphy, linux-leds, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1423 bytes --]

On Thu 2021-02-04 14:38:03, Sven Schuchmann wrote:
> In order to use a multicolor-led together with a trigger
> the led needs to have an intensity set to see something.
> The trigger changes the brightness of the led but if there
> is no intensity we actually see nothing.
> 
> This patch adds the ability to set the default intensity
> of each multi-led node so that it is turned on from DT.
> If no intensity is given the led will be initialized
> with full intensity.

> Signed-off-by: Sven Schuchmann <schuchmann@schleissheimer.de>

Check your email headers, empty To: is strange.

> diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c
> index 79bc071c31fb..e8aa36c7e963 100644
> --- a/drivers/leds/leds-lp50xx.c
> +++ b/drivers/leds/leds-lp50xx.c
> @@ -504,6 +504,24 @@ static int lp50xx_probe_dt(struct lp50xx *priv)
>  			num_colors++;
>  		}
>  
> +		if (fwnode_property_count_u32(child, "default-intensity")
> +			== num_colors) {
> +
> +			int j, def_int[LP50XX_LEDS_PER_MODULE];

No need for empty line?


> +			ret = fwnode_property_read_u32_array(child,
> +				"default-intensity", def_int, num_colors);
> +			if (ret) {
> +				dev_err(&priv->client->dev,
> +					"Cannot read default-intensity: %d\n",
> +					ret);
> +				goto child_out;
> +			}

Just ignore such error?

Best regards,
									Pavel
-- 
http://www.livejournal.com/~pavelmachek

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* AW: [PATCH v2 4/4] leds: lp50xx: add setting of default intensity from DT
  2021-02-04 14:55 ` Pavel Machek
@ 2021-02-05 10:00   ` Sven Schuchmann
  0 siblings, 0 replies; 3+ messages in thread
From: Sven Schuchmann @ 2021-02-05 10:00 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Dan Murphy, linux-leds, linux-kernel

Hello Pavel,
> 
> > Signed-off-by: Sven Schuchmann <schuchmann@schleissheimer.de>
> 
> Check your email headers, empty To: is strange.
> 
> > diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c
> > index 79bc071c31fb..e8aa36c7e963 100644
> > --- a/drivers/leds/leds-lp50xx.c
> > +++ b/drivers/leds/leds-lp50xx.c
> > @@ -504,6 +504,24 @@ static int lp50xx_probe_dt(struct lp50xx *priv)
> >  			num_colors++;
> >  		}
> >
> > +		if (fwnode_property_count_u32(child, "default-intensity")
> > +			== num_colors) {
> > +
> > +			int j, def_int[LP50XX_LEDS_PER_MODULE];
> 
> No need for empty line?

Using "git send-email", maybe I am doing something wrong here, will check.


> > +			ret = fwnode_property_read_u32_array(child,
> > +				"default-intensity", def_int, num_colors);
> > +			if (ret) {
> > +				dev_err(&priv->client->dev,
> > +					"Cannot read default-intensity: %d\n",
> > +					ret);
> > +				goto child_out;
> > +			}
> 
> Just ignore such error?

Yes, I will ignore in the next version

Best Regards,

   Sven

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-05 10:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04 14:38 [PATCH v2 4/4] leds: lp50xx: add setting of default intensity from DT Sven Schuchmann
2021-02-04 14:55 ` Pavel Machek
2021-02-05 10:00   ` AW: " Sven Schuchmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).