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

From: Greg KH
Date: Wed Aug 24 2016 - 17:07:45 EST


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?

thanks,

greg k-h