[PATCH] Staging: iio/accel: Improvements to data types when using kstrto*

Andreas Ruprecht rupran at einserver.de
Wed Nov 23 20:47:36 UTC 2011


As was pointed out by Dan, some data types could be changed from long (as we only had strict_strtol here before) to a smaller type by using the corresponding kstrto* functions.

I'm not sure about the sca_3000_set_free_fall_mode() function, as to what could be in buf. From my interpretation it's only a matter of a 0/1 decision, but I wanted to have someone else give their opinion on that before changing it.
The same probably applies to sca_3000_set_ring_int() in the file sca3000_ring.

Regards,
Andreas Ruprecht

Signed-off-by: Andreas Ruprecht <rupran at einserver.de>
---
 drivers/staging/iio/accel/adis16220_core.c |    4 ++--
 drivers/staging/iio/accel/lis3l02dq_core.c |    4 ++--
 drivers/staging/iio/accel/sca3000_core.c   |    9 ++++-----
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/iio/accel/adis16220_core.c b/drivers/staging/iio/accel/adis16220_core.c
index 9966b64..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 = kstrtol(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);
diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c
index c466057..40c940f 100644
--- a/drivers/staging/iio/accel/lis3l02dq_core.c
+++ b/drivers/staging/iio/accel/lis3l02dq_core.c
@@ -331,11 +331,11 @@ static ssize_t lis3l02dq_write_frequency(struct device *dev,
 					 size_t len)
 {
 	struct iio_dev *indio_dev = dev_get_drvdata(dev);
-	long val;
+	u16 val;
 	int ret;
 	u8 t;
 
-	ret = kstrtol(buf, 10, &val);
+	ret = kstrtou16(buf, 10, &val);
 	if (ret)
 		return ret;
 
diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c
index 6a2721b..1455990 100644
--- a/drivers/staging/iio/accel/sca3000_core.c
+++ b/drivers/staging/iio/accel/sca3000_core.c
@@ -382,10 +382,10 @@ sca3000_store_measurement_mode(struct device *dev,
 	struct sca3000_state *st = iio_priv(indio_dev);
 	int ret;
 	int mask = 0x03;
-	long val;
+	int val;
 
 	mutex_lock(&st->lock);
-	ret = kstrtol(buf, 10, &val);
+	ret = kstrtoint(buf, 10, &val);
 	if (ret)
 		goto error_ret;
 	ret = sca3000_read_data_short(st, SCA3000_REG_ADDR_MODE, 1);
@@ -614,10 +614,9 @@ static ssize_t sca3000_set_frequency(struct device *dev,
 	struct iio_dev *indio_dev = dev_get_drvdata(dev);
 	struct sca3000_state *st = iio_priv(indio_dev);
 	int ret, base_freq = 0;
-	int ctrlval;
-	long val;
+	int ctrlval, val;
 
-	ret = kstrtol(buf, 10, &val);
+	ret = kstrtoint(buf, 10, &val);
 	if (ret)
 		return ret;
 
-- 
1.7.5.4




More information about the devel mailing list