diff options
author | Alexandre Bailon <abailon@baylibre.com> | 2016-12-09 17:59:32 +0100 |
---|---|---|
committer | Sekhar Nori <nsekhar@ti.com> | 2017-01-02 11:40:42 +0100 |
commit | 48cd30b49527f04078ef7de217cc188157f76ba6 (patch) | |
tree | 062d3553ca1d5467bdf92717a5c23c8848c070a9 /arch/arm/mach-davinci/clock.h | |
parent | ARM: davinci: da850: don't add emac clock to lookup table twice (diff) | |
download | linux-48cd30b49527f04078ef7de217cc188157f76ba6.tar.xz linux-48cd30b49527f04078ef7de217cc188157f76ba6.zip |
ARM: davinci: Make __clk_{enable,disable} functions public
In some cases, there is a need to enable a clock as part of
clock enable callback of a different clock. For example, USB
2.0 PHY clock enable requires USB 2.0 clock to be enabled.
In this case, it is safe to instead call __clk_enable()
since the clock framework lock is already taken. Calling
clk_enable() causes recursive locking error.
A similar case arises in the clock disable path.
To enable such usage, make __clk_{enable,disable} functions
publicly available outside of clock.c. Also, call them
davinci_clk_{enable|disable} now to be consistent with how
other davinci-specific clock functions are named.
Note that these functions are not exported to drivers. They
are meant for usage in platform specific clock management
code.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
Suggested-by: David Lechner <david@lechnology.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Diffstat (limited to 'arch/arm/mach-davinci/clock.h')
-rw-r--r-- | arch/arm/mach-davinci/clock.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/clock.h b/arch/arm/mach-davinci/clock.h index e2a5437a1aee..fa2b83752e03 100644 --- a/arch/arm/mach-davinci/clock.h +++ b/arch/arm/mach-davinci/clock.h @@ -132,6 +132,8 @@ int davinci_set_sysclk_rate(struct clk *clk, unsigned long rate); int davinci_set_refclk_rate(unsigned long rate); int davinci_simple_set_rate(struct clk *clk, unsigned long rate); int davinci_clk_reset(struct clk *clk, bool reset); +void davinci_clk_enable(struct clk *clk); +void davinci_clk_disable(struct clk *clk); extern struct platform_device davinci_wdt_device; extern void davinci_watchdog_reset(struct platform_device *); |