Input: gameport - semaphore to mutex conversion
Arjan van de Ven [Sun, 19 Feb 2006 05:22:03 +0000 (00:22 -0500)]
The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

drivers/input/gameport/gameport.c
include/linux/gameport.h

index b765a15..9444702 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/delay.h>
 #include <linux/kthread.h>
 #include <linux/sched.h>       /* HZ */
+#include <linux/mutex.h>
 
 /*#include <asm/io.h>*/
 
@@ -43,10 +44,10 @@ EXPORT_SYMBOL(gameport_start_polling);
 EXPORT_SYMBOL(gameport_stop_polling);
 
 /*
- * gameport_sem protects entire gameport subsystem and is taken
+ * gameport_mutex protects entire gameport subsystem and is taken
  * every time gameport port or driver registrered or unregistered.
  */
-static DECLARE_MUTEX(gameport_sem);
+static DEFINE_MUTEX(gameport_mutex);
 
 static LIST_HEAD(gameport_list);
 
@@ -342,7 +343,7 @@ static void gameport_handle_event(void)
        struct gameport_event *event;
        struct gameport_driver *gameport_drv;
 
-       down(&gameport_sem);
+       mutex_lock(&gameport_mutex);
 
        /*
         * Note that we handle only one event here to give swsusp
@@ -379,7 +380,7 @@ static void gameport_handle_event(void)
                gameport_free_event(event);
        }
 
-       up(&gameport_sem);
+       mutex_unlock(&gameport_mutex);
 }
 
 /*
@@ -464,7 +465,7 @@ static ssize_t gameport_rebind_driver(struct device *dev, struct device_attribut
        struct device_driver *drv;
        int retval;
 
-       retval = down_interruptible(&gameport_sem);
+       retval = mutex_lock_interruptible(&gameport_mutex);
        if (retval)
                return retval;
 
@@ -484,7 +485,7 @@ static ssize_t gameport_rebind_driver(struct device *dev, struct device_attribut
                retval = -EINVAL;
        }
 
-       up(&gameport_sem);
+       mutex_unlock(&gameport_mutex);
 
        return retval;
 }
@@ -521,7 +522,7 @@ static void gameport_init_port(struct gameport *gameport)
 
        __module_get(THIS_MODULE);
 
-       init_MUTEX(&gameport->drv_sem);
+       mutex_init(&gameport->drv_mutex);
        device_initialize(&gameport->dev);
        snprintf(gameport->dev.bus_id, sizeof(gameport->dev.bus_id),
                 "gameport%lu", (unsigned long)atomic_inc_return(&gameport_no) - 1);
@@ -661,10 +662,10 @@ void __gameport_register_port(struct gameport *gameport, struct module *owner)
  */
 void gameport_unregister_port(struct gameport *gameport)
 {
-       down(&gameport_sem);
+       mutex_lock(&gameport_mutex);
        gameport_disconnect_port(gameport);
        gameport_destroy_port(gameport);
-       up(&gameport_sem);
+       mutex_unlock(&gameport_mutex);
 }
 
 
@@ -717,7 +718,7 @@ void gameport_unregister_driver(struct gameport_driver *drv)
 {
        struct gameport *gameport;
 
-       down(&gameport_sem);
+       mutex_lock(&gameport_mutex);
        drv->ignore = 1;        /* so gameport_find_driver ignores it */
 
 start_over:
@@ -731,7 +732,7 @@ start_over:
        }
 
        driver_unregister(&drv->driver);
-       up(&gameport_sem);
+       mutex_unlock(&gameport_mutex);
 }
 
 static int gameport_bus_match(struct device *dev, struct device_driver *drv)
@@ -743,9 +744,9 @@ static int gameport_bus_match(struct device *dev, struct device_driver *drv)
 
 static void gameport_set_drv(struct gameport *gameport, struct gameport_driver *drv)
 {
-       down(&gameport->drv_sem);
+       mutex_lock(&gameport->drv_mutex);
        gameport->drv = drv;
-       up(&gameport->drv_sem);
+       mutex_unlock(&gameport->drv_mutex);
 }
 
 int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mode)
index 2401dea..3e1b9b2 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <asm/io.h>
 #include <linux/list.h>
+#include <linux/mutex.h>
 #include <linux/device.h>
 #include <linux/timer.h>
 
@@ -40,7 +41,7 @@ struct gameport {
        struct gameport *parent, *child;
 
        struct gameport_driver *drv;
-       struct semaphore drv_sem;       /* protects serio->drv so attributes can pin driver */
+       struct mutex drv_mutex;         /* protects serio->drv so attributes can pin driver */
 
        struct device dev;
        unsigned int registered;        /* port has been fully registered with driver core */
@@ -137,12 +138,12 @@ static inline void gameport_set_drvdata(struct gameport *gameport, void *data)
  */
 static inline int gameport_pin_driver(struct gameport *gameport)
 {
-       return down_interruptible(&gameport->drv_sem);
+       return mutex_lock_interruptible(&gameport->drv_mutex);
 }
 
 static inline void gameport_unpin_driver(struct gameport *gameport)
 {
-       up(&gameport->drv_sem);
+       mutex_unlock(&gameport->drv_mutex);
 }
 
 void __gameport_register_driver(struct gameport_driver *drv, struct module *owner);