On 08/10/2023 20:45, Sam Protsenko wrote: >>> >>> Thank you for handling this! Those deprecation warnings have been >>> bugging me for some time :) While testing this series on my E850-96 >>> board (Exynos850 based), I noticed some changes in >>> /sys/kernel/debug/gpio file, like these: >>> >>> 8<------------------------------------------------------------------------------------------>8 >>> -gpiochip0: GPIOs 0-7, parent: platform/11850000.pinctrl, gpa0: >>> - gpio-7 ( |Volume Up ) in hi IRQ ACTIVE LOW >>> +gpiochip0: GPIOs 512-519, parent: platform/11850000.pinctrl, gpa0: >>> + gpio-519 ( |Volume Up ) in hi IRQ ACTIVE LOW >>> >>> -gpiochip1: GPIOs 8-15, parent: platform/11850000.pinctrl, gpa1: >>> - gpio-8 ( |Volume Down ) in hi IRQ ACTIVE LOW >>> +gpiochip1: GPIOs 520-527, parent: platform/11850000.pinctrl, gpa1: >>> + gpio-520 ( |Volume Down ) in hi IRQ ACTIVE LOW >>> >>> -gpiochip2: GPIOs 16-23, parent: platform/11850000.pinctrl, gpa2: >>> +gpiochip2: GPIOs 528-535, parent: platform/11850000.pinctrl, gpa2: >>> >>> ... >>> 8<------------------------------------------------------------------------------------------>8 >>> >>> So basically it looks like all line numbers were offset by 512. Can >>> you please comment on this? Is it an intentional change, and why it's >>> happening? >>> >>> Despite of that change, everything seems to be working fine. But I >>> kinda liked the numeration starting from 0 better :) >> >> Could it be the reason of dynamic allocation? >> > > I just asked because I didn't know :) But ok, if you want me to do > some digging... It seems like having GPIO_DYNAMIC_BASE=512 is not > necessarily the reason of dynamic allocation, but instead just a way > to keep 0-512 range for legacy GPIO drivers which might use that area > to allocate GPIO numbers statically. It's mentioned here: > > /* > * At the end we want all GPIOs to be dynamically allocated from 0. > * However, some legacy drivers still perform fixed allocation. > * Until they are all fixed, leave 0-512 space for them. > */ > #define GPIO_DYNAMIC_BASE 512 > > As mentioned in another comment in gpiochip_add_data_with_key(), that > numberspace shouldn't matter and in the end should go away, as GPIO > sysfs interface is pretty much deprecated at this point, and everybody > should stick to GPIO descriptors. > > Anyway, now that it's clear that the base number change was intended > and shouldn't matter, for all patches in the series: > > Reviewed-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx> > Tested-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx> If all the GPIOs changed due to switch to dynamic allocation, aren't we breaking all user-space users? Best regards, Krzysztof