Re: [PATCH 2/2] usb: serial: xr_serial: Add gpiochip support

From: Johan Hovold
Date: Tue May 19 2020 - 04:57:10 EST


On Wed, Apr 29, 2020 at 06:19:18PM +0530, Manivannan Sadhasivam wrote:

> On Wed, Apr 29, 2020 at 02:12:24PM +0200, Linus Walleij wrote:
> > On Tue, Apr 28, 2020 at 9:57 PM <mani@xxxxxxxxxx> wrote:
> >
> > > From: Manivannan Sadhasivam <mani@xxxxxxxxxx>
> > >
> > > Add gpiochip support for Maxlinear/Exar USB to serial converter
> > > for controlling the available gpios.
> > >
> > > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> > > Cc: linux-gpio@xxxxxxxxxxxxxxx
> > > Signed-off-by: Manivannan Sadhasivam <mani@xxxxxxxxxx>

> > I would change this:
> >
> > port_priv->gc.label = "xr_gpios";
> >
> > to something that is device-unique, like "xr-gpios-<serial number>"
> > which makes it easy to locate the GPIOs on a specific serial converter
> > for lab use. However the USB serial maintainers know better what
> > to use here. Whatever makes a USB-to-serial unique from a TTY
> > point of view is probably fine with me too.
> >
> > My idea is that people might want to know which USB cable
> > this is sitting on, so I have this USB cable and from this label
> > I can always figure out which GPIO device it is.

I think we've had this discussion before. First, not every device has a
unique serial number. Second, we already have a universal way of
distinguishing devices namely by using the bus topology. That's
available through sysfs and shouldn't have to be be re-encoded by every
driver in the gpiochip name.

> Sounds reasonable. I can postfix the PID as below:
>
> port_priv->gc.label = devm_kasprintf(port->dev, GFP_KERNEL, "XR%04x",
> port_priv->idProduct);
>
> So this will become, "XR1410".

So this doesn't really buy us anything; what if you have two of these
devices?

Johan