How about a gpio_get(device *, char *) function?
Linus Walleij
linus.walleij at linaro.org
Thu Nov 8 08:28:01 EST 2012
On Mon, Nov 5, 2012 at 6:35 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> [Me]
>> gpio_get() should get an abstract handle just like clk_get() or
>> regulator_get(), not a fixed numeral.
>
> I don't really see why the return type of gpio_get() influences whether
> it can be implemented or not.
It doesn't influence that, but I want to follow the opaqueness design
pattern from irq descriptors and struct clk.
> With board files, some "gpio map" table would simply contain the same
> int GPIO ID value the table as is used anywhere else already. With DT,
> the same xlate function would translate from DT GPIO-chip-relative
> IDs/specifiers into the global number space in the same way that we do
> today via other APIs.
Yes, this part I buy into, just want to see how we can move forward
from there. The coplete nightmare is to introduce something into DT
that nails down a global GPIO numberspace... but I think that is not
the case atleast.
> If the GPIO subsystem were reworked as you propose, this API could be
> reworked in exactly the same way, or if implemented after the rework, it
> would return whatever handle type was in use at the time.
Yes, I just think we should return an opaque struct from day 1, so
just a little, little bit more to shield us.
Yours,
Linus Walleij
More information about the devicetree-discuss
mailing list