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

clk: ti: Fix some errors found by static checkers

drivers/clk/ti/clk-814x.c:34:12: warning: symbol 'dm814x_adpll_early_init' was not declared. Should it be static?
drivers/clk/ti/clk-814x.c:58:12: warning: symbol 'dm814x_adpll_enable_init_clocks' was not declared. Should it be static?
drivers/clk/ti/adpll.c:465 ti_adpll_recalc_rate() warn: should '__readw(d->regs + 20) << 18' be a 64 bit type?
drivers/clk/ti/adpll.c:945 ti_adpll_probe() error: we previously assumed 'd->clocks' could be null (see line 921)

The last one looks like a real bug because we don't return an
error on allocation failure.

Cc: Tero Kristo <t-kristo@ti.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

authored by

Stephen Boyd and committed by
Michael Turquette
8a8b6eb7 c2ee9bdc

+4 -4
+2 -2
drivers/clk/ti/adpll.c
··· 462 462 spin_lock_irqsave(&d->lock, flags); 463 463 frac_m = readl_relaxed(d->regs + ADPLL_FRACDIV_OFFSET); 464 464 frac_m &= ADPLL_FRACDIV_FRACTIONALM_MASK; 465 - rate = readw_relaxed(d->regs + ADPLL_MN2DIV_OFFSET) << 18; 465 + rate = (u64)readw_relaxed(d->regs + ADPLL_MN2DIV_OFFSET) << 18; 466 466 rate += frac_m; 467 467 rate *= parent_rate; 468 468 divider = (readw_relaxed(d->regs + ADPLL_M2NDIV_OFFSET) + 1) << 18; ··· 919 919 TI_ADPLL_NR_CLOCKS, 920 920 GFP_KERNEL); 921 921 if (!d->clocks) 922 - goto free; 922 + return -ENOMEM; 923 923 924 924 err = ti_adpll_init_dco(d); 925 925 if (err) {
+2 -2
drivers/clk/ti/clk-814x.c
··· 31 31 32 32 static bool timer_clocks_initialized; 33 33 34 - int __init dm814x_adpll_early_init(void) 34 + static int __init dm814x_adpll_early_init(void) 35 35 { 36 36 struct device_node *np; 37 37 ··· 55 55 "pll290clkout", /* DDR 481c5290.adpll.clkout */ 56 56 }; 57 57 58 - int __init dm814x_adpll_enable_init_clocks(void) 58 + static int __init dm814x_adpll_enable_init_clocks(void) 59 59 { 60 60 int i, err; 61 61