mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
clk: Introduce the clk_hw_get_rate_range function
Some clock providers are hand-crafting their clk_rate_request, and need to figure out the current boundaries of their clk_hw to fill it properly. Let's create such a function for clock providers. Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220816112530.1837489-24-maxime@cerno.tech Tested-by: Linux Kernel Functional Testing <lkft@linaro.org> Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
parent
b46fd8dbe8
commit
2539932534
@ -684,6 +684,22 @@ static void clk_core_get_boundaries(struct clk_core *core,
|
||||
*max_rate = min(*max_rate, clk_user->max_rate);
|
||||
}
|
||||
|
||||
/*
|
||||
* clk_hw_get_rate_range() - returns the clock rate range for a hw clk
|
||||
* @hw: the hw clk we want to get the range from
|
||||
* @min_rate: pointer to the variable that will hold the minimum
|
||||
* @max_rate: pointer to the variable that will hold the maximum
|
||||
*
|
||||
* Fills the @min_rate and @max_rate variables with the minimum and
|
||||
* maximum that clock can reach.
|
||||
*/
|
||||
void clk_hw_get_rate_range(struct clk_hw *hw, unsigned long *min_rate,
|
||||
unsigned long *max_rate)
|
||||
{
|
||||
clk_core_get_boundaries(hw->core, min_rate, max_rate);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(clk_hw_get_rate_range);
|
||||
|
||||
static bool clk_core_check_boundaries(struct clk_core *core,
|
||||
unsigned long min_rate,
|
||||
unsigned long max_rate)
|
||||
|
@ -1267,6 +1267,8 @@ int clk_mux_determine_rate_flags(struct clk_hw *hw,
|
||||
struct clk_rate_request *req,
|
||||
unsigned long flags);
|
||||
void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent);
|
||||
void clk_hw_get_rate_range(struct clk_hw *hw, unsigned long *min_rate,
|
||||
unsigned long *max_rate);
|
||||
void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate,
|
||||
unsigned long max_rate);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user