|
|
@@ -75,7 +75,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
/*** runtime pm ***/
|
|
|
static int clk_pm_runtime_get(struct clk_core *core)
|
|
|
{
|
|
|
-@@ -1413,10 +1421,14 @@ unsigned long clk_hw_round_rate(struct c
|
|
|
+@@ -1431,10 +1439,14 @@ unsigned long clk_hw_round_rate(struct c
|
|
|
{
|
|
|
int ret;
|
|
|
struct clk_rate_request req;
|
|
|
@@ -90,7 +90,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
ret = clk_core_round_rate_nolock(hw->core, &req);
|
|
|
if (ret)
|
|
|
return 0;
|
|
|
-@@ -1437,6 +1449,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate);
|
|
|
+@@ -1455,6 +1467,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate);
|
|
|
long clk_round_rate(struct clk *clk, unsigned long rate)
|
|
|
{
|
|
|
struct clk_rate_request req;
|
|
|
@@ -98,7 +98,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
int ret;
|
|
|
|
|
|
if (!clk)
|
|
|
-@@ -1450,6 +1463,9 @@ long clk_round_rate(struct clk *clk, uns
|
|
|
+@@ -1468,6 +1481,9 @@ long clk_round_rate(struct clk *clk, uns
|
|
|
clk_core_get_boundaries(clk->core, &req.min_rate, &req.max_rate);
|
|
|
req.rate = rate;
|
|
|
|
|
|
@@ -108,7 +108,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
ret = clk_core_round_rate_nolock(clk->core, &req);
|
|
|
|
|
|
if (clk->exclusive_count)
|
|
|
-@@ -1917,6 +1933,7 @@ static struct clk_core *clk_calc_new_rat
|
|
|
+@@ -1935,6 +1951,7 @@ static struct clk_core *clk_calc_new_rat
|
|
|
unsigned long new_rate;
|
|
|
unsigned long min_rate;
|
|
|
unsigned long max_rate;
|
|
|
@@ -116,7 +116,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
int p_index = 0;
|
|
|
long ret;
|
|
|
|
|
|
-@@ -1931,6 +1948,9 @@ static struct clk_core *clk_calc_new_rat
|
|
|
+@@ -1949,6 +1966,9 @@ static struct clk_core *clk_calc_new_rat
|
|
|
|
|
|
clk_core_get_boundaries(core, &min_rate, &max_rate);
|
|
|
|
|
|
@@ -126,7 +126,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
/* find the closest rate and parent clk/rate */
|
|
|
if (clk_core_can_round(core)) {
|
|
|
struct clk_rate_request req;
|
|
|
-@@ -2135,6 +2155,7 @@ static unsigned long clk_core_req_round_
|
|
|
+@@ -2153,6 +2173,7 @@ static unsigned long clk_core_req_round_
|
|
|
{
|
|
|
int ret, cnt;
|
|
|
struct clk_rate_request req;
|
|
|
@@ -134,7 +134,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
|
|
|
lockdep_assert_held(&prepare_lock);
|
|
|
|
|
|
-@@ -2149,6 +2170,9 @@ static unsigned long clk_core_req_round_
|
|
|
+@@ -2167,6 +2188,9 @@ static unsigned long clk_core_req_round_
|
|
|
clk_core_get_boundaries(core, &req.min_rate, &req.max_rate);
|
|
|
req.rate = req_rate;
|
|
|
|
|
|
@@ -144,7 +144,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
ret = clk_core_round_rate_nolock(core, &req);
|
|
|
|
|
|
/* restore the protection */
|
|
|
-@@ -2242,6 +2266,9 @@ int clk_set_rate(struct clk *clk, unsign
|
|
|
+@@ -2260,6 +2284,9 @@ int clk_set_rate(struct clk *clk, unsign
|
|
|
|
|
|
ret = clk_core_set_rate_nolock(clk->core, rate);
|
|
|
|
|
|
@@ -154,7 +154,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
if (clk->exclusive_count)
|
|
|
clk_core_rate_protect(clk->core);
|
|
|
|
|
|
-@@ -2402,6 +2429,99 @@ int clk_set_max_rate(struct clk *clk, un
|
|
|
+@@ -2426,6 +2453,99 @@ int clk_set_max_rate(struct clk *clk, un
|
|
|
EXPORT_SYMBOL_GPL(clk_set_max_rate);
|
|
|
|
|
|
/**
|
|
|
@@ -254,7 +254,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
|
|
|
* clk_get_parent - return the parent of a clk
|
|
|
* @clk: the clk whose parent gets returned
|
|
|
*
|
|
|
-@@ -3851,6 +3971,7 @@ __clk_register(struct device *dev, struc
|
|
|
+@@ -3875,6 +3995,7 @@ __clk_register(struct device *dev, struc
|
|
|
goto fail_parents;
|
|
|
|
|
|
INIT_HLIST_HEAD(&core->clks);
|