Merge tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
[cascardo/linux.git] / drivers / hwmon / i5k_amb.c
index d22f241..a18882c 100644 (file)
@@ -159,8 +159,12 @@ static ssize_t store_amb_min(struct device *dev,
 {
        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
        struct i5k_amb_data *data = dev_get_drvdata(dev);
-       unsigned long temp = simple_strtoul(buf, NULL, 10) / 500;
+       unsigned long temp;
+       int ret = kstrtoul(buf, 10, &temp);
+       if (ret < 0)
+               return ret;
 
+       temp = temp / 500;
        if (temp > 255)
                temp = 255;
 
@@ -175,8 +179,12 @@ static ssize_t store_amb_mid(struct device *dev,
 {
        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
        struct i5k_amb_data *data = dev_get_drvdata(dev);
-       unsigned long temp = simple_strtoul(buf, NULL, 10) / 500;
+       unsigned long temp;
+       int ret = kstrtoul(buf, 10, &temp);
+       if (ret < 0)
+               return ret;
 
+       temp = temp / 500;
        if (temp > 255)
                temp = 255;
 
@@ -191,8 +199,12 @@ static ssize_t store_amb_max(struct device *dev,
 {
        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
        struct i5k_amb_data *data = dev_get_drvdata(dev);
-       unsigned long temp = simple_strtoul(buf, NULL, 10) / 500;
+       unsigned long temp;
+       int ret = kstrtoul(buf, 10, &temp);
+       if (ret < 0)
+               return ret;
 
+       temp = temp / 500;
        if (temp > 255)
                temp = 255;