Re: [RFC PATCH] pinctrl: sunxi: convert to GPIO_GENERIC
From: Linus Walleij
Date: Mon Mar 16 2026 - 05:14:15 EST
On Sun, Mar 15, 2026 at 1:44 AM Andre Przywara <andre.przywara@xxxxxxx> wrote:
> On Sat, 14 Mar 2026 13:14:25 +0800
> Icenowy Zheng <uwu@xxxxxxxxxx> wrote:
> > Ah, is this a userspace API break?
>
> Was that ever a guaranteed user space API? Or just something
> that everyone relied on because it was always the same (until it
> wasn't)? Similar to /dev/mmcblk0 being the SD card?
As Torvalds has pointed out, if it has users (that complain) it's an ABI.
However if a tree falls in the forest and no-one is there to hear it
fall, it is a philosophical question whether it makes a sound or not.
https://en.wikipedia.org/wiki/If_a_tree_falls_in_a_forest_and_no_one_is_around_to_hear_it,_does_it_make_a_sound%3F
The ABI has been broken since the first introduction of dynamic
GPIO devices, because anything specifying -1 as base will
get some random semi-predictable global GPIO numbers.
> And ignoring the ill-fated old-style sysfs interface for now, how does
> this work with libgpiod? Would it still use the absolute pin numbers?
No.
There is also a new sysfs that enables you to export chip-local
lines, and this is what you get with CONFIG_GPIO_SYSFS.
The old ABI is available behind CONFIG_GPIO_SYSFS_LEGACY
and if the users don't enable this, then they don't have a
problem with this patch.
> I mean looking at that warning about the forced GPIO numbering we
> get, using base = -1 seems to be the recommended way?
It is.
Unless there are users that love the old ABI (for Sunxi, I *doubt it*)
I think the patch should be applied.
Yours,
Linus Walleij