Messages in this thread Patch in this message | | | From | Arnd Bergmann <> | Subject | [PATCH 12/18] tlclk: remove big kernel lock | Date | Tue, 14 Sep 2010 21:55:18 +0200 |
| |
This driver already has a global mutex, so let's just use that in the open function instead of the BKL. It may not even be needed there, but this patch should have the smallest impact.
Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Mark Gross <mark.gross@intel.com> --- drivers/char/tlclk.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c index 80ea6bc..e32cbf0 100644 --- a/drivers/char/tlclk.c +++ b/drivers/char/tlclk.c @@ -37,7 +37,7 @@ #include <linux/ioport.h> #include <linux/interrupt.h> #include <linux/spinlock.h> -#include <linux/smp_lock.h> +#include <linux/mutex.h> #include <linux/timer.h> #include <linux/sysfs.h> #include <linux/device.h> @@ -206,7 +206,7 @@ static int tlclk_open(struct inode *inode, struct file *filp) { int result; - lock_kernel(); + mutex_lock(&tlclk_mutex); if (test_and_set_bit(0, &useflags)) { result = -EBUSY; /* this legacy device is always one per system and it doesn't @@ -229,7 +229,7 @@ static int tlclk_open(struct inode *inode, struct file *filp) inb(TLCLK_REG6); /* Clear interrupt events */ out: - unlock_kernel(); + mutex_unlock(&tlclk_mutex); return result; } -- 1.7.1
| |