All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for most ch
@ 2015-08-31 23:57 Guenter Roeck
  2015-09-02  8:31 ` [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for mos Jean Delvare
  2015-09-02 15:40 ` Guenter Roeck
  0 siblings, 2 replies; 3+ messages in thread
From: Guenter Roeck @ 2015-08-31 23:57 UTC (permalink / raw)
  To: lm-sensors

The STEP_UP_TIME and STEP_DOWN_TIME registers are swapped for all chips but
NCT6775.

Reported-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 drivers/hwmon/nct6775.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index 0a08f776a5de..b487a55d02c0 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -252,6 +252,7 @@ static const u16 NCT6775_REG_TARGET[] = {
 	0x101, 0x201, 0x301, 0x801, 0x901, 0xa01 };
 static const u16 NCT6775_REG_FAN_MODE[] = {
 	0x102, 0x202, 0x302, 0x802, 0x902, 0xa02 };
+/* STEP_DOWN_TIME and STEP_UP_TIME regs are swapped for all chips but NCT6775 */
 static const u16 NCT6775_REG_FAN_STEP_DOWN_TIME[] = {
 	0x103, 0x203, 0x303, 0x803, 0x903, 0xa03 };
 static const u16 NCT6775_REG_FAN_STEP_UP_TIME[] = {
@@ -3536,8 +3537,8 @@ static int nct6775_probe(struct platform_device *pdev)
 		data->REG_FAN_PULSES = NCT6776_REG_FAN_PULSES;
 		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
 		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
-		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
-		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
+		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
+		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
 		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
 		data->REG_PWM[0] = NCT6775_REG_PWM;
 		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
@@ -3608,8 +3609,8 @@ static int nct6775_probe(struct platform_device *pdev)
 		data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES;
 		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
 		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
-		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
-		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
+		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
+		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
 		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
 		data->REG_PWM[0] = NCT6775_REG_PWM;
 		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
@@ -3685,8 +3686,8 @@ static int nct6775_probe(struct platform_device *pdev)
 		data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES;
 		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
 		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
-		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
-		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
+		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
+		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
 		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
 		data->REG_PWM[0] = NCT6775_REG_PWM;
 		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
-- 
2.1.4


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for mos
  2015-08-31 23:57 [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for most ch Guenter Roeck
@ 2015-09-02  8:31 ` Jean Delvare
  2015-09-02 15:40 ` Guenter Roeck
  1 sibling, 0 replies; 3+ messages in thread
From: Jean Delvare @ 2015-09-02  8:31 UTC (permalink / raw)
  To: lm-sensors

Hi Guenter,

On Mon, 31 Aug 2015 16:57:32 -0700, Guenter Roeck wrote:
> The STEP_UP_TIME and STEP_DOWN_TIME registers are swapped for all chips but
> NCT6775.

Odd, but well, wouldn't be the first time.

> Reported-by: Grazvydas Ignotas <notasas@gmail.com>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
>  drivers/hwmon/nct6775.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
> index 0a08f776a5de..b487a55d02c0 100644
> --- a/drivers/hwmon/nct6775.c
> +++ b/drivers/hwmon/nct6775.c
> @@ -252,6 +252,7 @@ static const u16 NCT6775_REG_TARGET[] = {
>  	0x101, 0x201, 0x301, 0x801, 0x901, 0xa01 };
>  static const u16 NCT6775_REG_FAN_MODE[] = {
>  	0x102, 0x202, 0x302, 0x802, 0x902, 0xa02 };
> +/* STEP_DOWN_TIME and STEP_UP_TIME regs are swapped for all chips but NCT6775 */
>  static const u16 NCT6775_REG_FAN_STEP_DOWN_TIME[] = {
>  	0x103, 0x203, 0x303, 0x803, 0x903, 0xa03 };
>  static const u16 NCT6775_REG_FAN_STEP_UP_TIME[] = {
> @@ -3536,8 +3537,8 @@ static int nct6775_probe(struct platform_device *pdev)
>  		data->REG_FAN_PULSES = NCT6776_REG_FAN_PULSES;
>  		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
>  		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
> -		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
> -		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
> +		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
> +		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
>  		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
>  		data->REG_PWM[0] = NCT6775_REG_PWM;
>  		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
> @@ -3608,8 +3609,8 @@ static int nct6775_probe(struct platform_device *pdev)
>  		data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES;
>  		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
>  		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
> -		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
> -		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
> +		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
> +		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
>  		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
>  		data->REG_PWM[0] = NCT6775_REG_PWM;
>  		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
> @@ -3685,8 +3686,8 @@ static int nct6775_probe(struct platform_device *pdev)
>  		data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES;
>  		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
>  		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
> -		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
> -		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
> +		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
> +		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
>  		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
>  		data->REG_PWM[0] = NCT6775_REG_PWM;
>  		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;

Reviewed-by: Jean Delvare <jdelvare@suse.de>

While correct, I am a little worried that the resulting code could later
look like a bug to anyone not familiar with these chips. I was
wondering if maybe something like:

#define NCT6776_REG_FAN_STEP_DOWN_TIME NCT6775_REG_FAN_STEP_UP_TIME
#define NCT6776_REG_FAN_STEP_UP_TIME NCT6775_REG_FAN_STEP_DOWN_TIME

would make sense. Then you would use NCT6776_REG_FAN_STEP_UP/DOWN_TIME
in nct6775_probe().

Just an random thought, maybe it adds more confusion than it clears, I
don't know.

-- 
Jean Delvare
SUSE L3 Support

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for mos
  2015-08-31 23:57 [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for most ch Guenter Roeck
  2015-09-02  8:31 ` [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for mos Jean Delvare
@ 2015-09-02 15:40 ` Guenter Roeck
  1 sibling, 0 replies; 3+ messages in thread
From: Guenter Roeck @ 2015-09-02 15:40 UTC (permalink / raw)
  To: lm-sensors

On 09/02/2015 01:31 AM, Jean Delvare wrote:
> Hi Guenter,
>
> On Mon, 31 Aug 2015 16:57:32 -0700, Guenter Roeck wrote:
>> The STEP_UP_TIME and STEP_DOWN_TIME registers are swapped for all chips but
>> NCT6775.
>
> Odd, but well, wouldn't be the first time.
>
>> Reported-by: Grazvydas Ignotas <notasas@gmail.com>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>> ---
>>   drivers/hwmon/nct6775.c | 13 +++++++------
>>   1 file changed, 7 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
>> index 0a08f776a5de..b487a55d02c0 100644
>> --- a/drivers/hwmon/nct6775.c
>> +++ b/drivers/hwmon/nct6775.c
>> @@ -252,6 +252,7 @@ static const u16 NCT6775_REG_TARGET[] = {
>>   	0x101, 0x201, 0x301, 0x801, 0x901, 0xa01 };
>>   static const u16 NCT6775_REG_FAN_MODE[] = {
>>   	0x102, 0x202, 0x302, 0x802, 0x902, 0xa02 };
>> +/* STEP_DOWN_TIME and STEP_UP_TIME regs are swapped for all chips but NCT6775 */
>>   static const u16 NCT6775_REG_FAN_STEP_DOWN_TIME[] = {
>>   	0x103, 0x203, 0x303, 0x803, 0x903, 0xa03 };
>>   static const u16 NCT6775_REG_FAN_STEP_UP_TIME[] = {
>> @@ -3536,8 +3537,8 @@ static int nct6775_probe(struct platform_device *pdev)
>>   		data->REG_FAN_PULSES = NCT6776_REG_FAN_PULSES;
>>   		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
>>   		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
>> -		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
>> -		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
>> +		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
>> +		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
>>   		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
>>   		data->REG_PWM[0] = NCT6775_REG_PWM;
>>   		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
>> @@ -3608,8 +3609,8 @@ static int nct6775_probe(struct platform_device *pdev)
>>   		data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES;
>>   		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
>>   		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
>> -		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
>> -		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
>> +		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
>> +		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
>>   		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
>>   		data->REG_PWM[0] = NCT6775_REG_PWM;
>>   		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
>> @@ -3685,8 +3686,8 @@ static int nct6775_probe(struct platform_device *pdev)
>>   		data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES;
>>   		data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT;
>>   		data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME;
>> -		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME;
>> -		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME;
>> +		data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_DOWN_TIME;
>> +		data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_UP_TIME;
>>   		data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H;
>>   		data->REG_PWM[0] = NCT6775_REG_PWM;
>>   		data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT;
>
> Reviewed-by: Jean Delvare <jdelvare@suse.de>
>
> While correct, I am a little worried that the resulting code could later
> look like a bug to anyone not familiar with these chips. I was
> wondering if maybe something like:
>
> #define NCT6776_REG_FAN_STEP_DOWN_TIME NCT6775_REG_FAN_STEP_UP_TIME
> #define NCT6776_REG_FAN_STEP_UP_TIME NCT6775_REG_FAN_STEP_DOWN_TIME
>
> would make sense. Then you would use NCT6776_REG_FAN_STEP_UP/DOWN_TIME
> in nct6775_probe().
>
> Just an random thought, maybe it adds more confusion than it clears, I
> don't know.
>
No, I think that is actually better, since it doesn't hide that the registers
are swapped in the middle of the code. I'll make that change, with a comment
describing the reason.

Thanks a lot for the suggestion!

Guenter


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-09-02 15:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-31 23:57 [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for most ch Guenter Roeck
2015-09-02  8:31 ` [lm-sensors] [PATCH 1/2] hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for mos Jean Delvare
2015-09-02 15:40 ` Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.