From a5ee6dc9ebe8fc2640ee3fbf2c340bd853e2fd36 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 10 Oct 2009 15:14:03 +0200 Subject: rtc: Remove BKL from efirtc BKL locking came to efirtc via the big BKL push down, but the access to the efi functions is protected by efi_rtc_lock already. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.046644063@linutronix.de> --- drivers/char/efirtc.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'drivers/char/efirtc.c') diff --git a/drivers/char/efirtc.c b/drivers/char/efirtc.c index 34d15d548236..26a47dc88f61 100644 --- a/drivers/char/efirtc.c +++ b/drivers/char/efirtc.c @@ -27,8 +27,6 @@ * - Add module support */ - -#include #include #include #include @@ -174,13 +172,12 @@ static long efi_rtc_ioctl(struct file *file, unsigned int cmd, return -EINVAL; case RTC_RD_TIME: - lock_kernel(); spin_lock_irqsave(&efi_rtc_lock, flags); status = efi.get_time(&eft, &cap); spin_unlock_irqrestore(&efi_rtc_lock,flags); - unlock_kernel(); + if (status != EFI_SUCCESS) { /* should never happen */ printk(KERN_ERR "efitime: can't read time\n"); @@ -202,13 +199,11 @@ static long efi_rtc_ioctl(struct file *file, unsigned int cmd, convert_to_efi_time(&wtime, &eft); - lock_kernel(); spin_lock_irqsave(&efi_rtc_lock, flags); status = efi.set_time(&eft); spin_unlock_irqrestore(&efi_rtc_lock,flags); - unlock_kernel(); return status == EFI_SUCCESS ? 0 : -EINVAL; @@ -224,7 +219,6 @@ static long efi_rtc_ioctl(struct file *file, unsigned int cmd, convert_to_efi_time(&wtime, &eft); - lock_kernel(); spin_lock_irqsave(&efi_rtc_lock, flags); /* * XXX Fixme: @@ -235,19 +229,16 @@ static long efi_rtc_ioctl(struct file *file, unsigned int cmd, status = efi.set_wakeup_time((efi_bool_t)enabled, &eft); spin_unlock_irqrestore(&efi_rtc_lock,flags); - unlock_kernel(); return status == EFI_SUCCESS ? 0 : -EINVAL; case RTC_WKALM_RD: - lock_kernel(); spin_lock_irqsave(&efi_rtc_lock, flags); status = efi.get_wakeup_time((efi_bool_t *)&enabled, (efi_bool_t *)&pending, &eft); spin_unlock_irqrestore(&efi_rtc_lock,flags); - unlock_kernel(); if (status != EFI_SUCCESS) return -EINVAL; @@ -277,7 +268,6 @@ static int efi_rtc_open(struct inode *inode, struct file *file) * We do accept multiple open files at the same time as we * synchronize on the per call operation. */ - cycle_kernel_lock(); return 0; } -- cgit v1.2.3