All of lore.kernel.org
 help / color / mirror / Atom feed
* Change uevent whenever brightness is set to 0
@ 2015-08-04  3:56 Craig McQueen
  2015-08-04 10:52 ` Jacek Anaszewski
  0 siblings, 1 reply; 4+ messages in thread
From: Craig McQueen @ 2015-08-04  3:56 UTC (permalink / raw)
  To: linux-leds@vger.kernel.org

I've written a udev rule to catch uevent "change" events, with the goal of setting LED user/group/permissions whenever trigger settings are changed.

http://unix.stackexchange.com/a/202870/34376

However, I've noticed that a TRIGGER uevent "change" event is generated every time an LED is turned off.

E.g. in one terminal:
    udevadm monitor -p

In another terminal:
    echo 0 > /sys/class/leds/beaglebone:green:usr3/brightness

The first terminal shows:

    KERNEL[15446.374466] change   /devices/leds/leds/beaglebone:green:usr3 (leds)
    ACTION=change
    DEVPATH=/devices/leds/leds/beaglebone:green:usr3
    SEQNUM=39147
    SUBSYSTEM=leds
    TRIGGER=none

This behaviour is not ideal, because I really only want this uevent if the trigger really has changed.

I presume this is due to these two lines in brightness_store() in led-class.c:
	if (state == LED_OFF)
		led_trigger_remove(led_cdev);

What would be the recommended way to improve this, so a TRIGGER uevent "change" event is only generated if the trigger is actually reset to 'none' in this scenario?

I've noticed this on kernel 3.14.48 running on BeagleBone Black.

-- 
Craig McQueen

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-08-05  1:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-04  3:56 Change uevent whenever brightness is set to 0 Craig McQueen
2015-08-04 10:52 ` Jacek Anaszewski
2015-08-05  1:08   ` Craig McQueen
2015-08-05  1:42     ` Craig McQueen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.