On Fri, Oct 24, 2014 at 09:44:31AM -0700, Dmitry Torokhov wrote: > Hi Jinkun, > > On Fri, Oct 24, 2014 at 12:29:19AM -0700, jinkun.hong wrote: > > +static int rockchip_pd_power(struct rockchip_domain *pd, bool power_on) > > +{ > > + int ret = 0; > > + struct rockchip_dev_entry *de; > > + > > + mutex_lock(&pd->dev_lock); > > + /* no clk, set power domain will fail */ > > + if (list_empty(&pd->dev_list)) { > > + pr_err("%s: no devices in %s power domain\n", __func__, > > + pd->base.name); > > + goto out; > > + } > > + > > + list_for_each_entry(de, &pd->dev_list, node) { > > + pm_clk_resume(de->dev); > > + } > > + > > + ret = rockchip_pmu_set_power_domain(pd, power_on); > > + > > + list_for_each_entry(de, &pd->dev_list, node) { > > + pm_clk_suspend(de->dev); > > + } > > +out: > > + mutex_unlock(&pd->dev_lock); > > + return ret; > > +} > > For my education, could you please tell me why we need to enable all > clocks of all devices in a power domain when we are talking to the PMU > and then turn them immediately off? Would not we want to enable clocks > in start()) callbacks, like Ulf mentioned? Jinkun, any update on this question? Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html