[PATCH 1/4] pinctrl: generic: scan for "pins" and "groups" properties in sub-nodes
Beniamino Galvani
b.galvani at gmail.com
Tue Aug 16 02:49:47 PDT 2016
In cases where the pins and groups definitions are in a sub-node, as:
uart_a {
mux {
groups = "uart_tx_a", "uart_rx_a";
function = "uart_a";
};
};
pinctrl_generic_set_state_subnode() returns an error for the top-level
node and pinctrl_generic_set_state() fails. Instead, return success so
that the child nodes are tried.
Signed-off-by: Beniamino Galvani <b.galvani at gmail.com>
---
drivers/pinctrl/pinctrl-generic.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-generic.c b/drivers/pinctrl/pinctrl-generic.c
index e86b72a..baff40f 100644
--- a/drivers/pinctrl/pinctrl-generic.c
+++ b/drivers/pinctrl/pinctrl-generic.c
@@ -312,8 +312,10 @@ static int pinctrl_generic_set_state_subnode(struct udevice *dev,
is_group = true;
strings_count = fdt_count_strings(fdt, node,
subnode_target_type);
- if (strings_count < 0)
- return -EINVAL;
+ if (strings_count < 0) {
+ /* skip this node; may contain config child nodes */
+ return 0;
+ }
}
for (i = 0; i < strings_count; i++) {
--
2.7.4
More information about the linux-amlogic
mailing list