This is the same case as fschmd, from which the code was copied as far
as I can see. So the same clean-up applies:
The WDIOC_GETSUPPORT ioctl only needs a mutex because it operates on a
static variable. There is no good reason to keep this variable static,
so let's just make it non-static and drop the now useless mutex
altogether.
See the discussion at:
http://marc.info/?l=lm-sensors&m=
125563869402323&w=2
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
 #define WATCHDOG_TIMEOUT 2     /* 2 minute default timeout */
 
 /* Addresses to scan */
-static DEFINE_MUTEX(watchdog_mutex);
 static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, 0x2f,
                                                I2C_CLIENT_END };
 
 static long watchdog_ioctl(struct file *filp, unsigned int cmd,
                           unsigned long arg)
 {
-       static struct watchdog_info ident = {
+       struct watchdog_info ident = {
                .options = WDIOF_KEEPALIVEPING |
                           WDIOF_SETTIMEOUT |
                           WDIOF_CARDRESET,
        int val, ret = 0;
        struct w83793_data *data = filp->private_data;
 
-       mutex_lock(&watchdog_mutex);
        switch (cmd) {
        case WDIOC_GETSUPPORT:
                if (!nowayout)
        default:
                ret = -ENOTTY;
        }
-       mutex_unlock(&watchdog_mutex);
        return ret;
 }