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

clk: mxs: ref: 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>

+9 -7
+9 -7
drivers/clk/mxs/clk-ref.c
··· 57 57 return tmp; 58 58 } 59 59 60 - static long clk_ref_round_rate(struct clk_hw *hw, unsigned long rate, 61 - unsigned long *prate) 60 + static int clk_ref_determine_rate(struct clk_hw *hw, 61 + struct clk_rate_request *req) 62 62 { 63 - unsigned long parent_rate = *prate; 63 + unsigned long parent_rate = req->best_parent_rate; 64 64 u64 tmp = parent_rate; 65 65 u8 frac; 66 66 67 - tmp = tmp * 18 + rate / 2; 68 - do_div(tmp, rate); 67 + tmp = tmp * 18 + req->rate / 2; 68 + do_div(tmp, req->rate); 69 69 frac = clamp(tmp, 18, 35); 70 70 71 71 tmp = parent_rate; 72 72 tmp *= 18; 73 73 do_div(tmp, frac); 74 74 75 - return tmp; 75 + req->rate = tmp; 76 + 77 + return 0; 76 78 } 77 79 78 80 static int clk_ref_set_rate(struct clk_hw *hw, unsigned long rate, ··· 106 104 .enable = clk_ref_enable, 107 105 .disable = clk_ref_disable, 108 106 .recalc_rate = clk_ref_recalc_rate, 109 - .round_rate = clk_ref_round_rate, 107 + .determine_rate = clk_ref_determine_rate, 110 108 .set_rate = clk_ref_set_rate, 111 109 }; 112 110