Messages in this thread | | | Date | Wed, 13 Apr 2011 08:50:53 +0200 | From | Hans de Goede <> | Subject | Re: [lm-sensors] [PATCH v5 1/2] Use "request_muxed_region" in it87 watchdog drivers |
| |
Hi,
On 04/12/2011 10:49 PM, Nat Gurumoorthy wrote: > 01 - Changes to it87 watchdog driver to use "request_muxed_region" > Serialize access to the hardware by using "request_muxed_region" macro defined > by Alan Cox. Call to this macro will hold off the requestor if the resource is > currently busy. > > The use of the above macro makes it possible to get rid of > spinlocks in it8712f_wdt.c and it87_wdt.c watchdog drivers. > This also greatly simplifies the implementation of it87_wdt.c driver. > > Signed-off-by: Nat Gurumoorthy<natg@google.com> > --- > > diff --git a/drivers/watchdog/it8712f_wdt.c b/drivers/watchdog/it8712f_wdt.c > index 6143f52..51bfbc0 100644 > --- a/drivers/watchdog/it8712f_wdt.c > +++ b/drivers/watchdog/it8712f_wdt.c > @@ -51,7 +51,6 @@ MODULE_PARM_DESC(nowayout, "Disable watchdog shutdown on close"); > > static unsigned long wdt_open; > static unsigned expect_close; > -static spinlock_t io_lock; > static unsigned char revision; > > /* Dog Food address - We use the game port address */ > @@ -123,7 +122,11 @@ static inline void superio_select(int ldn) > > static inline void superio_enter(void) > { > - spin_lock(&io_lock); > + /* > + * Reserve REG and REG + 1 for exclusive access. > + */ > + (void) request_muxed_region(REG, 2, NAME); > +
You shouldn't (void) this, there is a reason you get a warning otherwise! request_muxed_region can still fail if some other driver has done a none muxed request_region on the same region, and in that case you should not continue with accessing the io-ports.
Regards,
Hans
| |