Messages in this thread | | | Date | Wed, 1 Jan 2014 14:44:58 -0800 (PST) | From | David Lang <> | Subject | Re: [PATCH] Add LED pattern trigger |
| |
On Wed, 1 Jan 2014, One Thousand Gnomes wrote:
> On Tue, 31 Dec 2013 13:48:50 -0500 > Joe Xue <lgxue@hotmail.com> wrote: > >>>> + * Based on Richard Purdie's ledtrig-timer.c and Atsushi Nemoto's >>>> + * ledtrig-heartbeat.c and Shuah Khan's ledtrig-transient.c >>> >>> I stil think this belongs in user space except for platforms with hardware >>> acceleration for it. >> >> This can free the user space application from loop or thread. > > Which is not a good reason for putting it in the kernel. I could make the > same argument for putting firefox in the kernel ... >
I agree with you that this isn't a good reason, but I think the performance could be a reason.
whatever mechanism is created for toggling LEDs should be able to toggle arbitrary GPIO pins, and there is a problem with the speed of the standard access mechanisms in /sysfs. see this post on hackaday for an example
http://hackaday.com/2013/12/07/speeding-up-beaglebone-black-gpio-a-thousand-times/
now, it may be that telling people to access /dev/mem is deemed a better option, but I would hope not.
Also, since there are a number of cases where this is hardware accelerated, it seems like there should be an abstration that userspace can use that doesn't care if or how it's accelerated, setup the output and tell the system to do it without worrying about the specific hardware details. Isn't that a large part of what the kernel is supposed to be doing?
David Lang
| |