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