Thread (22 messages) 22 messages, 3 authors, 2014-12-12

[PATCH v2 1/7] pinctrl: pinconf-generic: Infer map type from DT property

From: Sören Brinkmann <hidden>
Date: 2014-12-03 23:04:42
Also in: linux-sh, lkml

Hi Linus,

On Tue, 2014-12-02 at 04:01PM +0100, Linus Walleij wrote:
On Fri, Nov 28, 2014 at 2:26 AM, Soren Brinkmann
[off-list ref] wrote:
quoted
With the new 'groups' property, the DT parser can infer the map type
from the fact whether 'pins' or 'groups' is used to specify the pin
group to work on.
To maintain backwards compatibitliy with current usage of the DT
binding, this is only done when an invalid map type is passed to the
parsing function.

Signed-off-by: Soren Brinkmann <redacted>
Tested-by: Andreas F?rber <afaerber@suse.de>
---
Changes since RFC v2:
 - none
OK there are problems with this.
quoted
@@ -264,6 +264,7 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
        unsigned reserve;
        struct property *prop;
        const char *group;
+       const char *dt_pin_specifier = "pins";
Something called "dt_pin_specifier" contains the string "pins"...
quoted
        ret = of_property_read_string(np, "function", &function);
        if (ret < 0) {
@@ -284,10 +285,20 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
                reserve++;
        if (num_configs)
                reserve++;
+
        ret = of_property_count_strings(np, "pins");
        if (ret < 0) {
-               dev_err(dev, "could not parse property pins\n");
-               goto exit;
+               ret = of_property_count_strings(np, "groups");
+               if (ret < 0) {
+                       dev_err(dev, "could not parse property pins/groups\n");
+                       goto exit;
+               }
+               if (type == PIN_MAP_TYPE_INVALID)
+                       type = PIN_MAP_TYPE_CONFIGS_GROUP;
+               dt_pin_specifier = "groups";
Then suddenly "groups".

The pointer variable should be named something like "subnode_target_type"
or so.
I will rename it accordingly in the next version.
quoted
+++ b/include/linux/pinctrl/pinconf-generic.h
@@ -174,6 +174,13 @@ static inline int pinconf_generic_dt_node_to_map_pin(
                        PIN_MAP_TYPE_CONFIGS_PIN);
 }

+static inline int pinconf_generic_dt_node_to_map_all(
+               struct pinctrl_dev *pctldev, struct device_node *np_config,
+               struct pinctrl_map **map, unsigned *num_maps)
+{
+       return pinconf_generic_dt_node_to_map(pctldev, np_config, map, num_maps,
+                       PIN_MAP_TYPE_INVALID);
+}
First add some comment describing what happens here and why
INVALID is specified.

Then what does this have to do with the $subject?

Atleast mention in the commit text that a new helper is added, though unused.
Ok. I'll put a comment in the header and one or two sentences regarding
this helper in the commit message.

	Thanks,
	S?ren
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help