Hi Pavel, On Fri, Sep 21, 2018 at 12:04:49AM +0200, Pavel Machek wrote: > 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? The whole reason for not using one of the existing disk-activity triggers was to address individual SATA ports to individual LEDs of NAS devices (in my case Shuttle KD20)...