diff options
author | Heiko Stübner <heiko@sntech.de> | 2014-08-14 23:00:26 +0200 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2014-09-02 15:03:18 -0700 |
commit | fe94f974e9c8b820640a5873d81589ab67380516 (patch) | |
tree | ff4719b1c22c714be7734b914e5b264df4c7b768 /drivers/clk/rockchip/clk.c | |
parent | 1a4b1819950a278e44dd2e28c5cdb7d8b804dd73 (diff) |
clk: rockchip: protect critical clocks from getting disabled
The clock-tree contains clocks that should never get disabled automatically.
One example are the base ACLKs, the base supplies for all peripherals.
Therefore add a structure similar to the sunxi clock-tree to protect these
special clocks from being disabled.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Doug Anderson <dianders@chromium.org>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Diffstat (limited to 'drivers/clk/rockchip/clk.c')
-rw-r--r-- | drivers/clk/rockchip/clk.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/clk/rockchip/clk.c b/drivers/clk/rockchip/clk.c index 5c9abd7bdc6a..d9c6db2151ba 100644 --- a/drivers/clk/rockchip/clk.c +++ b/drivers/clk/rockchip/clk.c @@ -296,3 +296,16 @@ void __init rockchip_clk_register_branches( rockchip_clk_add_lookup(clk, list->id); } } + +void __init rockchip_clk_protect_critical(const char *clocks[], int nclocks) +{ + int i; + + /* Protect the clocks that needs to stay on */ + for (i = 0; i < nclocks; i++) { + struct clk *clk = __clk_lookup(clocks[i]); + + if (clk) + clk_prepare_enable(clk); + } +} |