OMAP: clock: Add allow_idle/deny_idle support in clkops
authorRajendra Nayak <rnayak@ti.com>
Fri, 25 Feb 2011 22:49:00 +0000 (15:49 -0700)
committerPaul Walmsley <paul@pwsan.com>
Fri, 25 Feb 2011 23:10:16 +0000 (16:10 -0700)
commit58e846fe7870d0ba22f8eeb1d522fbae37e80cbf
tree2f319fd0f791ba0d067ef71817f8b0cb10541a01
parent5a2926b8805bc697d47a243dbf2f20de68abe14c
OMAP: clock: Add allow_idle/deny_idle support in clkops

On OMAP various clock nodes (dpll's, mx post dividers, interface clocks)
support hardware level autogating which can be controlled from
software.
Support such functionality by adding two new function pointer
allow_idle and deny_idle in the clkops structure.

These function pointers can be populated for any clock
node which supports hardware level autogating.

Also add 2 new functions (omap_clk_enable_autoidle_all and
omap_clk_disable_autoidle_all) which can be called from
architecture specific PM core code, if hardware level
autogating (for all supported clock nodes) is to be
enabled or disabled.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: use spinlock rather than mutex due to race; renamed functions;
 functions now return ints]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/plat-omap/clock.c
arch/arm/plat-omap/include/plat/clock.h