mirror of https://github.com/torvalds/linux.git
clk: highbank: convert from round_rate() to determine_rate()
The round_rate() clk ops is deprecated, so migrate this driver from round_rate() to determine_rate() using the Coccinelle semantic patch on the cover letter of this series. Signed-off-by: Brian Masney <bmasney@redhat.com>
This commit is contained in:
parent
2ffdd7fbf7
commit
29d6d9e529
|
|
@ -130,15 +130,17 @@ static void clk_pll_calc(unsigned long rate, unsigned long ref_freq,
|
||||||
*pdivf = divf;
|
*pdivf = divf;
|
||||||
}
|
}
|
||||||
|
|
||||||
static long clk_pll_round_rate(struct clk_hw *hwclk, unsigned long rate,
|
static int clk_pll_determine_rate(struct clk_hw *hw,
|
||||||
unsigned long *parent_rate)
|
struct clk_rate_request *req)
|
||||||
{
|
{
|
||||||
u32 divq, divf;
|
u32 divq, divf;
|
||||||
unsigned long ref_freq = *parent_rate;
|
unsigned long ref_freq = req->best_parent_rate;
|
||||||
|
|
||||||
clk_pll_calc(rate, ref_freq, &divq, &divf);
|
clk_pll_calc(req->rate, ref_freq, &divq, &divf);
|
||||||
|
|
||||||
return (ref_freq * (divf + 1)) / (1 << divq);
|
req->rate = (ref_freq * (divf + 1)) / (1 << divq);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int clk_pll_set_rate(struct clk_hw *hwclk, unsigned long rate,
|
static int clk_pll_set_rate(struct clk_hw *hwclk, unsigned long rate,
|
||||||
|
|
@ -185,7 +187,7 @@ static const struct clk_ops clk_pll_ops = {
|
||||||
.enable = clk_pll_enable,
|
.enable = clk_pll_enable,
|
||||||
.disable = clk_pll_disable,
|
.disable = clk_pll_disable,
|
||||||
.recalc_rate = clk_pll_recalc_rate,
|
.recalc_rate = clk_pll_recalc_rate,
|
||||||
.round_rate = clk_pll_round_rate,
|
.determine_rate = clk_pll_determine_rate,
|
||||||
.set_rate = clk_pll_set_rate,
|
.set_rate = clk_pll_set_rate,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -227,16 +229,18 @@ static unsigned long clk_periclk_recalc_rate(struct clk_hw *hwclk,
|
||||||
return parent_rate / div;
|
return parent_rate / div;
|
||||||
}
|
}
|
||||||
|
|
||||||
static long clk_periclk_round_rate(struct clk_hw *hwclk, unsigned long rate,
|
static int clk_periclk_determine_rate(struct clk_hw *hw,
|
||||||
unsigned long *parent_rate)
|
struct clk_rate_request *req)
|
||||||
{
|
{
|
||||||
u32 div;
|
u32 div;
|
||||||
|
|
||||||
div = *parent_rate / rate;
|
div = req->best_parent_rate / req->rate;
|
||||||
div++;
|
div++;
|
||||||
div &= ~0x1;
|
div &= ~0x1;
|
||||||
|
|
||||||
return *parent_rate / div;
|
req->rate = req->best_parent_rate / div;
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int clk_periclk_set_rate(struct clk_hw *hwclk, unsigned long rate,
|
static int clk_periclk_set_rate(struct clk_hw *hwclk, unsigned long rate,
|
||||||
|
|
@ -255,7 +259,7 @@ static int clk_periclk_set_rate(struct clk_hw *hwclk, unsigned long rate,
|
||||||
|
|
||||||
static const struct clk_ops periclk_ops = {
|
static const struct clk_ops periclk_ops = {
|
||||||
.recalc_rate = clk_periclk_recalc_rate,
|
.recalc_rate = clk_periclk_recalc_rate,
|
||||||
.round_rate = clk_periclk_round_rate,
|
.determine_rate = clk_periclk_determine_rate,
|
||||||
.set_rate = clk_periclk_set_rate,
|
.set_rate = clk_periclk_set_rate,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue