• Sameer Pujar's avatar
    irqchip/gic-pm: Update driver to use clk_bulk APIs · fe00f890
    Sameer Pujar authored
    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: default avatarMohan Kumar D <mkumard@nvidia.com>
    Signed-off-by: default avatarSameer Pujar <spujar@nvidia.com>
    Reviewed-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Tested-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    fe00f890
irq-gic-pm.c 3.96 KB