Re: How about a gpio_get(device *, char *) function?

From: Stephen Warren
Date: Wed Oct 31 2012 - 11:25:34 EST


On 10/31/2012 03:04 AM, Alex Courbot wrote:
> Hi,
>
> Would anyone be opposed to having a gpio_get() function that works similarly
> to e.g. regulator_get() and clk_get()?

One major stumbling block is that with device tree, each individual
binding gets to decide on the specific naming of the propert{y,ies} that
define the GPIO(s) for the device, and so there's no way to provide a
generic implementation of that function.

Related, I've always wished that DT nodes looked like:

device {
reg = <...>;
compatible = <...>;
resources {
pwms = <...>;
regulators = <...>;
clocks = <...>;
gpios = <...>;
other-devices = <...>; /* for custom API dependencies */
};
config {
/* device-specific properties */
};
child-busses {
0 = { ... };
1 = { ... };
};
};

... specifically so that all resource allocation, and perhaps even child
bus enumeration, could be completely standardized in the DT/device core.
This could also feed into deferred probe, which could then be purely
implemented inside the DT/driver core. However, that'd require something
incompatible like "device tree 2.0"
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/