Staging: iio/accel: Changed data type for val to unsigned long in write_frequency
authorAndreas Ruprecht <rupran@einserver.de>
Sun, 27 Nov 2011 22:17:41 +0000 (23:17 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 29 Nov 2011 01:12:06 +0000 (10:12 +0900)
In lis3102dq_write_frequency() we used a long variable to store the
value parsed from the char* buffer buf, as there only was a
strict_strtol() function to parse values.
Now we have got kstrto* which allows us to convert to the right data
type in most cases.

In this particular function we want to write a frequency value, and it
doesn't make sense to allow negative values here (as Dan Carpenter
pointed out in a previous email).
This means we can now parse the value into an unsigned long and get an
error for invalid (e.g. negative) values.

Signed-off-by: Andreas Ruprecht <rupran@einserver.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/iio/accel/lis3l02dq_core.c

index 4dbe4c7d3617d1e85367d76d8ec3773a3888d36d..5da40b33186a56977141a06791a9a0e4d263f594 100644 (file)
@@ -332,11 +332,11 @@ static ssize_t lis3l02dq_write_frequency(struct device *dev,
                                         size_t len)
 {
        struct iio_dev *indio_dev = dev_get_drvdata(dev);
-       long val;
+       unsigned long val;
        int ret;
        u8 t;
 
-       ret = strict_strtol(buf, 10, &val);
+       ret = kstrtoul(buf, 10, &val);
        if (ret)
                return ret;