hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/hwmon/lm75.h
....@@ -1,29 +1,15 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /*
2
- lm75.h - Part of lm_sensors, Linux kernel modules for hardware
3
- monitoring
4
- Copyright (c) 2003 Mark M. Hoffman <mhoffman@lightlink.com>
5
-
6
- This program is free software; you can redistribute it and/or modify
7
- it under the terms of the GNU General Public License as published by
8
- the Free Software Foundation; either version 2 of the License, or
9
- (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU General Public License for more details.
15
-
16
- You should have received a copy of the GNU General Public License
17
- along with this program; if not, write to the Free Software
18
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19
-*/
3
+ * lm75.h - Part of lm_sensors, Linux kernel modules for hardware monitoring
4
+ * Copyright (c) 2003 Mark M. Hoffman <mhoffman@lightlink.com>
5
+ */
206
217 /*
22
- This file contains common code for encoding/decoding LM75 type
23
- temperature readings, which are emulated by many of the chips
24
- we support. As the user is unlikely to load more than one driver
25
- which contains this code, we don't worry about the wasted space.
26
-*/
8
+ * This file contains common code for encoding/decoding LM75 type
9
+ * temperature readings, which are emulated by many of the chips
10
+ * we support. As the user is unlikely to load more than one driver
11
+ * which contains this code, we don't worry about the wasted space.
12
+ */
2713
2814 #include <linux/kernel.h>
2915
....@@ -32,18 +18,23 @@
3218 #define LM75_TEMP_MAX 125000
3319 #define LM75_SHUTDOWN 0x01
3420
35
-/* TEMP: 0.001C/bit (-55C to +125C)
36
- REG: (0.5C/bit, two's complement) << 7 */
21
+/*
22
+ * TEMP: 0.001C/bit (-55C to +125C)
23
+ * REG: (0.5C/bit, two's complement) << 7
24
+ */
3725 static inline u16 LM75_TEMP_TO_REG(long temp)
3826 {
3927 int ntemp = clamp_val(temp, LM75_TEMP_MIN, LM75_TEMP_MAX);
28
+
4029 ntemp += (ntemp < 0 ? -250 : 250);
4130 return (u16)((ntemp / 500) << 7);
4231 }
4332
4433 static inline int LM75_TEMP_FROM_REG(u16 reg)
4534 {
46
- /* use integer division instead of equivalent right shift to
47
- guarantee arithmetic shift and preserve the sign */
35
+ /*
36
+ * use integer division instead of equivalent right shift to
37
+ * guarantee arithmetic shift and preserve the sign
38
+ */
4839 return ((s16)reg / 128) * 500;
4940 }