On 12/03/2019 14:34, Sameer Pujar wrote: > aconnect bus driver is using pm_clk_*() for managing required clocks. With > this, clocks seem to be always ON. This happens because, the clock prepare > count is incremented in pm_clock_acquire() which is called during device > probe(). The count is decremented during remove(). Hence the prepare_count > for the clock is non-zero till the remove() gets executed. This is true for > BPMP managed clock sources, where clock enable and disable happens during > prepare and unprepare phases respectively. Thus clocks remain ON always and > that is why pm_clk_*() cannot be used on Tegra. Same comments here as for the ADMA patch. This is not completely true for all devices. > This patch replaces pm_clk_*() with devm_clk_*() and runtime PM callbacks > reflect this. System suspend/resume can use pm_runtime_force_suspend/resume You need to explain the last bit more. In fact I don't believe it belongs in this patch. Cheers Jon -- nvpublic