[PATCH v6 1/2] ohci-platform: Add support for devicetree instantiation
Alan Stern
stern at rowland.harvard.edu
Wed Jan 15 11:30:11 EST 2014
On Wed, 15 Jan 2014, Hans de Goede wrote:
> +static int ohci_platform_power_on(struct platform_device *dev)
> +{
> + struct usb_hcd *hcd = platform_get_drvdata(dev);
> + struct ohci_platform_priv *priv = hcd_to_ohci_priv(hcd);
> + int clk, ret;
> +
> + for (clk = 0; clk < OHCI_MAX_CLKS && priv->clks[clk]; clk++) {
You fixed this one...
> @@ -125,13 +225,22 @@ static int ohci_platform_remove(struct platform_device *dev)
> {
> struct usb_hcd *hcd = platform_get_drvdata(dev);
> struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
> + struct ohci_platform_priv *priv = hcd_to_ohci_priv(hcd);
> + int clk;
>
> usb_remove_hcd(hcd);
> - usb_put_hcd(hcd);
>
> if (pdata->power_off)
> pdata->power_off(dev);
>
> + for (clk = 0; priv->clks[clk] && clk < OHCI_MAX_CLKS; clk++)
but not this one. :-( Same for the ehci-platform patch.
In fact, it might be easier to make this loop go backward, like
you do in the *_platform_power_off routines.
Is there a devm-type routine that will take care of all this for you?
Alan Stern
More information about the linux-arm-kernel
mailing list