Skip to content

Commit 4047313

Browse files
Dan Murphypavelmachek
authored andcommitted
leds: lp5523: Update the lp5523 code to add multicolor brightness function
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> Signed-off-by: Pavel Machek <pavel@ucw.cz>
1 parent 92a8156 commit 4047313

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

drivers/leds/leds-lp5523.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,25 @@ static ssize_t store_master_fader_leds(struct device *dev,
792792
return ret;
793793
}
794794

795+
static int lp5523_multicolor_brightness(struct lp55xx_led *led)
796+
{
797+
struct lp55xx_chip *chip = led->chip;
798+
int ret;
799+
int i;
800+
801+
mutex_lock(&chip->lock);
802+
for (i = 0; i < led->mc_cdev.num_colors; i++) {
803+
ret = lp55xx_write(chip,
804+
LP5523_REG_LED_PWM_BASE +
805+
led->mc_cdev.subled_info[i].channel,
806+
led->mc_cdev.subled_info[i].brightness);
807+
if (ret)
808+
break;
809+
}
810+
mutex_unlock(&chip->lock);
811+
return ret;
812+
}
813+
795814
static int lp5523_led_brightness(struct lp55xx_led *led)
796815
{
797816
struct lp55xx_chip *chip = led->chip;
@@ -858,6 +877,7 @@ static struct lp55xx_device_config lp5523_cfg = {
858877
.max_channel = LP5523_MAX_LEDS,
859878
.post_init_device = lp5523_post_init_device,
860879
.brightness_fn = lp5523_led_brightness,
880+
.multicolor_brightness_fn = lp5523_multicolor_brightness,
861881
.set_led_current = lp5523_set_led_current,
862882
.firmware_cb = lp5523_firmware_loaded,
863883
.run_engine = lp5523_run_engine,

0 commit comments

Comments
 (0)