linux/drivers/leds
Hans de Goede 9697e2f01f leds: cht-wcove: Add suspend/resume handling
When LED1 is showing the tablet is charging and then the device gets
suspended followed by unplugging the charger, then it will incorrectly
still show it is charging.

To avoid this turn both LEDs off on suspend, just like the PMIC always
turns them off when the tablet is powered off (even if the tablet is
charging). If hw-control is supported for LED1, then restore the
initial hw-control settings to let the hw control LED1 while suspended.

To restore the state the LEDs had before suspending, save it before
turning the LEDs off and restore it on resume.

Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230430195952.862527-3-hdegoede@redhat.com
Signed-off-by: Lee Jones <lee@kernel.org>
2023-05-25 12:16:14 +01:00
..
blink leds: lgm-sso: switch to using devm_fwnode_gpiod_get() 2022-11-09 13:59:28 +01:00
flash leds: flash: Set variables mvflash_{3,4}ch_regs storage-class-specifier to static 2023-03-30 13:58:24 +01:00
rgb leds: qcom-lpg: Add support for PMI632 LPG 2023-05-25 12:16:07 +01:00
simple leds: simatic-ipc-leds-gpio: Make sure we have the GPIO providing driver 2023-01-30 08:03:43 +00:00
trigger leds: trigger: netdev: Use mutex instead of spinlocks 2023-05-25 12:07:38 +01:00
Kconfig leds: Add Intel Cherry Trail Whiskey Cove PMIC LED driver 2023-05-25 12:16:11 +01:00
led-class-flash.c led-class-flash: fix -Wrestrict warning 2021-09-27 16:09:42 +02:00
led-class-multicolor.c leds: multicolor: Introduce a multicolor class definition 2020-07-22 14:41:29 +02:00
led-class.c driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
led-core.c leds: move default_state read from fwnode to core 2021-08-18 08:27:30 +02:00
led-triggers.c leds: trigger: use RCU to protect the led_cdevs list 2021-09-27 16:16:42 +02:00
leds-88pm860x.c leds: various: use only available OF children 2020-09-26 21:56:39 +02:00
leds-acer-a500.c leds: Add driver for Acer Iconia Tab A500 2020-09-26 21:56:42 +02:00
leds-adp5520.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
leds-an30259a.c leds: an30259a: Get rid of custom led_init_default_state_get() 2023-01-30 08:03:36 +00:00
leds-apu.c leds: apu: extend support for PC Engines APU1 with newer firmware 2021-02-19 22:15:10 +01:00
leds-ariel.c leds: leds-ariel: convert comma to semicolon 2021-01-31 10:38:02 +01:00
leds-aw2013.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
leds-bcm6328.c leds: bcm6328: Get rid of custom led_init_default_state_get() 2023-01-30 08:03:37 +00:00
leds-bcm6358.c leds: bcm6358: Get rid of custom led_init_default_state_get() 2023-01-30 08:03:38 +00:00
leds-bd2606mvv.c leds: bd2606mvv: Driver for the Rohm 6 Channel i2c LED driver 2023-04-27 17:42:33 +01:00
leds-bd2802.c leds: bd2802: Convert to i2c's .probe_new() 2023-01-30 08:03:18 +00:00
leds-blinkm.c leds: blinkm: Convert to i2c's .probe_new() 2023-01-30 08:03:18 +00:00
leds-cht-wcove.c leds: cht-wcove: Add suspend/resume handling 2023-05-25 12:16:14 +01:00
leds-clevo-mail.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
leds-cobalt-qube.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
leds-cobalt-raq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
leds-cpcap.c leds: various: use device_get_match_data 2020-09-26 21:56:39 +02:00
leds-cr0014114.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
leds-da903x.c leds: da903x: fix use-after-free on unbind 2020-06-22 10:37:58 +02:00
leds-da9052.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
leds-dac124s085.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
leds-el15203000.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
leds-gpio-register.c leds: leds-gpio-register: Supply description for param 'id' 2021-05-28 11:38:54 +02:00
leds-gpio.c leds: gpio: switch to using devm_fwnode_gpiod_get() 2022-11-09 13:59:21 +01:00
leds-hp6xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-ip30.c leds: ip30: compile if COMPILE_TEST=y 2020-09-26 21:56:38 +02:00
leds-ipaq-micro.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-is31fl32xx.c leds: is31fl32xx: Convert to i2c's .probe_new() 2023-01-30 08:03:19 +00:00
leds-is31fl319x.c leds: is31fl319x: Wrap mutex_destroy() for devm_add_action_or_rest() 2023-01-30 08:03:34 +00:00
leds-lm355x.c leds: lm355x: Convert to i2c's .probe_new() 2023-01-30 08:03:21 +00:00
leds-lm3530.c leds: lm3530: Convert to i2c's .probe_new() 2023-01-30 08:03:20 +00:00
leds-lm3532.c leds: lm3532: Convert to i2c's .probe_new() 2023-01-30 08:03:21 +00:00
leds-lm3533.c leds: use sysfs_emit() to instead of scnprintf() 2022-12-07 21:05:20 +01:00
leds-lm3642.c leds: lm3642: Convert to i2c's .probe_new() 2023-01-30 08:03:22 +00:00
leds-lm3692x.c leds: lm3692x: Convert to i2c's .probe_new() 2023-01-30 08:03:23 +00:00
leds-lm3697.c leds: lm3697: Convert to i2c's .probe_new() 2023-01-30 08:03:24 +00:00
leds-lm36274.c leds: lm36274: Add missed property.h 2021-05-30 23:03:48 +02:00
leds-locomo.c ARM: pxa: split up mach/hardware.h 2022-04-19 16:27:05 +02:00
leds-lp50xx.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
leds-lp55xx-common.c leds: lp55xx: Configure internal charge pump 2023-05-25 12:16:05 +01:00
leds-lp55xx-common.h leds: lp55xx: Add multicolor framework support to lp55xx 2020-07-22 14:42:06 +02:00
leds-lp3944.c leds: lp3944: Convert to i2c's .probe_new() 2023-01-30 08:03:24 +00:00
leds-lp3952.c leds: lp3952: Convert to i2c's .probe_new() 2023-01-30 08:03:25 +00:00
leds-lp5521.c leds: lp55xx: Configure internal charge pump 2023-05-25 12:16:05 +01:00
leds-lp5523.c leds: lp55xx: Configure internal charge pump 2023-05-25 12:16:05 +01:00
leds-lp5562.c leds: lp5562: Convert to i2c's .probe_new() 2023-01-30 08:03:28 +00:00
leds-lp8501.c leds: lp55xx: Configure internal charge pump 2023-05-25 12:16:05 +01:00
leds-lp8788.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-lp8860.c leds: lp8860: Remove duplicate NULL checks for gpio_desc 2023-03-16 15:08:40 +00:00
leds-lt3593.c leds: lt3593: Put fwnode in any case during ->probe() 2021-08-03 23:49:31 +02:00
leds-max8997.c leds: max8997: Don't error if there is no pdata 2022-10-22 11:55:03 +02:00
leds-max77650.c leds: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02:00
leds-mc13783.c leds: various: use only available OF children 2020-09-26 21:56:39 +02:00
leds-menf21bmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
leds-mlxcpld.c leds: leds-mlxcpld: Fix a bunch of kernel-doc formatting issues 2021-05-28 11:39:00 +02:00
leds-mlxreg.c leds: leds-mlxreg: Fix incorrect documentation of struct member 'led_cdev' and 'led_cdev_name' 2021-05-28 11:38:59 +02:00
leds-mt6323.c leds: mt6323: Get rid of custom led_init_default_state_get() 2023-01-30 08:03:39 +00:00
leds-net48xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-netxbig.c leds: Use DEVICE_ATTR_{RW, RO, WO} macros 2020-12-30 19:37:13 +01:00
leds-nic78bx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
leds-ns2.c leds: ns2: do not guard OF match pointer with of_match_ptr 2020-09-30 19:22:58 +02:00
leds-ot200.c
leds-pca955x.c leds: pca955x: Get rid of custom led_init_default_state_get() 2023-01-30 08:03:40 +00:00
leds-pca963x.c leds: pca963x: Convert to i2c's .probe_new() 2023-01-30 08:03:31 +00:00
leds-pca9532.c leds: pca9532: Convert to i2c's .probe_new() 2023-01-30 08:03:30 +00:00
leds-pm8058.c leds: pm8058: Get rid of custom led_init_default_state_get() 2023-01-30 08:03:41 +00:00
leds-powernv.c leds: various: use only available OF children 2020-09-26 21:56:39 +02:00
leds-pwm.c leds: pwm: Clear the led structure before parsing each child node 2023-01-30 08:00:51 +00:00
leds-rb532.c leds: rb532: cleanup whitespace 2020-01-02 22:41:53 +01:00
leds-regulator.c leds: regulator: Make probeable from device tree 2022-05-05 10:04:52 +02:00
leds-sc27xx-bltc.c leds: various: use only available OF children 2020-09-26 21:56:39 +02:00
leds-spi-byte.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
leds-ss4200.c leds: ss4200: simplify the return expression of register_nasgpio_led() 2020-12-30 19:37:14 +01:00
leds-sunfire.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
leds-syscon.c leds: syscon: Get rid of custom led_init_default_state_get() 2023-01-30 08:03:42 +00:00
leds-tca6507.c leds: tca6507: Fix error handling of using fwnode_property_read_string 2023-04-05 16:28:42 +01:00
leds-ti-lmu-common.c leds: ti-lmu-common: Move static keyword to the front of declaration 2019-09-03 20:34:46 +02:00
leds-tlc591xx.c leds: tlc591xx: Mark OF related data as maybe unused 2023-03-16 15:08:43 +00:00
leds-tps6105x.c leds: tps6105x: add driver for MFD chip LED mode 2019-12-21 20:10:02 +01:00
leds-turris-omnia.c leds: turris-omnia: Convert to i2c's .probe_new() 2023-01-30 08:03:33 +00:00
leds-wm831x-status.c leds: Use DEVICE_ATTR_{RW, RO, WO} macros 2020-12-30 19:37:13 +01:00
leds-wm8350.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-wrap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds.h leds: Move led_init_default_state_get() to the global header 2023-01-30 08:03:35 +00:00
Makefile leds: Add Intel Cherry Trail Whiskey Cove PMIC LED driver 2023-05-25 12:16:11 +01:00
TODO leds: TODO: Add documentation about possible subsystem improvements 2020-09-30 19:15:33 +02:00
uleds.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00