Re: setting gpio-line-names in dts for sama5d2 SoC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 18, 2021 at 4:00 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
> On Thu, Mar 18, 2021 at 3:56 PM Alexander Dahl <ada@xxxxxxxxxxx> wrote:

> > In other words: if I design a new board, there's no interface I would break, at least not from the userspace point of view just looking at the line names, or is there?
>
> I understand that  names are platform specific and I'm on your side as
> an IoT specialist, but on the Linux side we may not blindly do changes
> like this due to ABI concerns. You see the problem here: you can't fix
> all (legacy) DTSs in the world which do not have GPIO line names
> listed, and for those users we effectively break their tools and
> scripts which relies on the hard coded naming scheme.
>
> So, we may change if and only if the names of the lines are not an ABI!
>
> What we can do as a workaround is to reverse the partsing order, and
> if somebody complains, it will be their DTS issues, whoever not the
> best solution either.

The line names are not really supposed to be used as ABI since
they are not necessarily unique. This problem was pointed out
by Johan a few times. The real ABI is the HW line number (local
offset) when used with the GPIO character device.

This is logical since the gpio-line-names attribute is optional.

It must be possible to get a handle to a GPIO line without a
name. And using the offset number should be the preferred
way for userspace: use a number on a gpiochipN with the
character device.

(The topology of the gpiochip per se can be determined from sysfs.)

However this has not stopped userspace from using it as ABI,
and these names are used by the GPIO aggregator.

It's hard to do it right without resetting history and requireing that
all names in the device tree be unique as well, at the root of the
problem, but when introduced, these names were there for
the file /sys/kernel/debug/gpio, not for exposing to userspace.

However the character device does give the name away, as
a piece of information, it is not supposed to be used to look
up lines but merely as information, but well people use it
for looking up lines by name anyway so what can we do.

I don't think it's a big deal to change these names.

Yours,
Linus Walleij



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux