OpenCloudOS-Kernel/drivers/leds
Takashi Iwai 97bfff8c5f leds: class: Don't expose color sysfs entry
commit 8f2244c9af245ff72185c0473827125ee6b2d1a5 upstream.

The commit c7d80059b0 ("leds: class: Store the color index in struct
led_classdev") introduced a new sysfs entry "color" that is commonly
created for the led classdev.  Unfortunately, this conflicts with the
"color" sysfs entry of already existing drivers such as Logitech HID
or System76 ACPI drivers.  The driver probe fails due to the conflict,
hence it leads to a severe regression with the missing keyboard, for
example.

This patch reverts partially the change in the commit above for
removing the led class color sysfs entries again for addressing the
regressions.  The newly introduced led_classdev.color field is kept as
it's already used by other driver.

Fixes: c7d80059b0 ("leds: class: Store the color index in struct led_classdev")
Reported-by: Johannes Penßel <johannes.penssel@gmail.com>
Closes: https://lore.kernel.org/r/b5646db3-acff-45aa-baef-df3f660486fb@gmail.com
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218045
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218155
Link: https://bugzilla.suse.com/show_bug.cgi?id=1217172
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20231121162359.9332-1-tiwai@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-12-08 08:52:15 +01:00
..
blink leds: bcm63138: Rename dependency symbol ARCH_BCM4908 to ARCH_BCMBCA 2023-07-28 09:59:58 +01:00
flash leds: flash: leds-qcom-flash: Put child node if registration failed 2023-07-28 12:17:40 +01:00
rgb leds: rgb: Add a multicolor LED driver to group monochromatic LEDs 2023-08-17 09:01:00 +01:00
simple - Core Frameworks 2023-09-04 13:52:58 -07:00
trigger leds: trigger: netdev: Move size check in set_device_name 2023-11-28 17:20:03 +00:00
Kconfig leds: pca995x: Add support for PCA995X chips 2023-07-28 09:26:28 +01:00
Makefile leds: pca995x: Add support for PCA995X chips 2023-07-28 09:26:28 +01: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: Use rounded division when calculating color components 2023-08-17 11:25:03 +01:00
led-class.c leds: class: Don't expose color sysfs entry 2023-12-08 08:52:15 +01:00
led-core.c leds: Drop BUG_ON check for LED_COLOR_ID_MULTI 2023-09-19 15:16:23 +01:00
led-triggers.c leds: Clear LED_INIT_DEFAULT_TRIGGER when clearing current trigger 2023-05-25 12:16:33 +01: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: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01: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: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-aw200xx.c leds: aw200xx: Switch back to use struct i2c_driver::probe 2023-07-28 09:26:20 +01:00
leds-aw2013.c leds: aw2013: Enable pull-up supply for interrupt and I2C 2023-08-18 16:47:21 +01: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: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-bd2802.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-blinkm.c leds: blinkm: Replace all non-returning strlcpy with strscpy 2023-05-25 12:31:18 +01:00
leds-cht-wcove.c leds: cht-wcove: Remove unneeded semicolon 2023-06-08 18:11: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: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-cr0014114.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01: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: Configure per-LED pin control 2023-05-25 12:34:30 +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: Convert to devm_platform_ioremap_resource() 2023-07-28 09:26:21 +01: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: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-is31fl319x.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lm355x.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lm3530.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lm3532.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lm3533.c leds: use sysfs_emit() to instead of scnprintf() 2022-12-07 21:05:20 +01:00
leds-lm3642.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lm3692x.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lm3697.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01: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 leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01: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: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lp3952.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-lp5521.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01:00
leds-lp5523.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01:00
leds-lp5562.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +01:00
leds-lp8501.c leds: Remove redundant of_match_ptr() 2023-08-17 13:28:25 +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: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01: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: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-mt6323.c leds: leds-mt6323: Adjust return/parameter types in wled get/set callbacks 2023-06-23 10:57:14 +01: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: Slightly simplify a memory allocation 2023-07-28 11:58:04 +01:00
leds-ot200.c
leds-pca955x.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-pca963x.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-pca995x.c leds: pca995x: Fix MODULE_DEVICE_TABLE for OF 2023-08-15 18:30:07 +01:00
leds-pca9532.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-pm8058.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-powernv.c leds: various: use only available OF children 2020-09-26 21:56:39 +02:00
leds-pwm.c leds: pwm: Don't disable the PWM when the LED should be off 2023-11-20 11:59:24 +01: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 leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01: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: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-tca6507.c leds: Switch i2c drivers back to use .probe() 2023-05-25 12:16:22 +01:00
leds-ti-lmu-common.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01:00
leds-tlc591xx.c leds: Explicitly include correct DT includes 2023-07-28 10:02:32 +01: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: Do not use SMBUS calls 2023-11-20 11:59:24 +01: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
uleds.c leds: uleds: Use module_misc_device macro to simplify the code 2023-08-18 11:42:54 +01:00