summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/thermal/broadcom/bcm2835_thermal.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/thermal/broadcom/bcm2835_thermal.c b/drivers/thermal/broadcom/bcm2835_thermal.c
index 685a5aee5e0d..c5105dfc6ec9 100644
--- a/drivers/thermal/broadcom/bcm2835_thermal.c
+++ b/drivers/thermal/broadcom/bcm2835_thermal.c
@@ -11,6 +11,7 @@
#include <linux/err.h>
#include <linux/io.h>
#include <linux/kernel.h>
+#include <linux/minmax.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_address.h>
@@ -80,12 +81,7 @@ static int bcm2835_thermal_temp2adc(int temp, int offset, int slope)
temp -= offset;
temp /= slope;
- if (temp < 0)
- temp = 0;
- if (temp >= BIT(BCM2835_TS_TSENSSTAT_DATA_BITS))
- temp = BIT(BCM2835_TS_TSENSSTAT_DATA_BITS) - 1;
-
- return temp;
+ return clamp(temp, 0, (int)BIT(BCM2835_TS_TSENSSTAT_DATA_BITS) - 1);
}
static int bcm2835_thermal_get_temp(struct thermal_zone_device *tz, int *temp)