[PATCH 1/3] Staging: iio/accel: Changed data type in adis16220_write_16bit to u16

Jonathan Cameron jic23 at kernel.org
Thu Dec 1 21:05:57 UTC 2011


On 11/27/2011 10:17 PM, Andreas Ruprecht wrote:
> In the adis16220_write_16bit() function we used a long value to store
> parsed data from the char* buffer buf.
> The called function to actually write the data,
> adis16220_spi_write_reg_16(), takes a u16 value as a parameter, so up
> to now a value larger than u16 was silently ignored as it was only
> truncated when passing the parameter.
> Now this function will only accept values fitting into a u16.
> 
> Additionally the parsing function was changed to overcome the now
> obsolete strict_strtol() function.
> 
> Signed-off-by: Andreas Ruprecht <rupran at einserver.de>
Acked-by: Jonathan Cameron <jic23 at kernel.org>
> ---
>  drivers/staging/iio/accel/adis16220_core.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/iio/accel/adis16220_core.c b/drivers/staging/iio/accel/adis16220_core.c
> index 6d4503d..bb72eb3 100644
> --- a/drivers/staging/iio/accel/adis16220_core.c
> +++ b/drivers/staging/iio/accel/adis16220_core.c
> @@ -167,9 +167,9 @@ static ssize_t adis16220_write_16bit(struct device *dev,
>  	struct iio_dev *indio_dev = dev_get_drvdata(dev);
>  	struct iio_dev_attr *this_attr = to_iio_dev_attr(attr);
>  	int ret;
> -	long val;
> +	u16 val;
>  
> -	ret = strict_strtol(buf, 10, &val);
> +	ret = kstrtou16(buf, 10, &val);
>  	if (ret)
>  		goto error_ret;
>  	ret = adis16220_spi_write_reg_16(indio_dev, this_attr->address, val);




More information about the devel mailing list