linux-stable/drivers/leds
Sebastian Andrzej Siewior 97b31c1f8e leds: trigger: Disable CPU trigger on PREEMPT_RT
The CPU trigger is invoked on ARM from CPU-idle. That trigger later
invokes led_trigger_event() which may invoke the callback of the actual driver.
That driver can acquire a spinlock_t which is okay on kernel without
PREEMPT_RT. On a PREEMPT_RT enabled kernel this lock is turned into a
sleeping lock and must not be acquired with disabled interrupts.

Disable the CPU trigger on PREEMPT_RT.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://lkml.kernel.org/r/20210924111501.m57cwwn7ahiyxxdd@linutronix.de
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2021-10-13 20:07:57 +02:00
..
blink leds: lgm-sso: Propagate error codes from callee to caller 2021-08-07 09:12:45 +02:00
flash leds: rt8515: Put fwnode in any case during ->probe() 2021-08-03 23:49:37 +02:00
trigger leds: trigger: Disable CPU trigger on PREEMPT_RT 2021-10-13 20:07:57 +02:00
Kconfig leds: lp50xx: Fix chip name in KConfig 2021-08-18 08:58:21 +02:00
Makefile leds: ktd2692: Move driver to flash subdirectory 2021-07-12 10:30:06 +02:00
TODO leds: TODO: Add documentation about possible subsystem improvements 2020-09-30 19:15:33 +02: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 leds: leds-core: Implement the retain-state-shutdown property 2021-08-20 11:00:06 +02: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: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02: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-asic3.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-aw2013.c leds: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02:00
leds-bcm6328.c leds: leds-bcm6328: Demote kernel-doc abuse 2021-05-28 11:38:55 +02:00
leds-bcm6358.c leds: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02:00
leds-bd2802.c leds: leds-bd2802: remove set but not used variable 'pdata' 2020-02-26 14:34:55 +01:00
leds-blinkm.c leds: leds-blinkm: Remove unused variable 'ret' 2021-05-28 11:38:56 +02:00
leds-clevo-mail.c
leds-cobalt-qube.c
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 leds: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 330 2019-06-05 17:37:06 +02:00
leds-el15203000.c leds: el15203000: Correct headers (of*.h -> mod_devicetable.h) 2021-08-03 23:46:09 +02:00
leds-fsg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02: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: move default_state read from fwnode to core 2021-08-18 08:27:30 +02: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: Fix missing error code in is31fl32xx_parse_dt() 2021-07-12 10:30:07 +02:00
leds-is31fl319x.c leds: various: use only available OF children 2020-09-26 21:56:39 +02:00
leds-lm355x.c leds: Use DEVICE_ATTR_{RW, RO, WO} macros 2020-12-30 19:37:13 +01:00
leds-lm3530.c leds: leds-lm3530: Fix incorrect spelling of 'brightness' 2021-05-28 11:38:58 +02:00
leds-lm3532.c leds: lm3532: Make error handling more robust 2021-05-28 12:00:13 +02:00
leds-lm3533.c Updates for 5.12-rc1. Besides usual fixes and new drivers, we are 2021-02-26 13:56:40 -08:00
leds-lm3642.c leds-lm3642: convert comma to semicolon 2021-04-25 22:21:32 +02:00
leds-lm3692x.c leds: lm3692x: Correct headers (of*.h -> mod_devicetable.h) 2021-08-03 23:46:13 +02:00
leds-lm3697.c leds: lm3697: Make error handling more robust 2021-08-03 23:49:31 +02:00
leds-lm36274.c leds: lm36274: Add missed property.h 2021-05-30 23:03:48 +02:00
leds-locomo.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-lp50xx.c leds: lp50xx: Put fwnode in error case during ->probe() 2021-05-28 12:00:15 +02:00
leds-lp55xx-common.c leds: lp55xx: Initialize enable GPIO direction to output 2021-06-23 22:09:35 +02: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: leds-lp3944: Provide missing function names in documentation headers 2021-05-28 11:38:57 +02:00
leds-lp3952.c leds: lp3952: Include the right header 2020-04-17 14:49:22 +02:00
leds-lp5521.c leds: various: use dev_of_node(dev) instead of dev->of_node 2020-09-26 21:56:39 +02:00
leds-lp5523.c leds: lp5523: check return value of lp5xx_read and jump to cleanup code 2021-05-13 17:30:15 +02:00
leds-lp5562.c leds: various: use dev_of_node(dev) instead of dev->of_node 2020-09-26 21:56:39 +02:00
leds-lp8501.c leds: various: use dev_of_node(dev) instead of dev->of_node 2020-09-26 21:56:39 +02: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: leds-lp8860: Fix kernel-doc related formatting issues 2021-05-28 11:39:00 +02: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: Use DEVICE_ATTR_{RW, RO, WO} macros 2020-12-30 19:37:13 +01: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: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02: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: Switch to i2c probe_new 2021-08-20 11:00:08 +02:00
leds-pca963x.c leds: pca963x: use struct led_init_data when registering 2020-09-30 19:15:42 +02:00
leds-pca9532.c leds: pca9532: Assign gpio base dynamically 2021-04-25 23:59:58 +02:00
leds-pm8058.c leds: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02:00
leds-powernv.c leds: various: use only available OF children 2020-09-26 21:56:39 +02:00
leds-pwm.c leds: pwm: add support for default-state device property 2021-08-18 08:27:31 +02:00
leds-rb532.c leds: rb532: cleanup whitespace 2020-01-02 22:41:53 +01:00
leds-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
leds-s3c24xx.c leds: s3c24xx: Remove unused machine header include 2020-08-17 18:04:06 +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 leds: various: use only available OF children 2020-09-26 21:56:39 +02: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
leds-syscon.c leds: parse linux,default-trigger DT property in LED core 2020-09-26 21:56:43 +02:00
leds-tca6507.c leds: tca6507: remove binding comment 2020-09-30 19:15:41 +02: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: fix return value check in tlc591xx_probe() 2021-05-10 11:58:54 +02: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: add missing MODULE_DEVICE_TABLE 2021-06-23 22:11:26 +02: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 default_state read from fwnode to core 2021-08-18 08:27:30 +02:00
uleds.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00