On 01/23/2018 02:01 PM, David Lechner wrote:
On 01/23/2018 01:53 PM, Bartosz Golaszewski wrote:
In the mdio case - the problem is that devm_clk_get() doesn't fail,
but somehow the clock doesn't end up in the list of the device's
clocks - which is why it's not enabled by pm_runtime_get_sync().
Right. This is because devm_clk_get() now finds the clock via device
tree instead of a clkdev lookup entry. However, I think that the PM
notifier registered in arch/arm/mach-davinci/pm_domain.c only uses
the clkdev lookup to match the con_id and does not use device tree.
The same thing is happing in mdio, emac and lcdc.
Minor correction: It looks like emac doesn't do this because it doesn't
have a con_id of "fck". But, the same clock is shared by emac and mdio, so
since mdio enables the clock, emac doesn't notice or care that it did
not enable the clock itself.