Re: [PATCH] staging:iio:mxs-lradc Fix large integer implicitly truncated to unsigned warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 02, 2015 at 06:24:45PM +0000, Jonathan Cameron wrote:
> The change to using BIT(20) for one of the bit shifts resulted
> in a constant becoming unsigned. When combined with the existing
> signed constants in a couple of places, this caused possible trouble,
> hence the warnings:
> 
> drivers/staging/iio/adc/mxs-lradc.c: In function ‘mxs_lradc_complete_touch_event’:
> drivers/staging/iio/adc/mxs-lradc.c:325:5: warning: large integer implicitly truncated to unsigned type [-Woverflow]
>      (((x) << LRADC_DELAY_TRIGGER_LRADCS_OFFSET) & \
>      ^
> drivers/staging/iio/adc/mxs-lradc.c:734:7: note: in expansion of macro ‘LRADC_DELAY_TRIGGER’
>        LRADC_DELAY_TRIGGER(1 << TOUCHSCREEN_VCHANNEL1) |
>        ^
>   LD [M]  drivers/staging/iio/accel/adis16201.o
> drivers/staging/iio/adc/mxs-lradc.c: In function ‘mxs_lradc_buffer_preenable’:
> drivers/staging/iio/adc/mxs-lradc.c:322:42: warning: large integer implicitly truncated to unsigned type [-Woverflow]
>  #define LRADC_DELAY_TRIGGER_LRADCS_MASK  (0xff << 24)
>                                           ^
> drivers/staging/iio/adc/mxs-lradc.c:1308:29: note: in expansion of macro ‘LRADC_DELAY_TRIGGER_LRADCS_MASK’
>   mxs_lradc_reg_clear(lradc, LRADC_DELAY_TRIGGER_LRADCS_MASK |
>                              ^
> drivers/staging/iio/adc/mxs-lradc.c: In function ‘mxs_lradc_buffer_postdisable’:
> drivers/staging/iio/adc/mxs-lradc.c:322:42: warning: large integer implicitly truncated to unsigned type [-Woverflow]
>  #define LRADC_DELAY_TRIGGER_LRADCS_MASK  (0xff << 24)
>                                           ^
> drivers/staging/iio/adc/mxs-lradc.c:1327:29: note: in expansion of macro ‘LRADC_DELAY_TRIGGER_LRADCS_MASK’
>   mxs_lradc_reg_clear(lradc, LRADC_DELAY_TRIGGER_LRADCS_MASK |
> 
> The simplest fix is to force LRADC_DELAY_TRIGGER_LRADCS_MASK to be
> a shift of an unsigned 0xff rather than a signed one.
> 
> This is ugly considering it is the only constant in the driver which
> is so forced, but it does deal with the issue.
> 
> Fixes: e0c961bdaf27 (iio: adc: mxs-lradc: Prefer using the BIT macro)
> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
> ---
> Greg I guess the best bet might be if you pick this one up directly.
> If not I can queue it up for a pull request that will probably hit
> you on Sunday.  Don't mind either way!

I've queued it up now, no need to wait.

thanks for the fix,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux