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

clk: si514: 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>

+16 -8
+16 -8
drivers/clk/clk-si514.c
··· 227 227 return si514_calc_rate(&settings); 228 228 } 229 229 230 - static long si514_round_rate(struct clk_hw *hw, unsigned long rate, 231 - unsigned long *parent_rate) 230 + static int si514_determine_rate(struct clk_hw *hw, 231 + struct clk_rate_request *req) 232 232 { 233 233 struct clk_si514_muldiv settings; 234 234 int err; 235 235 236 - if (!rate) 236 + if (!req->rate) { 237 + req->rate = 0; 238 + 237 239 return 0; 240 + } 238 241 239 - err = si514_calc_muldiv(&settings, rate); 240 - if (err) 241 - return err; 242 + err = si514_calc_muldiv(&settings, req->rate); 243 + if (err) { 244 + req->rate = err; 242 245 243 - return si514_calc_rate(&settings); 246 + return 0; 247 + } 248 + 249 + req->rate = si514_calc_rate(&settings); 250 + 251 + return 0; 244 252 } 245 253 246 254 /* ··· 297 289 .unprepare = si514_unprepare, 298 290 .is_prepared = si514_is_prepared, 299 291 .recalc_rate = si514_recalc_rate, 300 - .round_rate = si514_round_rate, 292 + .determine_rate = si514_determine_rate, 301 293 .set_rate = si514_set_rate, 302 294 }; 303 295