Messages in this thread | | | Subject | Re: sysfs permissions on dynamic attributes (led delay_on and delay_off) | From | Richard Purdie <> | Date | Sat, 21 Jul 2012 08:33:30 +0100 |
| |
On Fri, 2012-07-20 at 21:08 -0700, Greg KH wrote: > On Fri, Jul 20, 2012 at 05:46:14PM -0700, Colin Cross wrote: > > I'm trying to use the standard ledtrig-timer.c code to handle led > > blinking for notifications on an Android device, and I'm hitting some > > issues with setting permissions on the dynamically created delay_on > > and delay_off attributes. For most sysfs files, we have userspace > > uevent parser that watches for device add notifications and > > chowns/chmods attributes. This doesn't work for delay_on and > > delay_off, because they are created later, when "timer" is written to > > the trigger attribute. There is no uevent when the new files are > > created, and sysfs doesn't support inotify, so I don't see any way to > > receive an event to set the permissions. This issue exists any time > > that device_create_file is called after device_add. > > > > What is the appropriate way to get an event to set the permissions? > > Add inotify support for sysfs file creation? Send a KOBJ_CHANGE > > uevent in device_create_file? > > No. > > > Send a KOBJ_CHANGE uevent from the driver after calling > > device_create_file? > > Yes. > > > Dynamically create a timer device under /sys/class/leds/<led> so a new > > add uevent gets sent? > > Ick. > > > Promote blinking to be a core led feature instead of a trigger, so the > > files are always present? > > That's the best thing, why not just do that?
This implies we should make every trigger a core led feature and effectively do away with triggers. I'm not sure that makes sense.
Cheers,
Richard
| |