diff options
| author | Paul Walmsley <paul@pwsan.com> | 2012-08-03 09:21:10 -0600 | 
|---|---|---|
| committer | Paul Walmsley <paul@pwsan.com> | 2012-09-12 02:57:04 -0600 | 
| commit | a032d33b65c89a781c871fd1def595fa6a69b52a (patch) | |
| tree | 261f10d449f72e6b30f573217e806ff649057304 /arch/arm | |
| parent | 55d512e245bc7699a8800e23df1a24195dd08217 (diff) | |
| download | olio-linux-3.10-a032d33b65c89a781c871fd1def595fa6a69b52a.tar.xz olio-linux-3.10-a032d33b65c89a781c871fd1def595fa6a69b52a.zip  | |
ARM: OMAP: clean up some smatch warnings, fix some printk(KERN_ERR ...
Resolve the following warnings from smatch:
arch/arm/mach-omap2/gpmc.c:282 gpmc_cs_set_timings() info: why not propagate 'div' from gpmc_cs_calc_divider() instead of -1?
arch/arm/mach-omap2/serial.c:328 omap_serial_init_port() error: 'pdev' dereferencing possible ERR_PTR()
arch/arm/mach-omap2/timer.c:213 omap2_gp_clockevent_init() Error invalid range 4096 to -1
arch/arm/mach-omap2/gpio.c:63 omap2_gpio_dev_init() warn: possible memory leak of 'pdata'
arch/arm/mach-omap2/omap_hwmod.c:1478 _assert_hardreset() warn: assigning -22 to unsigned variable 'ret'
arch/arm/mach-omap2/omap_hwmod.c:1487 _assert_hardreset() warn: 4294963201 is more than 255 (max '(ret)' can be) so this is always the same.
arch/arm/mach-omap2/omap_hwmod.c:1545 _read_hardreset() warn: assigning -22 to unsigned variable 'ret'
arch/arm/mach-omap2/omap_hwmod.c:1554 _read_hardreset() warn: 4294963201 is more than 255 (max '(ret)' can be) so this is always the same.
arch/arm/mach-omap2/dpll3xxx.c:629 omap3_clkoutx2_recalc() error: we previously assumed 'pclk' could be null (see line 627)
arch/arm/mach-omap2/board-n8x0.c:422 n8x0_mmc_late_init() Error invalid range 14 to 13
arch/arm/mach-omap1/leds-h2p2-debug.c:71 h2p2_dbg_leds_event() error: potentially derefencing uninitialized 'fpga'.
arch/arm/plat-omap/mux.c:79 omap_cfg_reg() Error invalid range 4096 to -1
Thanks to Tony Lindgren <tony@atomide.com> for pointing out that BUG()
can be disabled.  The changes in the first version that removed the
subsequent return() after BUG() states have been dropped.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/mach-omap1/leds-h2p2-debug.c | 12 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/dpll3xxx.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/gpio.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/gpmc.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 12 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/serial.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/timer.c | 2 | ||||
| -rw-r--r-- | arch/arm/plat-omap/mux.c | 2 | 
8 files changed, 27 insertions, 18 deletions
diff --git a/arch/arm/mach-omap1/leds-h2p2-debug.c b/arch/arm/mach-omap1/leds-h2p2-debug.c index f6b14a14a95..78acaa9f4fd 100644 --- a/arch/arm/mach-omap1/leds-h2p2-debug.c +++ b/arch/arm/mach-omap1/leds-h2p2-debug.c @@ -68,11 +68,13 @@ void h2p2_dbg_leds_event(led_event_t evt)  			gpio_set_value(GPIO_IDLE, 0);  		} -		__raw_writew(~0, &fpga->leds);  		led_state &= ~LED_STATE_ENABLED; -		if (evt == led_halted) { -			iounmap(fpga); -			fpga = NULL; +		if (fpga) { +			__raw_writew(~0, &fpga->leds); +			if (evt == led_halted) { +				iounmap(fpga); +				fpga = NULL; +			}  		}  		goto done; @@ -158,7 +160,7 @@ void h2p2_dbg_leds_event(led_event_t evt)  	/*  	 *  Actually burn the LEDs  	 */ -	if (led_state & LED_STATE_ENABLED) +	if (led_state & LED_STATE_ENABLED && fpga)  		__raw_writew(~hw_led_state, &fpga->leds);  done: diff --git a/arch/arm/mach-omap2/dpll3xxx.c b/arch/arm/mach-omap2/dpll3xxx.c index b9c8d2f6a81..4d0e645cab5 100644 --- a/arch/arm/mach-omap2/dpll3xxx.c +++ b/arch/arm/mach-omap2/dpll3xxx.c @@ -623,8 +623,11 @@ unsigned long omap3_clkoutx2_recalc(struct clk *clk)  	while (pclk && !pclk->dpll_data)  		pclk = pclk->parent; -	/* clk does not have a DPLL as a parent? */ -	WARN_ON(!pclk); +	/* clk does not have a DPLL as a parent?  error in the clock data */ +	if (!pclk) { +		WARN_ON(1); +		return 0; +	}  	dd = pclk->dpll_data; diff --git a/arch/arm/mach-omap2/gpio.c b/arch/arm/mach-omap2/gpio.c index 9ad7d489b0d..30a3a94ab1e 100644 --- a/arch/arm/mach-omap2/gpio.c +++ b/arch/arm/mach-omap2/gpio.c @@ -60,6 +60,7 @@ static int __init omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)  	pdata->regs = kzalloc(sizeof(struct omap_gpio_reg_offs), GFP_KERNEL);  	if (!pdata->regs) {  		pr_err("gpio%d: Memory allocation failed\n", id); +		kfree(pdata);  		return -ENOMEM;  	} diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index b2b5759ab0f..f682e071c66 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c @@ -279,7 +279,7 @@ int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t)  	div = gpmc_cs_calc_divider(cs, t->sync_clk);  	if (div < 0) -		return -1; +		return div;  	GPMC_SET_ONE(GPMC_CS_CONFIG2,  0,  3, cs_on);  	GPMC_SET_ONE(GPMC_CS_CONFIG2,  8, 12, cs_rd_off); diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 6ca8e519968..bd69eaefcc9 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -1438,8 +1438,8 @@ static int _init_clocks(struct omap_hwmod *oh, void *data)   * Return the bit position of the reset line that match the   * input name. Return -ENOENT if not found.   */ -static u8 _lookup_hardreset(struct omap_hwmod *oh, const char *name, -			    struct omap_hwmod_rst_info *ohri) +static int _lookup_hardreset(struct omap_hwmod *oh, const char *name, +			     struct omap_hwmod_rst_info *ohri)  {  	int i; @@ -1475,7 +1475,7 @@ static u8 _lookup_hardreset(struct omap_hwmod *oh, const char *name,  static int _assert_hardreset(struct omap_hwmod *oh, const char *name)  {  	struct omap_hwmod_rst_info ohri; -	u8 ret = -EINVAL; +	int ret = -EINVAL;  	if (!oh)  		return -EINVAL; @@ -1484,7 +1484,7 @@ static int _assert_hardreset(struct omap_hwmod *oh, const char *name)  		return -ENOSYS;  	ret = _lookup_hardreset(oh, name, &ohri); -	if (IS_ERR_VALUE(ret)) +	if (ret < 0)  		return ret;  	ret = soc_ops.assert_hardreset(oh, &ohri); @@ -1542,7 +1542,7 @@ static int _deassert_hardreset(struct omap_hwmod *oh, const char *name)  static int _read_hardreset(struct omap_hwmod *oh, const char *name)  {  	struct omap_hwmod_rst_info ohri; -	u8 ret = -EINVAL; +	int ret = -EINVAL;  	if (!oh)  		return -EINVAL; @@ -1551,7 +1551,7 @@ static int _read_hardreset(struct omap_hwmod *oh, const char *name)  		return -ENOSYS;  	ret = _lookup_hardreset(oh, name, &ohri); -	if (IS_ERR_VALUE(ret)) +	if (ret < 0)  		return ret;  	return soc_ops.is_hardreset_asserted(oh, &ohri); diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index c1b93c752d7..0cc79d34c9f 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c @@ -313,8 +313,11 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,  	pdev = omap_device_build(name, uart->num, oh, pdata, pdata_size,  				 NULL, 0, false); -	WARN(IS_ERR(pdev), "Could not build omap_device for %s: %s.\n", -	     name, oh->name); +	if (IS_ERR(pdev)) { +		WARN(1, "Could not build omap_device for %s: %s.\n", name, +		     oh->name); +		return; +	}  	if ((console_uart_id == bdata->id) && no_console_suspend)  		omap_device_disable_idle_on_suspend(pdev); diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index 2ff6d41ec6c..7e688c7c85b 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c @@ -211,7 +211,7 @@ static void __init omap2_gp_clockevent_init(int gptimer_id,  	res = omap_dm_timer_init_one(&clkev, gptimer_id, fck_source);  	BUG_ON(res); -	omap2_gp_timer_irq.dev_id = (void *)&clkev; +	omap2_gp_timer_irq.dev_id = &clkev;  	setup_irq(clkev.irq, &omap2_gp_timer_irq);  	__omap_dm_timer_int_enable(&clkev, OMAP_TIMER_INT_OVERFLOW); diff --git a/arch/arm/plat-omap/mux.c b/arch/arm/plat-omap/mux.c index cff8712122b..fd0d3aad00e 100644 --- a/arch/arm/plat-omap/mux.c +++ b/arch/arm/plat-omap/mux.c @@ -76,7 +76,7 @@ int __init_or_module omap_cfg_reg(const unsigned long index)  		return -ENODEV;  	} -	reg = (struct pin_config *)&mux_cfg->pins[index]; +	reg = &mux_cfg->pins[index];  	if (!mux_cfg->cfg_reg)  		return -ENODEV;  |