aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-08-09 08:20:52 -0400
committerLinus Walleij <linus.walleij@linaro.org>2013-08-15 16:13:17 -0400
commit5e13762cf8e5a4998c3a80d2265f0c3b3277854e (patch)
tree4b8ae4f4b34c72778558102ee12e10bb101faf56 /drivers/pinctrl
parent1bf1fea95ff9161fafccbcac76b37bbadc924bd0 (diff)
pinctrl: imx: do not fail when parsing a group fails
The i.MX pinctrl driver completely bails out when it detects an error in the pinctrl nodes. This usually means that whatever error a devicetree has the user is left blind because even the console cannot be initialized without working pinmux. Instead of bailing out completely, just continue probing. This makes the pinctrl driver work, only the erroneous groups will fail later during pin request time. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/pinctrl-imx.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/pinctrl/pinctrl-imx.c b/drivers/pinctrl/pinctrl-imx.c
index deeb740fa94e..b8077d903641 100644
--- a/drivers/pinctrl/pinctrl-imx.c
+++ b/drivers/pinctrl/pinctrl-imx.c
@@ -519,7 +519,6 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
519 struct device_node *child; 519 struct device_node *child;
520 struct imx_pmx_func *func; 520 struct imx_pmx_func *func;
521 struct imx_pin_group *grp; 521 struct imx_pin_group *grp;
522 int ret;
523 static u32 grp_index; 522 static u32 grp_index;
524 u32 i = 0; 523 u32 i = 0;
525 524
@@ -540,9 +539,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
540 for_each_child_of_node(np, child) { 539 for_each_child_of_node(np, child) {
541 func->groups[i] = child->name; 540 func->groups[i] = child->name;
542 grp = &info->groups[grp_index++]; 541 grp = &info->groups[grp_index++];
543 ret = imx_pinctrl_parse_groups(child, grp, info, i++); 542 imx_pinctrl_parse_groups(child, grp, info, i++);
544 if (ret)
545 return ret;
546 } 543 }
547 544
548 return 0; 545 return 0;