diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2013-01-11 15:22:36 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-01-11 15:49:21 -0500 |
commit | b2083062a3b4035e85349120b426ecef2b6d155f (patch) | |
tree | 1ca595472e79e8569dc4b3a2e42bc1568da197c7 /drivers/pinctrl/devicetree.c | |
parent | e32af889458837d11a1ec5ec98934a1e711b049d (diff) |
pinctrl: do not defer device tree hogs
commit af1024e0f7cde9023ddd0f3116db03911d5914c0
"pinctrl: skip deferral of hogs"
Attempts to avoid probe deferral on hogged pins, but we
forgot the device tree case. This patch fixes this.
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reported-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/devicetree.c')
-rw-r--r-- | drivers/pinctrl/devicetree.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c index fe2d1af7cfa0..fd40a11ad645 100644 --- a/drivers/pinctrl/devicetree.c +++ b/drivers/pinctrl/devicetree.c | |||
@@ -141,6 +141,11 @@ static int dt_to_map_one_config(struct pinctrl *p, const char *statename, | |||
141 | pctldev = find_pinctrl_by_of_node(np_pctldev); | 141 | pctldev = find_pinctrl_by_of_node(np_pctldev); |
142 | if (pctldev) | 142 | if (pctldev) |
143 | break; | 143 | break; |
144 | /* Do not defer probing of hogs (circular loop) */ | ||
145 | if (np_pctldev == p->dev->of_node) { | ||
146 | of_node_put(np_pctldev); | ||
147 | return -ENODEV; | ||
148 | } | ||
144 | } | 149 | } |
145 | of_node_put(np_pctldev); | 150 | of_node_put(np_pctldev); |
146 | 151 | ||