leds: core: Add led_mc_set_brightness() function
authorHans de Goede <hdegoede@redhat.com>
Fri, 31 May 2024 11:41:22 +0000 (13:41 +0200)
committerLee Jones <lee@kernel.org>
Fri, 31 May 2024 11:57:41 +0000 (12:57 +0100)
commit5607ca92e6274dfb85d0ff7c4e91e6c4ddb6d25c
treeeaf7f26330f7f320b87665a88364dad5f2432c3c
parente1b08c6f5b92d408a9fcc1030a340caeb9852250
leds: core: Add led_mc_set_brightness() function

Add a new led_mc_set_brightness() function for in kernel color/brightness
changing of multi-color LEDs.

led-class-multicolor can be build as a module and led_mc_set_brightness()
will have the builtin callers, so put led_mc_set_brightness() inside
led-core instead, just like how led_set_brightness() is part of the core
and not of the led-class object.

This also adds a new LED_MULTI_COLOR led_classdev flag to allow
led_mc_set_brightness() to verify that it is operating on a multi-color
LED classdev, avoiding casting the passed in LED classdev to a multi-color
LED classdev, when it actually is not a multi-color LED.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20240531114124.45346-5-hdegoede@redhat.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/led-class-multicolor.c
drivers/leds/led-core.c
include/linux/leds.h