Re: [v1,1/1] hwmon: (nct7904) Add to read all of the SMI status registers in probe function.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 12, 2020 at 02:25:23AM +0000, Amy.Shih@xxxxxxxxxxxxxxxx wrote:
> From: Amy Shih <amy.shih@xxxxxxxxxxxxxxxx>
> 
> When nct7904 power up, it compares current sensor readings within the
> default threshold immediately, thus some of SMI status registers would
> get non zero values cause the false alarms on first reading. Add to
> read all of the SMI status registers in probe function to clear the
> alarms.
> 
> Signed-off-by: Amy Shih <amy.shih@xxxxxxxxxxxxxxxx>

Applied.

Thanks,
Guenter

> ---
>  drivers/hwmon/nct7904.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c
> index 571a649..6fb06f7 100644
> --- a/drivers/hwmon/nct7904.c
> +++ b/drivers/hwmon/nct7904.c
> @@ -45,6 +45,7 @@
>  #define FANCTL_MAX		4	/* Counted from 1 */
>  #define TCPU_MAX		8	/* Counted from 1 */
>  #define TEMP_MAX		4	/* Counted from 1 */
> +#define SMI_STS_MAX		10	/* Counted from 1 */
>  
>  #define VT_ADC_CTRL0_REG	0x20	/* Bank 0 */
>  #define VT_ADC_CTRL1_REG	0x21	/* Bank 0 */
> @@ -1126,6 +1127,13 @@ static int nct7904_probe(struct i2c_client *client,
>  		data->fan_mode[i] = ret;
>  	}
>  
> +	/* Read all of SMI status register to clear alarms */
> +	for (i = 0; i < SMI_STS_MAX; i++) {
> +		ret = nct7904_read_reg(data, BANK_0, SMI_STS1_REG + i);
> +		if (ret < 0)
> +			return ret;
> +	}
> +
>  	hwmon_dev =
>  		devm_hwmon_device_register_with_info(dev, client->name, data,
>  						     &nct7904_chip_info, NULL);
> -- 
> 1.8.3.1
> 



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux