[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