[PATCH 1/5] iio: at91: use adc_clk_khz to make the calculation not easy to large than u32.

Maxime Ripard maxime.ripard at free-electrons.com
Mon Jul 15 08:52:13 EDT 2013

Hi Josh,

On Sun, Jul 14, 2013 at 04:04:25PM +0800, Josh Wu wrote:
> for example, if adc_clk is 20Mhz and start-up time set as larger than 215us.
> then the calculation "st->startup_time * adc_clk_khz" will out of u32.
> In this patch, it will use khz unit for adc_clk, that avoids above problem.
> Signed-off-by: Josh Wu <josh.wu at atmel.com>

Maybe we can have a slightly better commit log here, like:

iio: at91: Fix adc_clk overflow

The adc_clk variable is currently defined using a 32-bits unsigned
integer, which will overflow under some very valid range of operations.

Such overflow will occur if, for example, the parent clock is set to a
20MHz frequency and the ADC startup time is larger than 215ns.

To fix this, introduce an intermediate variable holding the clock rate
in kHz.


Or something like that.

For the patch itself, I'm happy about it. You can add my Acked-by.


Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130715/b37339f0/attachment.sig>

More information about the linux-arm-kernel mailing list