Messages in this thread | | | Date | Fri, 20 Jul 2012 21:08:16 -0700 | From | Greg KH <> | Subject | Re: sysfs permissions on dynamic attributes (led delay_on and delay_off) |
| |
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?
thanks,
greg k-h
| |