The commit c7d80059b086 ("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: c7d80059b086 ("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>
84 lines
2.6 KiB
Plaintext
84 lines
2.6 KiB
Plaintext
What: /sys/class/leds/<led>/brightness
|
|
Date: March 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: Richard Purdie <rpurdie@rpsys.net>
|
|
Description:
|
|
Set the brightness of the LED.
|
|
|
|
Most LEDs don't have hardware brightness support, so will
|
|
just be turned on for non-zero brightness settings.
|
|
|
|
.. Note::
|
|
|
|
For multicolor LEDs, writing to this file will update all
|
|
LEDs within the group to a calculated percentage of what
|
|
each color LED intensity is set to.
|
|
|
|
The percentage is calculated for each grouped LED via
|
|
the equation below::
|
|
|
|
led_brightness = brightness * multi_intensity/max_brightness
|
|
|
|
For additional details please refer to
|
|
Documentation/leds/leds-class-multicolor.rst.
|
|
|
|
The value is between 0 and
|
|
/sys/class/leds/<led>/max_brightness.
|
|
|
|
Writing 0 to this file clears active trigger.
|
|
|
|
Writing non-zero to this file while trigger is active changes the
|
|
top brightness trigger is going to use.
|
|
|
|
|
|
|
|
What: /sys/class/leds/<led>/max_brightness
|
|
Date: March 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: Richard Purdie <rpurdie@rpsys.net>
|
|
Description:
|
|
Maximum brightness level for this LED, default is 255 (LED_FULL).
|
|
|
|
If the LED does not support different brightness levels, this
|
|
should be 1.
|
|
|
|
What: /sys/class/leds/<led>/brightness_hw_changed
|
|
Date: January 2017
|
|
KernelVersion: 4.11
|
|
Description:
|
|
Last hardware set brightness level for this LED. Some LEDs
|
|
may be changed autonomously by hardware/firmware. Only LEDs
|
|
where this happens and the driver can detect this, will have
|
|
this file.
|
|
|
|
This file supports poll() to detect when the hardware changes
|
|
the brightness.
|
|
|
|
Reading this file will return the last brightness level set
|
|
by the hardware, this may be different from the current
|
|
brightness. Reading this file when no hw brightness change
|
|
event has happened will return an ENODATA error.
|
|
|
|
What: /sys/class/leds/<led>/trigger
|
|
Date: March 2006
|
|
KernelVersion: 2.6.17
|
|
Contact: Richard Purdie <rpurdie@rpsys.net>
|
|
Description:
|
|
Set the trigger for this LED. A trigger is a kernel based source
|
|
of LED events.
|
|
|
|
You can change triggers in a similar manner to the way an IO
|
|
scheduler is chosen. Trigger specific parameters can appear in
|
|
/sys/class/leds/<led> once a given trigger is selected. For
|
|
their documentation see `sysfs-class-led-trigger-*`.
|
|
|
|
What: /sys/class/leds/<led>/inverted
|
|
Date: January 2011
|
|
KernelVersion: 2.6.38
|
|
Contact: Richard Purdie <rpurdie@rpsys.net>
|
|
Description:
|
|
Invert the LED on/off state. This parameter is specific to
|
|
gpio and backlight triggers. In case of the backlight trigger,
|
|
it is useful when driving a LED which is intended to indicate
|
|
a device in a standby like state.
|