[lm-sensors] [PATCH v6 1/2] Use "request_muxed_region" in it87 watchdog drivers

Guenter Roeck guenter.roeck at ericsson.com
Fri Apr 15 13:05:29 CEST 2011


On Fri, Apr 15, 2011 at 04:46:04AM -0400, Natarajan Gurumoorthy wrote:
> On Thu, Apr 14, 2011 at 10:58 PM, Guenter Roeck
> <guenter.roeck at ericsson.com> wrote:
> > I have seen the list. I don't think you should fix everything in one go.
> > First step might be to get the w83697hf and it87 to work together, then
> > go from there.
> >
> > Is there a reason for loading (or trying to load) both the it87 and
> > the w83697hf driver at the same time ? Those drivers are usually only
> > loaded if the respective chip is known to exist. If there is no reason
> > to try loading both drivers, a simple workaround would be to not do it.
> >
> Guenter,
>       I agree the above should never happen. The only way the 2
> drivers will be loaded at the same time is a misconfigured kernel
> where these 2 drivers get built and the rc scripts end up loading them
> too. If we are agreed that I suggest we make the superio_enter routine
> be the following:
> 
> static inline void
> superio_enter(void)
> {
> 	/*
> 	 * Reserve REG and REG + 1 for exclusive access.
> 	 */
> 	while (!request_muxed_region(REG, 2, WATCHDOG_NAME))
> 		continue;
> 
At least for my part, I would not agree to that. If another driver misbehaves
and does not release the region, one of your CPU cores will be stuck
in an endless loop.

> 	outb(0x87, REG);
> 	outb(0x01, REG);
> 	outb(0x55, REG);
> 	outb(0x55, REG);
> }
> 
> What I am suggesting is not returning an error and instead keep
> calling "request_muxed_region" till it succeeds. If superio_enter
> returns an error then we will have to rewrite a large chunk of
> it8712f_wdt to deal with it. There are 8-9 calls to superio_enter. We
> will have supreio_enter returning errors at awkward places in the
> driver where the current logic has no code to deal with errors.
> 
Can't help it. I browsed through it earlier and didn't think it was that bad.
Just pass the error on to the next level until you can return it.

Guenter

> In case of properly written drivers the while loop will eventually
> exit. I agree this is ugly as sin but it limits the perturbation of
> the driver. Feedback please.
> 
> Regards
> Nat
> 
> 
> > Thanks,
> > Guenter
> >
> >
> 
> 
> 
> -- 
> Regards
> Nat Gurumoorthy AB6SJ




More information about the lm-sensors mailing list