[PATCH v2] pinctrl: bcm2835: Start GPIO numeration at zero
Matthias Klein
matthias.klein at linux.com
Tue Oct 28 00:10:24 PDT 2014
Am 28.10.2014 um 01:00 schrieb Stephen Warren:
> On 10/27/2014 05:05 PM, Matthias Klein wrote:
>
>> - To be in sync with the GPIO numbers in the datasheet / documentation
>
> I assume that's only relevant because of the second point; the GPIO
> IDs in DT files already match the datasheet.
>
>> - For userland applications which rely on these GPIO numbers
>
> This isn't a scalable solution for that; this "fix" can only work for
> a single GPIO controller in any one system. It'd be better for all
> usage to search for the correct GPIO controller in sysfs, find the
> base address of that, and then add on the controller-relative GPIO ID.
> That way, the same approach is taken irrespective of which GPIO
> controller is in use, and there are no special cases.
>
> Perhaps this could be simplified (removing the need to adding
> base+offset to get the Linux ID) if the GPIO core exported a
> per-controller directory in sysfs for GPIO manipulation (the files in
> which used controller-relative numbering), rather than having a single
> directory using Linux-internal global GPIO numbering; something like
> /sys/class/gpio/gpio at 7e200000/export which uses ID 0..N vs.
> /sys/class/gpio/export which uses IDs X..X+N where X is arbitary.
Would you accept a patch which implements the "gpio-base" property into
the device tree for pinctrl-bcm2835?
More information about the linux-rpi-kernel
mailing list