Re: [PATCH v3 5/8] usb: ehci-platform: add optional reset controller retrieval

From: Alan Stern
Date: Mon May 12 2014 - 16:06:21 EST


On Mon, 12 May 2014, Maxime Ripard wrote:

> From: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx>
>
> On the Allwinner's A31 SoC the reset line connected to the EHCI IP has to
> be deasserted for the EHCI block to be usable.
>
> Add support for an optional reset controller that will be deasserted on
> power off and asserted on power on.
>
> Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>

...

> @@ -208,6 +210,18 @@ static int ehci_platform_probe(struct platform_device *dev)
> }
> }
>
> + priv->rst = devm_reset_control_get_optional(&dev->dev, NULL);
> + if (IS_ERR(priv->rst)) {
> + err = PTR_ERR(priv->rst);
> + if (err == -EPROBE_DEFER)
> + goto err_put_clks;
> + priv->rst = NULL;
> + } else {
> + err = reset_control_deassert(priv->rst);
> + if (err)
> + goto err_put_clks;
> + }
> +
> if (pdata->big_endian_desc)
> ehci->big_endian_desc = 1;
> if (pdata->big_endian_mmio)

You don't re-assert the reset control if an error happens later on
during probe. Was that intentional?

Alan Stern

--
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/