Commit 286295eb936e76347173639c218134e6342440f9
Committed by
Dmitry Torokhov
1 parent
c4e32e9faa
Exists in
master
and in
20 other branches
Input: gameport - semaphore to mutex conversion
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>
Showing 2 changed files with 18 additions and 16 deletions Side-by-side Diff
drivers/input/gameport/gameport.c
... | ... | @@ -22,6 +22,7 @@ |
22 | 22 | #include <linux/delay.h> |
23 | 23 | #include <linux/kthread.h> |
24 | 24 | #include <linux/sched.h> /* HZ */ |
25 | +#include <linux/mutex.h> | |
25 | 26 | |
26 | 27 | /*#include <asm/io.h>*/ |
27 | 28 | |
28 | 29 | |
... | ... | @@ -43,10 +44,10 @@ |
43 | 44 | EXPORT_SYMBOL(gameport_stop_polling); |
44 | 45 | |
45 | 46 | /* |
46 | - * gameport_sem protects entire gameport subsystem and is taken | |
47 | + * gameport_mutex protects entire gameport subsystem and is taken | |
47 | 48 | * every time gameport port or driver registrered or unregistered. |
48 | 49 | */ |
49 | -static DECLARE_MUTEX(gameport_sem); | |
50 | +static DEFINE_MUTEX(gameport_mutex); | |
50 | 51 | |
51 | 52 | static LIST_HEAD(gameport_list); |
52 | 53 | |
... | ... | @@ -342,7 +343,7 @@ |
342 | 343 | struct gameport_event *event; |
343 | 344 | struct gameport_driver *gameport_drv; |
344 | 345 | |
345 | - down(&gameport_sem); | |
346 | + mutex_lock(&gameport_mutex); | |
346 | 347 | |
347 | 348 | /* |
348 | 349 | * Note that we handle only one event here to give swsusp |
... | ... | @@ -379,7 +380,7 @@ |
379 | 380 | gameport_free_event(event); |
380 | 381 | } |
381 | 382 | |
382 | - up(&gameport_sem); | |
383 | + mutex_unlock(&gameport_mutex); | |
383 | 384 | } |
384 | 385 | |
385 | 386 | /* |
... | ... | @@ -464,7 +465,7 @@ |
464 | 465 | struct device_driver *drv; |
465 | 466 | int retval; |
466 | 467 | |
467 | - retval = down_interruptible(&gameport_sem); | |
468 | + retval = mutex_lock_interruptible(&gameport_mutex); | |
468 | 469 | if (retval) |
469 | 470 | return retval; |
470 | 471 | |
... | ... | @@ -484,7 +485,7 @@ |
484 | 485 | retval = -EINVAL; |
485 | 486 | } |
486 | 487 | |
487 | - up(&gameport_sem); | |
488 | + mutex_unlock(&gameport_mutex); | |
488 | 489 | |
489 | 490 | return retval; |
490 | 491 | } |
... | ... | @@ -521,7 +522,7 @@ |
521 | 522 | |
522 | 523 | __module_get(THIS_MODULE); |
523 | 524 | |
524 | - init_MUTEX(&gameport->drv_sem); | |
525 | + mutex_init(&gameport->drv_mutex); | |
525 | 526 | device_initialize(&gameport->dev); |
526 | 527 | snprintf(gameport->dev.bus_id, sizeof(gameport->dev.bus_id), |
527 | 528 | "gameport%lu", (unsigned long)atomic_inc_return(&gameport_no) - 1); |
528 | 529 | |
... | ... | @@ -661,10 +662,10 @@ |
661 | 662 | */ |
662 | 663 | void gameport_unregister_port(struct gameport *gameport) |
663 | 664 | { |
664 | - down(&gameport_sem); | |
665 | + mutex_lock(&gameport_mutex); | |
665 | 666 | gameport_disconnect_port(gameport); |
666 | 667 | gameport_destroy_port(gameport); |
667 | - up(&gameport_sem); | |
668 | + mutex_unlock(&gameport_mutex); | |
668 | 669 | } |
669 | 670 | |
670 | 671 | |
... | ... | @@ -717,7 +718,7 @@ |
717 | 718 | { |
718 | 719 | struct gameport *gameport; |
719 | 720 | |
720 | - down(&gameport_sem); | |
721 | + mutex_lock(&gameport_mutex); | |
721 | 722 | drv->ignore = 1; /* so gameport_find_driver ignores it */ |
722 | 723 | |
723 | 724 | start_over: |
... | ... | @@ -731,7 +732,7 @@ |
731 | 732 | } |
732 | 733 | |
733 | 734 | driver_unregister(&drv->driver); |
734 | - up(&gameport_sem); | |
735 | + mutex_unlock(&gameport_mutex); | |
735 | 736 | } |
736 | 737 | |
737 | 738 | static int gameport_bus_match(struct device *dev, struct device_driver *drv) |
738 | 739 | |
... | ... | @@ -743,9 +744,9 @@ |
743 | 744 | |
744 | 745 | static void gameport_set_drv(struct gameport *gameport, struct gameport_driver *drv) |
745 | 746 | { |
746 | - down(&gameport->drv_sem); | |
747 | + mutex_lock(&gameport->drv_mutex); | |
747 | 748 | gameport->drv = drv; |
748 | - up(&gameport->drv_sem); | |
749 | + mutex_unlock(&gameport->drv_mutex); | |
749 | 750 | } |
750 | 751 | |
751 | 752 | int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mode) |
include/linux/gameport.h
... | ... | @@ -11,6 +11,7 @@ |
11 | 11 | |
12 | 12 | #include <asm/io.h> |
13 | 13 | #include <linux/list.h> |
14 | +#include <linux/mutex.h> | |
14 | 15 | #include <linux/device.h> |
15 | 16 | #include <linux/timer.h> |
16 | 17 | |
... | ... | @@ -40,7 +41,7 @@ |
40 | 41 | struct gameport *parent, *child; |
41 | 42 | |
42 | 43 | struct gameport_driver *drv; |
43 | - struct semaphore drv_sem; /* protects serio->drv so attributes can pin driver */ | |
44 | + struct mutex drv_mutex; /* protects serio->drv so attributes can pin driver */ | |
44 | 45 | |
45 | 46 | struct device dev; |
46 | 47 | unsigned int registered; /* port has been fully registered with driver core */ |
47 | 48 | |
... | ... | @@ -137,12 +138,12 @@ |
137 | 138 | */ |
138 | 139 | static inline int gameport_pin_driver(struct gameport *gameport) |
139 | 140 | { |
140 | - return down_interruptible(&gameport->drv_sem); | |
141 | + return mutex_lock_interruptible(&gameport->drv_mutex); | |
141 | 142 | } |
142 | 143 | |
143 | 144 | static inline void gameport_unpin_driver(struct gameport *gameport) |
144 | 145 | { |
145 | - up(&gameport->drv_sem); | |
146 | + mutex_unlock(&gameport->drv_mutex); | |
146 | 147 | } |
147 | 148 | |
148 | 149 | void __gameport_register_driver(struct gameport_driver *drv, struct module *owner); |