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>
This commit is contained in:
Родитель
19a177e6fb
Коммит
bae5b53753
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче