From b2083062a3b4035e85349120b426ecef2b6d155f Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Fri, 11 Jan 2013 21:22:36 +0100 Subject: 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 Reported-by: Stephen Warren Signed-off-by: Linus Walleij --- drivers/pinctrl/devicetree.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'drivers/pinctrl/devicetree.c') 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, pctldev = find_pinctrl_by_of_node(np_pctldev); if (pctldev) break; + /* Do not defer probing of hogs (circular loop) */ + if (np_pctldev == p->dev->of_node) { + of_node_put(np_pctldev); + return -ENODEV; + } } of_node_put(np_pctldev); -- cgit v1.2.3-59-g8ed1b