.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | /* |
---|
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 | + */ |
---|
20 | 6 | |
---|
21 | 7 | /* |
---|
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 | + */ |
---|
27 | 13 | |
---|
28 | 14 | #include <linux/kernel.h> |
---|
29 | 15 | |
---|
.. | .. |
---|
32 | 18 | #define LM75_TEMP_MAX 125000 |
---|
33 | 19 | #define LM75_SHUTDOWN 0x01 |
---|
34 | 20 | |
---|
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 | + */ |
---|
37 | 25 | static inline u16 LM75_TEMP_TO_REG(long temp) |
---|
38 | 26 | { |
---|
39 | 27 | int ntemp = clamp_val(temp, LM75_TEMP_MIN, LM75_TEMP_MAX); |
---|
| 28 | + |
---|
40 | 29 | ntemp += (ntemp < 0 ? -250 : 250); |
---|
41 | 30 | return (u16)((ntemp / 500) << 7); |
---|
42 | 31 | } |
---|
43 | 32 | |
---|
44 | 33 | static inline int LM75_TEMP_FROM_REG(u16 reg) |
---|
45 | 34 | { |
---|
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 | + */ |
---|
48 | 39 | return ((s16)reg / 128) * 500; |
---|
49 | 40 | } |
---|