Re: [PATCH v2] hwmon: (pmbus) Clear pmbus fault/warning bits after read

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

 



On Tue, Feb 22, 2022 at 01:12:53PM +0000, Vikash Chandola wrote:
> Almost all fault/warning bits in pmbus status registers remain set even
> after fault/warning condition are removed. As per pmbus specification
> these faults must be cleared by user.
> Modify hwmon behavior to clear fault/warning bit after fetching data if
> fault/warning bit was set. This allows to get fresh data in next read.
> 
> Signed-off-by: Vikash Chandola <vikash.chandola@xxxxxxxxxxxxxxx>

Applied.

Thanks,
Guenter

> ---
> changes since v1:
> v1 patch was clearing all the faults. That would have lead faults not
> getting reported to user at all. This change clears only current fault
> and that too after reporting it at least once. This way all the faults
> will be reported to user space at least once.
> 
> Behaviour has been verified with following PSU
> FRU Device Description : IS162F22 (ID 84)
> Product Manufacturer   : SOLUM CO., LTD.
> Product Name           : IS162F22
> Product Part Number    : G36234-015
> Product Version        : 10A
> 
>  drivers/hwmon/pmbus/pmbus_core.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
> index 776ee2237be2..ac2fbee1ba9c 100644
> --- a/drivers/hwmon/pmbus/pmbus_core.c
> +++ b/drivers/hwmon/pmbus/pmbus_core.c
> @@ -911,6 +911,11 @@ static int pmbus_get_boolean(struct i2c_client *client, struct pmbus_boolean *b,
>  		pmbus_update_sensor_data(client, s2);
>  
>  	regval = status & mask;
> +	if (regval) {
> +		ret = pmbus_write_byte_data(client, page, reg, regval);
> +		if (ret)
> +			goto unlock;
> +	}
>  	if (s1 && s2) {
>  		s64 v1, v2;
>  



[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