usb: musb: reorder runtime pm call
The clock need to be enabled before the musb_core platform device is created and registered. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
3bb5534853
commit
0e38c4ed83
|
@ -566,27 +566,28 @@ static int __devinit dsps_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
platform_set_drvdata(pdev, glue);
|
platform_set_drvdata(pdev, glue);
|
||||||
|
|
||||||
/* create the child platform device for first instances of musb */
|
|
||||||
ret = dsps_create_musb_pdev(glue, 0);
|
|
||||||
if (ret != 0) {
|
|
||||||
dev_err(&pdev->dev, "failed to create child pdev\n");
|
|
||||||
goto err2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* enable the usbss clocks */
|
/* enable the usbss clocks */
|
||||||
pm_runtime_enable(&pdev->dev);
|
pm_runtime_enable(&pdev->dev);
|
||||||
|
|
||||||
ret = pm_runtime_get_sync(&pdev->dev);
|
ret = pm_runtime_get_sync(&pdev->dev);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&pdev->dev, "pm_runtime_get_sync FAILED");
|
dev_err(&pdev->dev, "pm_runtime_get_sync FAILED");
|
||||||
|
goto err2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* create the child platform device for first instances of musb */
|
||||||
|
ret = dsps_create_musb_pdev(glue, 0);
|
||||||
|
if (ret != 0) {
|
||||||
|
dev_err(&pdev->dev, "failed to create child pdev\n");
|
||||||
goto err3;
|
goto err3;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err3:
|
err3:
|
||||||
pm_runtime_disable(&pdev->dev);
|
pm_runtime_put(&pdev->dev);
|
||||||
err2:
|
err2:
|
||||||
|
pm_runtime_disable(&pdev->dev);
|
||||||
kfree(glue->wrp);
|
kfree(glue->wrp);
|
||||||
err1:
|
err1:
|
||||||
kfree(glue);
|
kfree(glue);
|
||||||
|
|
Loading…
Reference in New Issue