pm_runtime_get_sync(dp->dev);
- if (dp->plat_data->power_on)
- dp->plat_data->power_on(dp->plat_data);
-
- phy_power_on(dp->phy);
-
ret = analogix_dp_init_dp(dp);
if (ret)
goto out_dp_init;
return 0;
out_dp_init:
- phy_power_off(dp->phy);
- if (dp->plat_data->power_off)
- dp->plat_data->power_off(dp->plat_data);
-
pm_runtime_put_sync(dp->dev);
return ret;
disable_irq(dp->irq);
- if (dp->plat_data->power_off)
- dp->plat_data->power_off(dp->plat_data);
-
analogix_dp_set_analog_power_down(dp, POWER_ALL, 1);
- phy_power_off(dp->phy);
pm_runtime_put_sync(dp->dev);
int analogix_dp_suspend(struct analogix_dp_device *dp)
{
+ phy_power_off(dp->phy);
+
+ if (dp->plat_data->power_off)
+ dp->plat_data->power_off(dp->plat_data);
+
clk_disable_unprepare(dp->clock);
return 0;
return ret;
}
+ if (dp->plat_data->power_on)
+ dp->plat_data->power_on(dp->plat_data);
+
+ phy_power_on(dp->phy);
+
return 0;
}
EXPORT_SYMBOL_GPL(analogix_dp_resume);