[v29,13/16] leds: lp5523: Update the lp5523 code to add multicolor brightness function
diff mbox series

Message ID 20200622185919.2131-14-dmurphy@ti.com
State New
Headers show
Series
  • Multicolor Framework v29
Related show

Commit Message

Dan Murphy June 22, 2020, 6:59 p.m. UTC
Add the multicolor brightness call back to support the multicolor
framework.  This call back allows setting  brightness on grouped channels
in a single function.

Acked-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Dan Murphy <dmurphy@ti.com>
---
 drivers/leds/leds-lp5523.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Pavel Machek July 11, 2020, 3:57 p.m. UTC | #1
Hi!

> Add the multicolor brightness call back to support the multicolor
> framework.  This call back allows setting  brightness on grouped channels

Extra space before "brightness".

Best regards,
									Pavel
Jacek Anaszewski July 11, 2020, 5:19 p.m. UTC | #2
On 7/11/20 5:57 PM, Pavel Machek wrote:
> Hi!
> 
>> Add the multicolor brightness call back to support the multicolor
>> framework.  This call back allows setting  brightness on grouped channels
> 
> Extra space before "brightness".

And before "This".
Pavel Machek July 11, 2020, 8:24 p.m. UTC | #3
On Sat 2020-07-11 19:19:22, Jacek Anaszewski wrote:
> On 7/11/20 5:57 PM, Pavel Machek wrote:
> > Hi!
> > 
> > > Add the multicolor brightness call back to support the multicolor
> > > framework.  This call back allows setting  brightness on grouped channels
> > 
> > Extra space before "brightness".
> 
> And before "This".

That one is intentional, I believe.

https://www.independent.co.uk/life-style/gadgets-and-tech/news/one-space-or-two-spaces-after-a-full-stop-scientists-have-finally-found-the-answer-a8337646.html

We are using fixed width fonts, so typewriter rules still apply here.

Best regards,
									Pavel
Jacek Anaszewski July 12, 2020, 3:31 p.m. UTC | #4
On 7/11/20 10:24 PM, Pavel Machek wrote:
> On Sat 2020-07-11 19:19:22, Jacek Anaszewski wrote:
>> On 7/11/20 5:57 PM, Pavel Machek wrote:
>>> Hi!
>>>
>>>> Add the multicolor brightness call back to support the multicolor
>>>> framework.  This call back allows setting  brightness on grouped channels
>>>
>>> Extra space before "brightness".
>>
>> And before "This".
> 
> That one is intentional, I believe.
> 
> https://www.independent.co.uk/life-style/gadgets-and-tech/news/one-space-or-two-spaces-after-a-full-stop-scientists-have-finally-found-the-answer-a8337646.html
> 
> We are using fixed width fonts, so typewriter rules still apply here.

But see the article [0].
Also, in [1], in the section "Computer era" you can find opposite
examples in the modern systems.

And grep returns following numbers for kernel Documentation folder:

$ rgrep "[A-Za-z0-9]\.  " Documentation/ | wc -l
18449
$ rgrep "[A-Za-z0-9]\. " Documentation/ | wc -l
63067

I prefer single space but will not fight for that too hard.
Nonetheless, it would be good to use one style consistently,
since most files I've looked at had problem with that.

Both DT and LED documentation in this set is not consistent
in this regard as well.

[0] 
https://www.instructionalsolutions.com/blog/one-space-vs-two-after-period
[1] https://en.wikipedia.org/wiki/Sentence_spacing

Patch
diff mbox series

diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c
index b076c16df9ab..9776dc72a764 100644
--- a/drivers/leds/leds-lp5523.c
+++ b/drivers/leds/leds-lp5523.c
@@ -791,6 +791,25 @@  static ssize_t store_master_fader_leds(struct device *dev,
 	return ret;
 }
 
+static int lp5523_multicolor_brightness(struct lp55xx_led *led)
+{
+	struct lp55xx_chip *chip = led->chip;
+	int ret;
+	int i;
+
+	mutex_lock(&chip->lock);
+	for (i = 0; i < led->mc_cdev.num_colors; i++) {
+		ret = lp55xx_write(chip,
+				   LP5523_REG_LED_PWM_BASE +
+				   led->mc_cdev.subled_info[i].channel,
+				   led->mc_cdev.subled_info[i].brightness);
+		if (ret)
+			break;
+	}
+	mutex_unlock(&chip->lock);
+	return ret;
+}
+
 static int lp5523_led_brightness(struct lp55xx_led *led)
 {
 	struct lp55xx_chip *chip = led->chip;
@@ -857,6 +876,7 @@  static struct lp55xx_device_config lp5523_cfg = {
 	.max_channel  = LP5523_MAX_LEDS,
 	.post_init_device   = lp5523_post_init_device,
 	.brightness_fn      = lp5523_led_brightness,
+	.multicolor_brightness_fn = lp5523_multicolor_brightness,
 	.set_led_current    = lp5523_set_led_current,
 	.firmware_cb        = lp5523_firmware_loaded,
 	.run_engine         = lp5523_run_engine,