Re: [PATCH 3/3] gpiolib: use chip->names for symlinks, always use gpioN for device names

David Brownell
2009-12-11T05:13:03Z

On Thursday 10 December 2009, Greg KH wrote:
> On Thu, Dec 10, 2009 at 08:13:58PM -0800, David Brownell wrote:
> > On Thursday 10 December 2009, Greg KH wrote:
> > >
> > > > IMO a "good" solution in this space needs to accept that
> > > > those names are not going to be globally unique ... but
> > > > that they'll be unique within some context, of necessity.
> > > >
> > > > If Greg doesn't want to see those names under classes,
> > > > so be it ... but where should they then appear?
> > >
> > > As a sysfs file within the device directory called 'name'? ?Then just
> > > grep through the tree to find the right device, that also handles
> > > duplicates just fine, right?
> >
> > I want a concrete example. Those chip->names things don't
> > seem helpful to me though...
> >
> > ...
>
> Um, I really don't know, as I don't know the GPIO subsystem, nor why you
> all have this problem in the first place :)

Maybe Jani can provide a more concrete example.

> I also find it funny that you think changing the kernel is easier than
> userspace, that's a strange situation.

I don't recall saying that. :)

It's a case of kernel having access to system data that's not
otherwise exported to userspace. It knows how the various bits
of hardware fit together ... and in this case wants to export
associations between some GPIOs and some other hardware. Given
that, userspace can pick things up.

> Anyway, I assumed that you already have a struct device for the GPIO
> devices, right? Put it in there was what I was thinking, but as I don't
> understand your current layout, I really don't know.

There are gpio_chip devices, for a set of GPIOs. But not for
the individual GPIOs.

> > I confess I'd still think a symlink from that directory
> > to the real GPIO would be easier to work with...
>
> No, don't do that, no symlinks from a class please.

I didn't catch a reason for that request... could you
explain that?

- Dave