aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/adt7462.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hwmon/adt7462.c')
-rw-r--r--drivers/hwmon/adt7462.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/hwmon/adt7462.c b/drivers/hwmon/adt7462.c
index 66107b4dc12a..1852f27bac51 100644
--- a/drivers/hwmon/adt7462.c
+++ b/drivers/hwmon/adt7462.c
@@ -204,8 +204,6 @@ I2C_CLIENT_INSMOD_1(adt7462);
204#define MASK_AND_SHIFT(value, prefix) \ 204#define MASK_AND_SHIFT(value, prefix) \
205 (((value) & prefix##_MASK) >> prefix##_SHIFT) 205 (((value) & prefix##_MASK) >> prefix##_SHIFT)
206 206
207#define ROUND_DIV(x, divisor) (((x) + ((divisor) / 2)) / (divisor))
208
209struct adt7462_data { 207struct adt7462_data {
210 struct device *hwmon_dev; 208 struct device *hwmon_dev;
211 struct attribute_group attrs; 209 struct attribute_group attrs;
@@ -840,7 +838,7 @@ static ssize_t set_temp_min(struct device *dev,
840 if (strict_strtol(buf, 10, &temp) || !temp_enabled(data, attr->index)) 838 if (strict_strtol(buf, 10, &temp) || !temp_enabled(data, attr->index))
841 return -EINVAL; 839 return -EINVAL;
842 840
843 temp = ROUND_DIV(temp, 1000) + 64; 841 temp = DIV_ROUND_CLOSEST(temp, 1000) + 64;
844 temp = SENSORS_LIMIT(temp, 0, 255); 842 temp = SENSORS_LIMIT(temp, 0, 255);
845 843
846 mutex_lock(&data->lock); 844 mutex_lock(&data->lock);
@@ -878,7 +876,7 @@ static ssize_t set_temp_max(struct device *dev,
878 if (strict_strtol(buf, 10, &temp) || !temp_enabled(data, attr->index)) 876 if (strict_strtol(buf, 10, &temp) || !temp_enabled(data, attr->index))
879 return -EINVAL; 877 return -EINVAL;
880 878
881 temp = ROUND_DIV(temp, 1000) + 64; 879 temp = DIV_ROUND_CLOSEST(temp, 1000) + 64;
882 temp = SENSORS_LIMIT(temp, 0, 255); 880 temp = SENSORS_LIMIT(temp, 0, 255);
883 881
884 mutex_lock(&data->lock); 882 mutex_lock(&data->lock);
@@ -943,7 +941,7 @@ static ssize_t set_volt_max(struct device *dev,
943 return -EINVAL; 941 return -EINVAL;
944 942
945 temp *= 1000; /* convert mV to uV */ 943 temp *= 1000; /* convert mV to uV */
946 temp = ROUND_DIV(temp, x); 944 temp = DIV_ROUND_CLOSEST(temp, x);
947 temp = SENSORS_LIMIT(temp, 0, 255); 945 temp = SENSORS_LIMIT(temp, 0, 255);
948 946
949 mutex_lock(&data->lock); 947 mutex_lock(&data->lock);
@@ -985,7 +983,7 @@ static ssize_t set_volt_min(struct device *dev,
985 return -EINVAL; 983 return -EINVAL;
986 984
987 temp *= 1000; /* convert mV to uV */ 985 temp *= 1000; /* convert mV to uV */
988 temp = ROUND_DIV(temp, x); 986 temp = DIV_ROUND_CLOSEST(temp, x);
989 temp = SENSORS_LIMIT(temp, 0, 255); 987 temp = SENSORS_LIMIT(temp, 0, 255);
990 988
991 mutex_lock(&data->lock); 989 mutex_lock(&data->lock);
@@ -1250,7 +1248,7 @@ static ssize_t set_pwm_hyst(struct device *dev,
1250 if (strict_strtol(buf, 10, &temp)) 1248 if (strict_strtol(buf, 10, &temp))
1251 return -EINVAL; 1249 return -EINVAL;
1252 1250
1253 temp = ROUND_DIV(temp, 1000); 1251 temp = DIV_ROUND_CLOSEST(temp, 1000);
1254 temp = SENSORS_LIMIT(temp, 0, 15); 1252 temp = SENSORS_LIMIT(temp, 0, 15);
1255 1253
1256 /* package things up */ 1254 /* package things up */
@@ -1337,7 +1335,7 @@ static ssize_t set_pwm_tmin(struct device *dev,
1337 if (strict_strtol(buf, 10, &temp)) 1335 if (strict_strtol(buf, 10, &temp))
1338 return -EINVAL; 1336 return -EINVAL;
1339 1337
1340 temp = ROUND_DIV(temp, 1000) + 64; 1338 temp = DIV_ROUND_CLOSEST(temp, 1000) + 64;
1341 temp = SENSORS_LIMIT(temp, 0, 255); 1339 temp = SENSORS_LIMIT(temp, 0, 255);
1342 1340
1343 mutex_lock(&data->lock); 1341 mutex_lock(&data->lock);