]> Pileus Git - ~andy/linux/blobdiff - drivers/hwmon/i5k_amb.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[~andy/linux] / drivers / hwmon / i5k_amb.c
index d22f241b6a67ea8b1f2030a54a913360db615a62..a18882cc073d34f0318afea85c65ed7b813a000c 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;