On 22/03/2019 12:13, Sameer Pujar wrote: > gic-pm driver is using pm-clk framework to manage clock resources, where > clocks remain always ON. This happens on Tegra devices which use BPMP > co-processor to manage the clocks. Calls to BPMP are always blocking and > hence it is necessary to enable/disable clocks during prepare/unprepare > phase respectively. When pm-clk is used, prepare count of clock is not > balanced until pm_clk_remove() happens. Clock is prepared in the driver > probe() and thus prepare count of clock remains non-zero, which in turn > keeps clock ON always. > > Please note that above mentioned behavior is specific to Tegra devices > using BPMP for clock management and this should not be seen on other > devices. Though this patch uses clk_bulk APIs to address the mentioned > behavior, this works fine for all devices. > > To simplify gic_get_clocks() API is removed and instead probe can do > necessary setup. > > Suggested-by: Mohan Kumar D <mkumard@xxxxxxxxxx> > Signed-off-by: Sameer Pujar <spujar@xxxxxxxxxx> Reviewed-by: Jon Hunter <jonathanh@xxxxxxxxxx> Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx> Cheers Jon -- nvpublic