Messages in this thread | | | Date | Tue, 28 Oct 2014 19:15:09 -0600 | From | Stephen Warren <> | Subject | Re: [PATCH v2] pinctrl: bcm2835: Start GPIO numeration at zero |
| |
On 10/28/2014 01:03 AM, Matthias Klein wrote: > > 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@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?
DT is supposed to represent HW features, in an OS-agnostic way, and a "GPIO base" is a Linux-specific SW concept.
| |