mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
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> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Link: https://patch.msgid.link/20250810-net-round-rate-v1-1-dbb237c9fe5c@redhat.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
3b5ca25ecf
commit
40e819747b
|
|
@ -4822,36 +4822,45 @@ static unsigned long fu540_macb_tx_recalc_rate(struct clk_hw *hw,
|
|||
return mgmt->rate;
|
||||
}
|
||||
|
||||
static long fu540_macb_tx_round_rate(struct clk_hw *hw, unsigned long rate,
|
||||
unsigned long *parent_rate)
|
||||
static int fu540_macb_tx_determine_rate(struct clk_hw *hw,
|
||||
struct clk_rate_request *req)
|
||||
{
|
||||
if (WARN_ON(rate < 2500000))
|
||||
return 2500000;
|
||||
else if (rate == 2500000)
|
||||
return 2500000;
|
||||
else if (WARN_ON(rate < 13750000))
|
||||
return 2500000;
|
||||
else if (WARN_ON(rate < 25000000))
|
||||
return 25000000;
|
||||
else if (rate == 25000000)
|
||||
return 25000000;
|
||||
else if (WARN_ON(rate < 75000000))
|
||||
return 25000000;
|
||||
else if (WARN_ON(rate < 125000000))
|
||||
return 125000000;
|
||||
else if (rate == 125000000)
|
||||
return 125000000;
|
||||
if (WARN_ON(req->rate < 2500000))
|
||||
req->rate = 2500000;
|
||||
else if (req->rate == 2500000)
|
||||
req->rate = 2500000;
|
||||
else if (WARN_ON(req->rate < 13750000))
|
||||
req->rate = 2500000;
|
||||
else if (WARN_ON(req->rate < 25000000))
|
||||
req->rate = 25000000;
|
||||
else if (req->rate == 25000000)
|
||||
req->rate = 25000000;
|
||||
else if (WARN_ON(req->rate < 75000000))
|
||||
req->rate = 25000000;
|
||||
else if (WARN_ON(req->rate < 125000000))
|
||||
req->rate = 125000000;
|
||||
else if (req->rate == 125000000)
|
||||
req->rate = 125000000;
|
||||
else if (WARN_ON(req->rate > 125000000))
|
||||
req->rate = 125000000;
|
||||
else
|
||||
req->rate = 125000000;
|
||||
|
||||
WARN_ON(rate > 125000000);
|
||||
|
||||
return 125000000;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int fu540_macb_tx_set_rate(struct clk_hw *hw, unsigned long rate,
|
||||
unsigned long parent_rate)
|
||||
{
|
||||
rate = fu540_macb_tx_round_rate(hw, rate, &parent_rate);
|
||||
if (rate != 125000000)
|
||||
struct clk_rate_request req;
|
||||
int ret;
|
||||
|
||||
clk_hw_init_rate_request(hw, &req, rate);
|
||||
ret = fu540_macb_tx_determine_rate(hw, &req);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
if (req.rate != 125000000)
|
||||
iowrite32(1, mgmt->reg);
|
||||
else
|
||||
iowrite32(0, mgmt->reg);
|
||||
|
|
@ -4862,7 +4871,7 @@ static int fu540_macb_tx_set_rate(struct clk_hw *hw, unsigned long rate,
|
|||
|
||||
static const struct clk_ops fu540_c000_ops = {
|
||||
.recalc_rate = fu540_macb_tx_recalc_rate,
|
||||
.round_rate = fu540_macb_tx_round_rate,
|
||||
.determine_rate = fu540_macb_tx_determine_rate,
|
||||
.set_rate = fu540_macb_tx_set_rate,
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user