Skip to contentSkip to conversation

LED: inform userspace about brightness change

DISCUSSION Pali Rohár 2 participants 2 messages Dec 24, 2014 – Jan 6, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hello!

What is preferred way from kernel driver to inform userspace about LED device brightness change? In /sys/class/leds/<device>/ is file brightness which can be used to read current brightness or set write new value. But sometimes also firmware (or device) can change value on its own and thus userspace software which provides slider for setting brightness will be incorrect.

For example on Dell laptops there is driver which support setting and reading keyboard backlight (via leds kernel interface). But firmware/BIOS can change brightness (when something happen) and it can inform running system about this change via ACPI/WMI event interface. But how to use kernel led interface to inform userpace about this change? It is possible?

Signature · 2 lines
Pali Rohár
[email protected]
#1 lore raw
Quoted 9 lines · Pali Rohár

Hello!

What is preferred way from kernel driver to inform userspace about LED device brightness change? In /sys/class/leds/<device>/ is file brightness which can be used to read current brightness or set write new value. But sometimes also firmware (or device) can change value on its own and thus userspace software which provides slider for setting brightness will be incorrect.

Quoted 7 lines

For example on Dell laptops there is driver which support setting and reading keyboard backlight (via leds kernel interface). But firmware/BIOS can change brightness (when something happen) and it can inform running system about this change via ACPI/WMI event interface. But how to use kernel led interface to inform userpace about this change? It is possible?

Sorry for the delay, actually I don't find any possible existing way to send brightness change event from LED subsystem to user space.

I think we can add an udev event in set_brightness API, then when we change the brightness, it will send out udev event to user space.

Thanks,
-Bryan