Add support for Awinic AW99706 backlight, which can be found in tablet and notebook backlight, one case is the Lenovo Legion Y700 Gen4. This driver refers to the official datasheets and android driver, they can be found in [1].
[1] https://www.awinic.com/en/productDetail/AW99706QNR Signed-off-by: Junjie Cao <[email protected]> --- base-commit: 72fb0170ef1f45addf726319c52a0562b6913707 --- Changes in v3: - remove the shift field (Daniel) - use FIELD_PREP() to replace FIELD_MODIFY() (Daniel) - include init table into aw99706_device (Daniel) - breaking a long line (Krzysztof) - rename backlight node (Krzysztof) - make aw99706_regs static (Krzysztof) - return -ENODEV if it is a unknown chip id (Krzysztof) - use __ffs() to handle shift, since mask is not compiletime in for loop - reorder functions and structs - Link to v2: https://lore.kernel.org/linux-leds/[email protected] Changes in v2: - add handler for max-brightness and default-brightness - add properties(max-brightness, default-brightness) (Krzysztof) - use proper units for properties (Krzysztof) - drop non-fixed properties (Krzysztof) - include default values in the aw99706_dt_props table (Daniel) - warn when a property value from DT is invalid (Daniel) - drop warning when optional properties are missing (Daniel) - add a function pointer into the aw99706_dt_props table to handle lookup (Daniel) - use a lookup function instead of hardcoding the formula for the iLED max (Daniel) - move BL enalbe handler into aw99706_update_brightness (Daniel) - Link to v1: https://lore.kernel.org/linux-leds/[email protected] Junjie Cao (2): dt-bindings: leds: backlight: Add Awinic AW99706 backlight backlight: aw99706: Add support for Awinic AW99706 backlight .../leds/backlight/awinic,aw99706.yaml | 101 ++++ MAINTAINERS | 6 + drivers/video/backlight/Kconfig | 8 + drivers/video/backlight/Makefile | 1 + drivers/video/backlight/aw99706.c | 471 ++++++++++++++++++ 5 files changed, 587 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/backlight/awinic,aw99706.yaml create mode 100644 drivers/video/backlight/aw99706.c -- 2.51.1.dirty
