diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2015-06-26 01:55:14 +0300 |
---|---|---|
committer | Michael Turquette <mturquette@baylibre.com> | 2015-08-25 02:48:42 +0300 |
commit | 1a9c069cb2d28bb72fefee509e0d26f92d7f7166 (patch) | |
tree | 79d1002ccc0982637da9404aa5f45e0302240729 /include/linux | |
parent | bea047e075784471461c4338d0ffa45cb1378d67 (diff) | |
download | linux-1a9c069cb2d28bb72fefee509e0d26f92d7f7166.tar.xz |
clk: Add clk_hw_*() APIs for use by clk providers
clk providers shouldn't need to use the consumer APIs (clk.h).
Add provider APIs to replace the __clk_*() APIs that take a
struct clk_hw as their first argument instead of a struct clk.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/clk-provider.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 06a56e55cfaf..be88dae0c3eb 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -607,14 +607,22 @@ void devm_clk_unregister(struct device *dev, struct clk *clk); /* helper functions */ const char *__clk_get_name(struct clk *clk); +const char *clk_hw_get_name(struct clk_hw *hw); struct clk_hw *__clk_get_hw(struct clk *clk); u8 __clk_get_num_parents(struct clk *clk); +unsigned int clk_hw_get_num_parents(struct clk_hw *hw); struct clk *__clk_get_parent(struct clk *clk); +struct clk_hw *clk_hw_get_parent(struct clk_hw *hw); struct clk *clk_get_parent_by_index(struct clk *clk, u8 index); +struct clk_hw *clk_hw_get_parent_by_index(struct clk_hw *hw, + unsigned int index); unsigned int __clk_get_enable_count(struct clk *clk); unsigned long __clk_get_rate(struct clk *clk); +unsigned long clk_hw_get_rate(struct clk_hw *hw); unsigned long __clk_get_flags(struct clk *clk); +unsigned long clk_hw_get_flags(struct clk_hw *hw); bool __clk_is_prepared(struct clk *clk); +bool clk_hw_is_prepared(struct clk_hw *hw); bool __clk_is_enabled(struct clk *clk); struct clk *__clk_lookup(const char *name); int __clk_mux_determine_rate(struct clk_hw *hw, @@ -636,6 +644,7 @@ static inline void __clk_hw_set_clk(struct clk_hw *dst, struct clk_hw *src) * FIXME clock api without lock protection */ unsigned long __clk_round_rate(struct clk *clk, unsigned long rate); +unsigned long clk_hw_round_rate(struct clk_hw *hw, unsigned long rate); struct of_device_id; |