Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Brian Masney and committed by
Paolo Abeni
40e81974 3b5ca25e

+33 -24
+33 -24
drivers/net/ethernet/cadence/macb_main.c
··· 4822 4822 return mgmt->rate; 4823 4823 } 4824 4824 4825 - static long fu540_macb_tx_round_rate(struct clk_hw *hw, unsigned long rate, 4826 - unsigned long *parent_rate) 4825 + static int fu540_macb_tx_determine_rate(struct clk_hw *hw, 4826 + struct clk_rate_request *req) 4827 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; 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; 4844 4848 4845 - WARN_ON(rate > 125000000); 4846 - 4847 - return 125000000; 4849 + return 0; 4848 4850 } 4849 4851 4850 4852 static int fu540_macb_tx_set_rate(struct clk_hw *hw, unsigned long rate, 4851 4853 unsigned long parent_rate) 4852 4854 { 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) 4855 4864 iowrite32(1, mgmt->reg); 4856 4865 else 4857 4866 iowrite32(0, mgmt->reg); ··· 4871 4862 4872 4863 static const struct clk_ops fu540_c000_ops = { 4873 4864 .recalc_rate = fu540_macb_tx_recalc_rate, 4874 - .round_rate = fu540_macb_tx_round_rate, 4865 + .determine_rate = fu540_macb_tx_determine_rate, 4875 4866 .set_rate = fu540_macb_tx_set_rate, 4876 4867 }; 4877 4868