Messages in this thread | | | Date | Mon, 12 May 2014 16:06:16 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [PATCH v3 5/8] usb: ehci-platform: add optional reset controller retrieval |
| |
On Mon, 12 May 2014, Maxime Ripard wrote:
> From: Boris BREZILLON <boris.brezillon@free-electrons.com> > > 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@free-electrons.com> > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > Reviewed-by: Hans de Goede <hdegoede@redhat.com>
...
> @@ -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
| |