On Tue, Jan 21, 2025 at 11:37 AM Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> wrote: > > Hello Bartosz, > > On 15.01.25 17:52, Bartosz Golaszewski wrote: > > > > I recently wrote a user-space compatibility layer for sysfs[1]. While > > right now it doesn't support static base numbers, I'm very open to > > adding it except that I wasn't sure how to approach it. > > > > Is this of any use to you and could it help you switch to libgpiod > > without changing your user-space set-up (given the support for static > > GPIO numbering)? > > If the goal is to have a drop-in replacement for sysfs outside > of the kernel, I think it needs to maintain the same numbering. > > I am not sure I see myself using it, because the new projects are using > libgpiod from the get-go. My issue is not with removal of sysfs, but with > user hostile deprecation approaches. > > > If so, how would you like to see this implemented? A > > config file at /etc that would list chip labels and their desired GPIO > > base? > > Many GPIOs tend to not have labels. I think the mapping config file > should rather map GPIO controllers to a base address. The same thing the > kernel is currently doing. This assumes the numbering of the built-in > GPIO controllers is deterministic, e.g. by consulting /aliases. I haven't > checked, but I hope this is already the case. Well, they will have labels, it's just that the label will be something like "6e80000.gpio" which can very well be mapped onto a predefined GPIO range. The file could look like: /etc/gpio-static-base.conf ``` 6e80000.gpio 12 foobar 340 ``` Where the first column is the label and the second the static base that must be less than 512 - ngpio. Bart