* [PATCH] fix nct7802_temp_is_visible
@ 2015-06-24 22:47 Constantine Shulyupin
2015-06-25 0:00 ` Guenter Roeck
0 siblings, 1 reply; 3+ messages in thread
From: Constantine Shulyupin @ 2015-06-24 22:47 UTC (permalink / raw)
To: jdelvare, linux, lm-sensors, linux-kernel; +Cc: const, Constantine Shulyupin
From: const <const@makelinux.com>
Fixed registers are invisible only when registers' mode is 0
Signed-off-by: Constantine Shulyupin <const@MakeLinux.com>
---
drivers/hwmon/nct7802.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/hwmon/nct7802.c b/drivers/hwmon/nct7802.c
index ec56782..65e40c2 100644
--- a/drivers/hwmon/nct7802.c
+++ b/drivers/hwmon/nct7802.c
@@ -541,13 +541,11 @@ static umode_t nct7802_temp_is_visible(struct kobject *kobj,
if (err < 0)
return 0;
- if (index < 9 &&
- (reg & 03) != 0x01 && (reg & 0x03) != 0x02) /* RD1 */
+ if (index < 9 && !(reg & 0x03)) /* RD1 */
return 0;
- if (index >= 9 && index < 18 &&
- (reg & 0x0c) != 0x04 && (reg & 0x0c) != 0x08) /* RD2 */
+ if (index >= 9 && index < 18 && !(reg & 0x0c)) /* RD2 */
return 0;
- if (index >= 18 && index < 27 && (reg & 0x30) != 0x10) /* RD3 */
+ if (index >= 18 && index < 27 && !(reg & 0x30)) /* RD3 */
return 0;
if (index >= 27 && index < 35) /* local */
return attr->mode;
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] fix nct7802_temp_is_visible
2015-06-24 22:47 [PATCH] fix nct7802_temp_is_visible Constantine Shulyupin
@ 2015-06-25 0:00 ` Guenter Roeck
[not found] ` <CAE7jHC95bpZfqDyFOsh-Do3vvrsVDcWVEpSicLx5arzS9c6qKg@mail.gmail.com>
0 siblings, 1 reply; 3+ messages in thread
From: Guenter Roeck @ 2015-06-25 0:00 UTC (permalink / raw)
To: Constantine Shulyupin, jdelvare, lm-sensors, linux-kernel
Hi Constantine,
On 06/24/2015 03:47 PM, Constantine Shulyupin wrote:
> From: const <const@makelinux.com>
>
> Fixed registers are invisible only when registers' mode is 0
>
> Signed-off-by: Constantine Shulyupin <const@MakeLinux.com>
> ---
> drivers/hwmon/nct7802.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hwmon/nct7802.c b/drivers/hwmon/nct7802.c
> index ec56782..65e40c2 100644
> --- a/drivers/hwmon/nct7802.c
> +++ b/drivers/hwmon/nct7802.c
> @@ -541,13 +541,11 @@ static umode_t nct7802_temp_is_visible(struct kobject *kobj,
> if (err < 0)
> return 0;
>
> - if (index < 9 &&
> - (reg & 03) != 0x01 && (reg & 0x03) != 0x02) /* RD1 */
> + if (index < 9 && !(reg & 0x03)) /* RD1 */
> return 0;
> - if (index >= 9 && index < 18 &&
> - (reg & 0x0c) != 0x04 && (reg & 0x0c) != 0x08) /* RD2 */
> + if (index >= 9 && index < 18 && !(reg & 0x0c)) /* RD2 */
> return 0;
> - if (index >= 18 && index < 27 && (reg & 0x30) != 0x10) /* RD3 */
> + if (index >= 18 && index < 27 && !(reg & 0x30)) /* RD3 */
11b sets a sensor to voltage sense mode, not temperature mode.
This is what the inX attributes are for. We can not just display a
random temperature value if a sensor is configured to measure a voltage.
According to my datasheet, 01b (0x10 shifted) is reserved for RD3.
So there is a bug, but it is
if (index >= 18 && index < 27 && (reg & 0x30) != 0x10) /* RD3 */
which should be
if (index >= 18 && index < 27 && (reg & 0x30) != 0x20) /* RD3 */
Can you send an updated patch ?
Thanks,
Guenter
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-06-25 17:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-24 22:47 [PATCH] fix nct7802_temp_is_visible Constantine Shulyupin
2015-06-25 0:00 ` Guenter Roeck
[not found] ` <CAE7jHC95bpZfqDyFOsh-Do3vvrsVDcWVEpSicLx5arzS9c6qKg@mail.gmail.com>
2015-06-25 17:18 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox