Re: [PATCH V3] leds: trigger: Introduce an USB port trigger

From: RafaÅ MiÅecki
Date: Thu Aug 25 2016 - 01:19:23 EST


On 24 August 2016 at 23:04, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, Aug 24, 2016 at 11:29:51AM +0200, RafaÅ MiÅecki wrote:
>> On 24 August 2016 at 11:22, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>> > On Wed, Aug 24, 2016 at 12:03:29AM +0200, RafaÅ MiÅecki wrote:
>> >> +static ssize_t ports_show(struct device *dev, struct device_attribute *attr,
>> >> + char *buf)
>> >> +{
>> >> + struct led_classdev *led_cdev = dev_get_drvdata(dev);
>> >> + struct usbport_trig_data *usbport_data = led_cdev->trigger_data;
>> >> + struct usbport_trig_port *port;
>> >> + ssize_t ret = 0;
>> >> + int len;
>> >> +
>> >> + list_for_each_entry(port, &usbport_data->ports, list) {
>> >> + len = sprintf(buf + ret, "%s\n", port->name);
>> >> + if (len >= 0)
>> >> + ret += len;
>> >> + }
>> >> +
>> >> + return ret;
>> >> +}
>> >
>> > sysfs is "one value per file", here you are listing a bunch of things in
>> > one sysfs file. Please don't do that.
>>
>> OK. What do you think about creating "ports" subdirectory and creating
>> file-per-port in it? Then I'd need to bring back something like
>> "new_port" and "remove_port". Does it sound OK?
>
> Maybe, I don't know. Why is "USB" somehow unique here? Why isn't this
> the same for PCI slots/ports? pccard? sdcard? thunderbolt?

Good question. I would like to extend this USB port trigger in the
future by reacting to USB activity. This involves playing with URBs
and I believe that at that point it'd be getting too much USB specific
to /rule them all/.

--
RafaÅ