Hi Ulf, On Thu, Apr 24, 2014 at 3:11 PM, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: >> +static int of_clk_register(struct device *dev, struct clk *clk) >> +{ >> + int error; >> + >> + if (!dev->pm_domain) { >> + error = pm_clk_create(dev); >> + if (error) >> + return error; >> + >> + dev->pm_domain = &of_clk_pm_domain; > > I am concerned about how this will work in conjunction with the > generic power domain. > > A device can't reside in more than one pm_domain; thus I think it > would be better to always use the generic power domain and not have a > specific one for clocks. Typically the genpd should invoke > pm_clk_resume|suspend from it's runtime PM callbacks. On shmobile SoCs supporting power domains, the power domain is overridden later by calling rmobile_add_devices_to_domains() and friends. My patch doesn't change that: the code behaved the same in the non-multi-platform case before: dev->pm_domain as set from drivers/sh/pm_runtime.c was overridden later. I'll have a deeper look into the power domain code later anyway. Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- 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