diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c index 6520b88db1105b59e4163945e2478eaf25dc9e09..5ee746cb81f591ef49ec0fca77048e11db4d20d1 100644 --- a/drivers/pinctrl/devicetree.c +++ b/drivers/pinctrl/devicetree.c @@ -143,14 +143,10 @@ static int dt_to_map_one_config(struct pinctrl *p, pctldev = get_pinctrl_dev_from_of_node(np_pctldev); if (pctldev) break; - /* - * Do not defer probing of hogs (circular loop) - * - * Return 1 to let the caller catch the case. - */ + /* Do not defer probing of hogs (circular loop) */ if (np_pctldev == p->dev->of_node) { of_node_put(np_pctldev); - return 1; + return -ENODEV; } } of_node_put(np_pctldev); @@ -269,8 +265,6 @@ int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev) ret = dt_to_map_one_config(p, pctldev, statename, np_config); of_node_put(np_config); - if (ret == 1) - continue; if (ret < 0) goto err; }