Re: [patch/rfc 2.6.19-rc5] arch-neutral GPIO calls

David Brownell
2006-11-20T22:16:08Z

OK, just trying to summarize here:

- Nobody has reported **ANY** real problem with the API, other than a minor
comment from Andrew Victor about a must_check annotation (resolved in a
nyet-posted update). No surprise; there are already nearly a dozen APIs
in the kernel doing exactly the same thing.

- Various folk want to see an additional API that can work with things like
I2C GPIO expanders ... where the bit get/set calls require task contexts.
Everyone agrees such a thing is eventually needed, but nobody needs it
"today".

- There's interest in a userspace interface to GPIOs; nothing pressing, and
that's at a different level, but worth noting since it always comes up.

- Paul Mundt also wants to see pin muxing APIs. Fine, but that's both
orthogonal and highly platform-specific. I can't support trying to
merge it into the generic notion of a GPIO line.

- Paul also wants to see implementations package multiple sync/atomic GPIO
controllers using this API. The API that I pulled together clearly permits
implementations to do that ... but it does not require them to do so.

I could certainly take all that feedback and let it lead me to some particular
implementation -- example, a table of { controller, index, flags } structs indexed
by the GPIO numbers, with controller ops vectors matching the primitives -- but
even if that were to happen, I'd like to know if anyone has any major disagreement
with the summary above.

- Dave