|
@@ -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;
|
|
|
|