Exynos5440 does not require any explict USB phy configuration. So skip
the USB phy configuration for Exynos5440 based platforms.

Signed-off-by: Thomas Abraham <thomas...@samsung.com>
---
 drivers/usb/host/ohci-exynos.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c
index b38fdd9..70b9517 100644
--- a/drivers/usb/host/ohci-exynos.c
+++ b/drivers/usb/host/ohci-exynos.c
@@ -35,7 +35,7 @@ static void exynos_ohci_phy_enable(struct exynos_ohci_hcd 
*exynos_ohci)
 
        if (exynos_ohci->phy)
                usb_phy_init(exynos_ohci->phy);
-       else if (exynos_ohci->pdata->phy_init)
+       else if (exynos_ohci->pdata && exynos_ohci->pdata->phy_init)
                exynos_ohci->pdata->phy_init(pdev, USB_PHY_TYPE_HOST);
 }
 
@@ -45,7 +45,7 @@ static void exynos_ohci_phy_disable(struct exynos_ohci_hcd 
*exynos_ohci)
 
        if (exynos_ohci->phy)
                usb_phy_shutdown(exynos_ohci->phy);
-       else if (exynos_ohci->pdata->phy_exit)
+       else if (exynos_ohci->pdata && exynos_ohci->pdata->phy_exit)
                exynos_ohci->pdata->phy_exit(pdev, USB_PHY_TYPE_HOST);
 }
 
@@ -128,6 +128,10 @@ static int exynos_ohci_probe(struct platform_device *pdev)
        if (!exynos_ohci)
                return -ENOMEM;
 
+       if (of_device_is_compatible(pdev->dev.of_node,
+                                       "samsung,exynos5440-ohci"))
+               goto skip_phy;
+
        phy = devm_usb_get_phy(&pdev->dev, USB_PHY_TYPE_USB2);
        if (IS_ERR(phy)) {
                /* Fallback to pdata */
@@ -142,6 +146,8 @@ static int exynos_ohci_probe(struct platform_device *pdev)
                exynos_ohci->otg = phy->otg;
        }
 
+skip_phy:
+
        exynos_ohci->dev = &pdev->dev;
 
        hcd = usb_create_hcd(&exynos_ohci_hc_driver, &pdev->dev,
@@ -312,6 +318,7 @@ static const struct dev_pm_ops exynos_ohci_pm_ops = {
 #ifdef CONFIG_OF
 static const struct of_device_id exynos_ohci_match[] = {
        { .compatible = "samsung,exynos4210-ohci" },
+       { .compatible = "samsung,exynos5440-ohci" },
        {},
 };
 MODULE_DEVICE_TABLE(of, exynos_ohci_match);
-- 
1.6.6.rc2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to