diff mbox series

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

Message ID 20200622185919.2131-14-dmurphy@ti.com
State Superseded
Headers show
Series Multicolor Framework v29 | expand

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(+)

-- 
2.26.2

Comments

Jacek Anaszewski July 11, 2020, 5:19 p.m. UTC | #1
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".

-- 
Best regards,
Jacek Anaszewski
Pavel Machek July 11, 2020, 8:24 p.m. UTC | #2
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
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Jacek Anaszewski July 12, 2020, 3:31 p.m. UTC | #3
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

-- 
Best regards,
Jacek Anaszewski
diff mbox series

Patch

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,