leds: Add Intel Cherry Trail Whiskey Cove PMIC LED driver
authorYauhen Kharuzhy <jekhor@gmail.com>
Sun, 30 Apr 2023 19:59:48 +0000 (21:59 +0200)
committerLee Jones <lee@kernel.org>
Thu, 25 May 2023 11:16:11 +0000 (12:16 +0100)
commit047da762b9a937d60c16e2c8392c326e5ab11a1d
tree3bc686b8cb2bf06d3250a5f66cccea6f6b41da03
parent38b24e25f1b97955b0e794d9d42f2187579de9b4
leds: Add Intel Cherry Trail Whiskey Cove PMIC LED driver

Add support for LEDs connected to the Intel Cherry Trail Whiskey Cove
PMIC. Charger and general-purpose LEDs are supported. Hardware blinking
is implemented, breathing is not.

This driver was tested with Lenovo Yoga Book notebook.

Changes by Hans de Goede (in response to review of v2):
- Since the PMIC is connected to the battery any changes we make to
  the LED settings are permanent, even surviving reboot / poweroff.
  Save LED1 register settings on probe() and if auto-/hw-control was
  enabled on probe() restore the settings on remove() and shutdown().
- Delay switching LED1 to software control mode to first brightness write.
- Use dynamically allocated drvdata instead of a global drvdata variable.
- Ensure the LED is on when activating blinking.
- Fix CHT_WC_LED_EFF_BREATHING val ((3 << 1) rather then BIT(3)).

Link: https://lore.kernel.org/r/20190212205901.13037-2-jekhor@gmail.com
Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
Co-developed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230430195952.862527-2-hdegoede@redhat.com
Signed-off-by: Lee Jones <lee@kernel.org>
Documentation/leds/well-known-leds.txt
drivers/leds/Kconfig
drivers/leds/Makefile
drivers/leds/leds-cht-wcove.c [new file with mode: 0644]