Hi!

> > > +#ifdef CONFIG_ATA_LEDS
> > > + /* register LED triggers for all ports */
> > > + for (i = 0; i < host->n_ports; i++) {
> > > +         if (unlikely(!host->ports[i]->ledtrig))
> > > +                 continue;
> > > +
> > > +         snprintf(host->ports[i]->ledtrig_name,
> > > +                 sizeof(host->ports[i]->ledtrig_name), "ata%u",
> > > +                 host->ports[i]->print_id);
> > 
> > > +         host->ports[i]->ledtrig->name = host->ports[i]->ledtrig_name;
> > > +
> > > +         if (led_trigger_register(host->ports[i]->ledtrig)) {
> > > +                 kfree(host->ports[i]->ledtrig);
> > > +                 host->ports[i]->ledtrig = NULL;
> > > +         }
> > > + }
> > > +#endif
> > 
> > No, we don't want you to register multiple triggers. We want one
> > trigger, than has parameter "which port to watch". (Number of triggers
> > is limited as by sysfs limitations).
> 
> Back then I implemented it that way to be able to define the
> default trigger for each LED in device tree and "trigger-sources"
> didn't exist yet (it was introduced for USB ports and isn't yet used
> for anything other than that)

I see why you did it... BUt I believe we still want single trigger solution...

> However, the problem till today is also that ATA ports are often not
> individual device-tree objects we can refer to, see for example
> marvell,armada-370-sata which appears as one opaque controller. Ie.
> all SATA drivers have to be converted to expose individual ports on
> device-tree before the trigger-sources approach can be applied...

Yep, well... something to do in SATA then.

Perhaps this should also have an option for single LED for _any_ SATA activity,
and 90% devices will be happy with that?

                                                                        Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Reply via email to