On Tue, Mar 2, 2021 at 2:18 AM Alexander Sverdlin <alexander.sverd...@gmail.com> wrote:
> Currently the naming of the GPIO chips depends on their order in the DT, > but also on the kernel version (I've noticed the change from v5.10.x to > v5.11). Honor the persistent enumeration in the "aliases" node like other > GPIO drivers do. > > Signed-off-by: Alexander Sverdlin <alexander.sverd...@gmail.com> > --- > Yes, I noticed checkpatch "WARNING: DT binding docs and includes should be > a separate patch." > However, the parts below are tiny and barely make sense separately. I've shut it down in the past because the instance ordering is a linuxism and the needs are in the Linux userspace somehow. It is different from a UART for example, which always need to be at the same place on any operating system, hence it has an alias. For kernelspace the instance order should not matter, since all resources are obtained from the device tree anyway by phandle. For userspace: The way to determine topology in Linux userspace is to use sysfs, and combined with the GPIO character device this provides a unique ID for each GPIO chip and line on the system. /sys/bus/gpio/devices/gpiochip0/ /sys/bus/gpio/devices/gpiochip1/ etc can change, but these appear as PCI, I2C, SPI, platform etc nodes as well. On my PC: /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/gpiochip0 It's pretty clear where that gpiochip sits. Yours, Linus Walleij