Re: [PATCH 6/7] hwmon: (w83795) Clear intrusion alarm immediately

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

 



On Sun, 7 Nov 2010 09:24:59 -0800, Guenter Roeck wrote:
> On Sun, Nov 07, 2010 at 10:47:19AM -0500, Jean Delvare wrote:
> > When asked to clear the intrusion alarm, do so immediately. We have to
> > invalidate the cache to make sure the new status will be read. But we
> > also have to read from the status register once to clear the pending
> > alarm, as writing to CLR_CHS surprising won't clear it automatically.
> > 
> > Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
> > ---
> >  w83795.c |    4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > --- a/drivers/hwmon/w83795.c	2010-11-06 22:37:55.000000000 +0100
> > +++ b/drivers/hwmon/w83795.c	2010-11-06 22:40:03.000000000 +0100
> > @@ -755,6 +755,10 @@ store_chassis_clear(struct device *dev,
> >  	val = w83795_read(client, W83795_REG_CLR_CHASSIS);
> >  	val |= 0x80;
> >  	w83795_write(client, W83795_REG_CLR_CHASSIS, val);
> > +
> > +	/* Clear status and force cache refresh */
> > +	w83795_read(client, W83795_REG_ALARM(5));
> 
> Won't that clear other (possibly unreported) alarms as well ?

It will clear the interrupt bit for other sources in that register,
yes. But the update function does exactly this already, so this is
nothing new. I don't think it will have any effect on the real-time
register, but I can't check it, because the other sources in that
register are fan9 to fan14, which do not exist on my system.

If I get any report of a user with more than 8 fans connected to a
W83795G/ADG device, I'll check the exact behavior. But I think the
current code is and will stay acceptable regardless, because clearing
the chassis intrusion status is such a rare event.

> 
> If that is not a problem, 
> 	Acked-by: Guenter Roeck <guenter.roeck@xxxxxxxxxxxx>
> 


-- 
Jean Delvare

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


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux