usb: phy: samsung: Pass set_isolation callback through driver data
[deliverable/linux.git] / drivers / usb / phy / phy-samsung-usb2.c
index be6031d50a6d8efa235abd18ac86b2796b33ee59..a01247e03e58193fd0b4e4654438f442461d56c3 100644 (file)
@@ -284,8 +284,8 @@ static int samsung_usb2phy_init(struct usb_phy *phy)
        /* Disable phy isolation */
        if (sphy->plat && sphy->plat->pmu_isolation)
                sphy->plat->pmu_isolation(false);
-       else
-               samsung_usbphy_set_isolation(sphy, false);
+       else if (sphy->drv_data->set_isolation)
+               sphy->drv_data->set_isolation(sphy, false);
 
        /* Selecting Host/OTG mode; After reset USB2.0PHY_CFG: HOST */
        samsung_usbphy_cfg_sel(sphy);
@@ -342,8 +342,8 @@ static void samsung_usb2phy_shutdown(struct usb_phy *phy)
        /* Enable phy isolation */
        if (sphy->plat && sphy->plat->pmu_isolation)
                sphy->plat->pmu_isolation(true);
-       else
-               samsung_usbphy_set_isolation(sphy, true);
+       else if (sphy->drv_data->set_isolation)
+               sphy->drv_data->set_isolation(sphy, true);
 
        spin_unlock_irqrestore(&sphy->lock, flags);
 
@@ -442,6 +442,7 @@ static const struct samsung_usbphy_drvdata usb2phy_s3c64xx = {
        .cpu_type               = TYPE_S3C64XX,
        .devphy_en_mask         = S3C64XX_USBPHY_ENABLE,
        .rate_to_clksel         = samsung_usbphy_rate_to_clksel_64xx,
+       .set_isolation          = NULL, /* TODO */
 };
 
 static const struct samsung_usbphy_drvdata usb2phy_exynos4 = {
@@ -449,6 +450,7 @@ static const struct samsung_usbphy_drvdata usb2phy_exynos4 = {
        .devphy_en_mask         = EXYNOS_USBPHY_ENABLE,
        .hostphy_en_mask        = EXYNOS_USBPHY_ENABLE,
        .rate_to_clksel         = samsung_usbphy_rate_to_clksel_64xx,
+       .set_isolation          = samsung_usbphy_set_isolation_4210,
 };
 
 static struct samsung_usbphy_drvdata usb2phy_exynos5 = {
@@ -456,6 +458,7 @@ static struct samsung_usbphy_drvdata usb2phy_exynos5 = {
        .hostphy_en_mask        = EXYNOS_USBPHY_ENABLE,
        .hostphy_reg_offset     = EXYNOS_USBHOST_PHY_CTRL_OFFSET,
        .rate_to_clksel         = samsung_usbphy_rate_to_clksel_4x12,
+       .set_isolation          = samsung_usbphy_set_isolation_4210,
 };
 
 #ifdef CONFIG_OF
This page took 0.025473 seconds and 5 git commands to generate.