X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Fdrivers%2Fusb%2Fdwc3%2Fdwc3-exynos.c;fp=kernel%2Fdrivers%2Fusb%2Fdwc3%2Fdwc3-exynos.c;h=2f1fb7e7aa548f831fb9cfa63d24513c292d15b4;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=dd5cb5577dcaf62d411fb9776e47a23d4a4dacf7;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/drivers/usb/dwc3/dwc3-exynos.c b/kernel/drivers/usb/dwc3/dwc3-exynos.c index dd5cb5577..2f1fb7e7a 100644 --- a/kernel/drivers/usb/dwc3/dwc3-exynos.c +++ b/kernel/drivers/usb/dwc3/dwc3-exynos.c @@ -128,12 +128,6 @@ static int dwc3_exynos_probe(struct platform_device *pdev) platform_set_drvdata(pdev, exynos); - ret = dwc3_exynos_register_phys(exynos); - if (ret) { - dev_err(dev, "couldn't register PHYs\n"); - return ret; - } - exynos->dev = dev; exynos->clk = devm_clk_get(dev, "usbdrd30"); @@ -183,20 +177,29 @@ static int dwc3_exynos_probe(struct platform_device *pdev) goto err3; } + ret = dwc3_exynos_register_phys(exynos); + if (ret) { + dev_err(dev, "couldn't register PHYs\n"); + goto err4; + } + if (node) { ret = of_platform_populate(node, NULL, NULL, dev); if (ret) { dev_err(dev, "failed to add dwc3 core\n"); - goto err4; + goto err5; } } else { dev_err(dev, "no device node, failed to add dwc3 core\n"); ret = -ENODEV; - goto err4; + goto err5; } return 0; +err5: + platform_device_unregister(exynos->usb2_phy); + platform_device_unregister(exynos->usb3_phy); err4: regulator_disable(exynos->vdd10); err3: