On Tue, Jun 7, 2022 at 5:11 AM Kent Gibson <warthog618@xxxxxxxxx> wrote: > On Mon, Jun 06, 2022 at 01:14:48PM +0300, Andy Shevchenko wrote: > > On Sat, Jun 04, 2022 at 10:41:31AM +0800, Kent Gibson wrote: ... > > From Python programmer perspective it's a good idea, but from GPIO (ABI) > > perspective, it may be confusing. Line name is not unique (globally) and > > basically not a part of ABI. > > "basically not a part of the ABI"??? > Damn - we should've removed it from the line info for uAPI v2 ;-). Yep, names are just aliases for the line numbers, but _not_ unique in the system. You may have many lines with the same name alias, but number. I remember that we made it stricter in the kernel, but as far as I understand there is nothing prevents some drivers to behave badly. https://elixir.bootlin.com/linux/v5.19-rc1/source/drivers/gpio/gpiolib.c#L331 Also note, we don't validate names given by properties. Any DT may contain same names for several lines on the same chip. ... > Line names should be unique in well configured systems, even if the > kernel itself does not guarantee it. It's not about kernel, but like you said "well configured systems". If we push the strict rules, we might be punished by users who want actually to have ambiguous names. ... > But if the purpose of the Python binding is purely to minimally wrap the > C ABI, warts and all, then my suggestion should most certainly be ignored. As i said, it's very good suggestion, but pity we don't strict line naming in the kernel. -- With Best Regards, Andy Shevchenko