diff options
author | Andreas Ruprecht <rupran@einserver.de> | 2011-11-27 23:17:40 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-29 10:12:06 +0900 |
commit | bae5b537539f0c64843fa4b037eafe7808182677 (patch) | |
tree | dd2c40649bb293e872a41d0e4d4b22467dade425 | |
parent | 19a177e6fb097c2a0dd94aeeb2805f0c04a4185f (diff) | |
download | op-kernel-dev-bae5b537539f0c64843fa4b037eafe7808182677.zip op-kernel-dev-bae5b537539f0c64843fa4b037eafe7808182677.tar.gz |
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 <rupran@einserver.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | 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 4baf02c..d0587e2 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); |