Skip to content

Commit 67f0576

Browse files
masneybNipaLocal
authored andcommitted
net: cadence: macb: convert from round_rate() to determine_rate()
The round_rate() clk ops is deprecated, so migrate this driver from round_rate() to determine_rate(). Signed-off-by: Brian Masney <bmasney@redhat.com> Signed-off-by: NipaLocal <nipa@local>
1 parent facdfd5 commit 67f0576

File tree

1 file changed

+35
-26
lines changed

1 file changed

+35
-26
lines changed

drivers/net/ethernet/cadence/macb_main.c

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4822,36 +4822,45 @@ static unsigned long fu540_macb_tx_recalc_rate(struct clk_hw *hw,
48224822
return mgmt->rate;
48234823
}
48244824

4825-
static long fu540_macb_tx_round_rate(struct clk_hw *hw, unsigned long rate,
4826-
unsigned long *parent_rate)
4827-
{
4828-
if (WARN_ON(rate < 2500000))
4829-
return 2500000;
4830-
else if (rate == 2500000)
4831-
return 2500000;
4832-
else if (WARN_ON(rate < 13750000))
4833-
return 2500000;
4834-
else if (WARN_ON(rate < 25000000))
4835-
return 25000000;
4836-
else if (rate == 25000000)
4837-
return 25000000;
4838-
else if (WARN_ON(rate < 75000000))
4839-
return 25000000;
4840-
else if (WARN_ON(rate < 125000000))
4841-
return 125000000;
4842-
else if (rate == 125000000)
4843-
return 125000000;
4844-
4845-
WARN_ON(rate > 125000000);
4846-
4847-
return 125000000;
4825+
static int fu540_macb_tx_determine_rate(struct clk_hw *hw,
4826+
struct clk_rate_request *req)
4827+
{
4828+
if (WARN_ON(req->rate < 2500000))
4829+
req->rate = 2500000;
4830+
else if (req->rate == 2500000)
4831+
req->rate = 2500000;
4832+
else if (WARN_ON(req->rate < 13750000))
4833+
req->rate = 2500000;
4834+
else if (WARN_ON(req->rate < 25000000))
4835+
req->rate = 25000000;
4836+
else if (req->rate == 25000000)
4837+
req->rate = 25000000;
4838+
else if (WARN_ON(req->rate < 75000000))
4839+
req->rate = 25000000;
4840+
else if (WARN_ON(req->rate < 125000000))
4841+
req->rate = 125000000;
4842+
else if (req->rate == 125000000)
4843+
req->rate = 125000000;
4844+
else if (WARN_ON(req->rate > 125000000))
4845+
req->rate = 125000000;
4846+
else
4847+
req->rate = 125000000;
4848+
4849+
return 0;
48484850
}
48494851

48504852
static int fu540_macb_tx_set_rate(struct clk_hw *hw, unsigned long rate,
48514853
unsigned long parent_rate)
48524854
{
4853-
rate = fu540_macb_tx_round_rate(hw, rate, &parent_rate);
4854-
if (rate != 125000000)
4855+
struct clk_rate_request req;
4856+
int ret;
4857+
4858+
clk_hw_init_rate_request(hw, &req, rate);
4859+
ret = fu540_macb_tx_determine_rate(hw, &req);
4860+
if (ret != 0)
4861+
return ret;
4862+
4863+
if (req.rate != 125000000)
48554864
iowrite32(1, mgmt->reg);
48564865
else
48574866
iowrite32(0, mgmt->reg);
@@ -4862,7 +4871,7 @@ static int fu540_macb_tx_set_rate(struct clk_hw *hw, unsigned long rate,
48624871

48634872
static const struct clk_ops fu540_c000_ops = {
48644873
.recalc_rate = fu540_macb_tx_recalc_rate,
4865-
.round_rate = fu540_macb_tx_round_rate,
4874+
.determine_rate = fu540_macb_tx_determine_rate,
48664875
.set_rate = fu540_macb_tx_set_rate,
48674876
};
48684877

0 commit comments

Comments
 (0)