[PATCH v8 0/9] Multicolor FW v8 update

Dan Murphy
2019-09-20T17:39:01Z

Hello

Per request I removed the ops structure. But there is a potential need for some
device drivers to have a call back that sets the intesity of the LED color
without modifying the hardware register. The hardware registers are only updated
when the brightness_set<op> is called. The need arises with the LP50xx chip
series where the chip has 2 control knobs to modify the output current to the
LED. In most cases drivers only have a single brightness register for a given
iOUT pin. But the LP50xx has a brightness register that controls cluster
brightness and individual registers to control the monochrome LED intensity.

The set_color_brightness call back has been simplified in the LP50xx device
driver so that it can cache the LED intensity in it's stack for a specific color
as opposed to having to call back into the MC FW for the current intensity which
made the driver complex.
Once the set_brightness<op> is called the driver can set the brightness and then
set the LED intensity registers if the driver has that ability.

Dan

Dan Murphy (9):
leds: multicolor: Add sysfs interface definition
documention: leds: Add multicolor class documentation
dt: bindings: Add multicolor class dt bindings documention
dt-bindings: leds: Add multicolor ID to the color ID list
leds: Add multicolor ID to the color ID list
leds: multicolor: Introduce a multicolor class definition
dt: bindings: lp50xx: Introduce the lp50xx family of RGB drivers
leds: lp50xx: Add the LP50XX family of the RGB LED driver
leds: Update the lp55xx to use the multi color framework

.../ABI/testing/sysfs-class-led-multicolor | 43 +
.../bindings/leds/leds-class-multicolor.txt | 95 +++
.../devicetree/bindings/leds/leds-lp50xx.txt | 148 ++++
Documentation/leds/index.rst | 1 +
Documentation/leds/leds-class-multicolor.rst | 91 ++
drivers/leds/Kconfig | 17 +
drivers/leds/Makefile | 2 +
drivers/leds/led-class-multicolor.c | 316 +++++++
drivers/leds/led-core.c | 1 +
drivers/leds/leds-lp50xx.c | 785 ++++++++++++++++++
drivers/leds/leds-lp5523.c | 13 +
drivers/leds/leds-lp55xx-common.c | 131 ++-
drivers/leds/leds-lp55xx-common.h | 9 +
include/dt-bindings/leds/common.h | 3 +-
include/linux/led-class-multicolor.h | 76 ++
include/linux/platform_data/leds-lp55xx.h | 6 +
16 files changed, 1714 insertions(+), 23 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-led-multicolor
create mode 100644 Documentation/devicetree/bindings/leds/leds-class-multicolor.txt
create mode 100644 Documentation/devicetree/bindings/leds/leds-lp50xx.txt
create mode 100644 Documentation/leds/leds-class-multicolor.rst
create mode 100644 drivers/leds/led-class-multicolor.c
create mode 100644 drivers/leds/leds-lp50xx.c
create mode 100644 include/linux/led-class-multicolor.h

--
2.22.0.214.g8dca754b1e