@@ -121,13 +121,23 @@ static bool rmobile_pd_active_wakeup(struct device *dev)
static void rmobile_pd_attach_dev(struct device *dev)
{
- if (pm_clk_no_clocks(dev))
- pm_clk_add(dev, NULL);
+ int error;
+
+ error = pm_clk_create(dev);
+ if (error) {
+ dev_err(dev, "pm_clk_create failed %d\n", error);
+ return;
+ }
+
+ pm_clk_add(dev, NULL);
+
+ if (!IS_ENABLED(CONFIG_PM_RUNTIME))
+ pm_clk_resume(dev);
}
static void rmobile_pd_detach_dev(struct device *dev)
{
- pm_clk_remove(dev, NULL);
+ pm_clk_destroy(dev);
}
static void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd)