Hi! > >>- different hardware means via which brightness is set (MMIO, I2C, SPI, > >> PWM and other pulsed fashion based protocols), > >>- the need for deferring brightness setting to a workqueue task to > >> allow for setting LED brightness from atomic context, > >>- contention on locks > > > >I disagree here. Yes, it would be hard to synchronize blinking down to > >microseconds, but it would be easy to get synchronization right down > >to miliseconds and humans will not be able to tell the difference. > > There have been problems with blink interval stability close to > 1ms, and thus there were some attempts of employing hr timers, > which in turn introduced a new class of issues related to > system performance etc. Yeah, well. This is LED subsystem. Noone should program blink intervals at 1 msec. > >>For the LEDs driven by the same chip it would make more sense > >>to allow for synchronization, but it can be achieved on driver > >>level, with help of some subsystem level interface to indicate > >>which LEDs should be synchronized. > >> > >>However, when we start to pretend that we can synchronize the > >>devices, we must answer how accurate we can be. The accuracy > >>will decrease as blink frequency rises. We'd need to define > >>reliability limit. > > > >We don't need _that_ ammount of overengineering. We just need to > >synchronize them well enough :-). > > Well, it would be disappointing for the users to realize that > they don't get the effect advertised by the ABI documentation. Linux is always best-effort, w.r.t. timing. And we can do well enough that user will not see anything bad on "normal" systems. > >>We've had few attempts of approaching the subject of synchronized > >>blinking but none of them proved to be good enough to be merged. > > > >I'm sure interested person could do something like that in less than > >two weeks fulltime... It is not rocket science, just a lot of work in > >kernel... > > > >But patterns are few years overdue and I believe we should not delay > >them any further. > > > >So... I guess I agree with Jacek in the end :-). > > How about taking Baolin's patches as of v5? Later, provided that > the pattern trigger yet to be implemented will create pattern file > on activation, we'll need to initialize default-trigger DT property, > to keep the interface unchanged. I have yet to look at the v5 of patches. But I agree that we do not need to design synchronization at this moment. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html