Re: [PATCH v2] drivers/pinctrl: grab default handles from device core

From: Linus Walleij
Date: Fri Jan 11 2013 - 15:21:58 EST


On Thu, Jan 10, 2013 at 11:07 PM, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote:

> I see that an attempt was made to solve this problem, in the patch
> immediately preceding this one (at least, as applied in the pinctrl
> tree). However, that patch only addresses the case where the pin
> controller is being looked up in the map, and not the case when
> converting device tree to the map in the first place. The patch below
> solves this:
>
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index fe2d1af..fd40a11 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);

OK I've duplicated this, will send out as patch.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/