Re: [PATCH 2/4] net: rfkill: gpio: remove gpio names
From: Stephen Warren <hidden>
Date: 2014-02-25 17:35:35
Also in:
linux-wireless, lkml, netdev
On 02/25/2014 02:13 AM, Linus Walleij wrote:
On Fri, Feb 21, 2014 at 6:35 AM, Stephen Warren [off-list ref] wrote:quoted
On 02/20/2014 06:55 PM, Chen-Yu Tsai wrote:quoted
quoted
That's correct. However using con_id to pass this results in different behavior across DT and ACPI. A better way is to export the labeling function so consumers can set meaningful labels themselves.
...
As in tegra30-beaver.dts...
sdhci@78000000 {
status = "okay";
cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
wp-gpios = <&gpio TEGRA_GPIO(T, 3) GPIO_ACTIVE_HIGH>;
power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>;
bus-width = <4>;
};
Instead of passing the GPIOs as index 0,1,2 they are named
and I do admit this has a nice "things are under control" aspect
to it.
In the ACPI case the con_id is not used for anything.
So it is basically there to satisfy the habit in some device
tree bindings to name gpio arrays instead of just passing gpios = <...>;
(The latter should be encouraged going forward.)Do you really want to switch from named GPIO lookups to index-based GPIO lookups? Index-based lookups make it much harder to extend the DT binding in a backwards-compatible fashion, especially in the face of optional GPIOs (of which all of CD, WP, power are). If we switch to a single gpios property, I'd assert we should still do named-based lookups using a parallel gpio-names property, just like most (all?) other resource types now support. If we do that, we'll still need the name parameter.