summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/acpi_power_meter.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2012-06-18 22:37:13 -0700
committerGuenter Roeck <linux@roeck-us.net>2012-07-21 21:48:44 -0700
commit27c4db3996ef0d27fb25e6991ebf6e507a920937 (patch)
treebac3effb30b62185d86cb1f36a98eec7204a17f6 /drivers/hwmon/acpi_power_meter.c
parent27f8b1355504744e7cfbb5756f120734d58644a8 (diff)
downloadop-kernel-dev-27c4db3996ef0d27fb25e6991ebf6e507a920937.zip
op-kernel-dev-27c4db3996ef0d27fb25e6991ebf6e507a920937.tar.gz
hwmon: (acpi_power_meter) Cleanup and optimizations
An unsigned value can not be smaller than 0. Remove the check for it. Use DIV_ROUND_CLOSEST for divide operations converting milli-degrees C into degrees C. Limit maximum accepted trip point temperature to INT_MAX. This patch fixes Coverity #115214: Unsigned compared against 0 Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/hwmon/acpi_power_meter.c')
-rw-r--r--drivers/hwmon/acpi_power_meter.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
index 34ad5a2..9a0821f1 100644
--- a/drivers/hwmon/acpi_power_meter.c
+++ b/drivers/hwmon/acpi_power_meter.c
@@ -237,7 +237,7 @@ static ssize_t set_cap(struct device *dev, struct device_attribute *devattr,
if (res)
return res;
- temp /= 1000;
+ temp = DIV_ROUND_CLOSEST(temp, 1000);
if (temp > resource->caps.max_cap || temp < resource->caps.min_cap)
return -EINVAL;
arg0.integer.value = temp;
@@ -307,8 +307,8 @@ static ssize_t set_trip(struct device *dev, struct device_attribute *devattr,
if (res)
return res;
- temp /= 1000;
- if (temp < 0)
+ temp = DIV_ROUND_CLOSEST(temp, 1000);
+ if (temp > INT_MAX)
return -EINVAL;
mutex_lock(&resource->lock);
OpenPOWER on IntegriCloud