From: Andreas Ruprecht Date: Sun, 27 Nov 2011 22:17:40 +0000 (+0100) Subject: Staging: iio/accel: Changed data type in adis16220_write_16bit to u16 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=bae5b537539f0c64843fa4b037eafe7808182677;p=linux-beck.git Staging: iio/accel: Changed data type in adis16220_write_16bit to u16 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/iio/accel/adis16220_core.c b/drivers/staging/iio/accel/adis16220_core.c index 4baf02cf96f9..d0587e237f2e 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);