Re: [PATCH V2 5/5] gpio: of: Add support to have multiple gpios in gpio-hog

From: Laxman Dewangan
Date: Wed Mar 16 2016 - 07:31:44 EST



On Tuesday 15 March 2016 07:51 PM, Linus Walleij wrote:
On Fri, Mar 11, 2016 at 2:43 PM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:

The child node for gpio hogs under gpio controller's node
provide the mechanism to automatic GPIO request and
configuration as part of the gpio-controller's driver
probe function.

Currently, property "gpio" takes one gpios for such
configuration. Add support to have multiple GPIOs in
this property so that multiple GPIOs of gpio-controller
can be configured by this mechanism with one child node.

Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx>
Cc: Benoit Parrot <bparrot@xxxxxx>
Cc: Alexandre Courbot <acourbot@xxxxxxxxxx>

---
Changes from V1:
- Add "labels" property for GPIO label names.
Actually it's just "label" as seen from the code and the binding.
Though it would make sense to have labels (pluralis) as it can be more
than one and accompanies "gpios" which is plural.

Rob: what is the pattern here?

(Grep the existing bindings to check how multiple labels are handled
in other subsystems...)

No property found for "labels" in the bindings folder. However, "label" is used for single string.

If Rob is fine then we can go with "labels" to start something new..


(...)
- if (name && of_property_read_string(np, "line-name", name))
- *name = np->name;
+ if (!name)
+ goto out;

+ ret = of_property_read_string(np, "line-name", name);
+ if (ret)
+ ret = of_property_read_string_index(np, "label", gpio_index,
+ name);
+ if (ret)
+ *name = np->name;
This looks to me like if "line-name" is specified, all lines will get the
same name if gpios contain more than one item. Is this what we want?
yaah, line-name is deprecated property and so not adding array string here. Array string will be supported with label only. I did not add print as deprecated property to avoid noise in log.

We will be hardly have "labels" and "line-names" together.