summaryrefslogtreecommitdiff
path: root/arch/cris/arch-v10/drivers/ds1302.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-06-01 15:51:25 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2010-06-01 15:51:25 (GMT)
commitb904d7131d116900524bd36ec170dcd97846bfd3 (patch)
treeacd97b3f0027a8dd8659181a316677ee9f578bcc /arch/cris/arch-v10/drivers/ds1302.c
parent2e8949f09e3097c629f33323eaf280cf5c88c81a (diff)
parent4150764fbba03ce4675b02b10872c665bb05a8aa (diff)
downloadlinux-fsl-qoriq-b904d7131d116900524bd36ec170dcd97846bfd3.tar.xz
Merge branch 'for-linus' of git://www.jni.nu/cris
* 'for-linus' of git://www.jni.nu/cris: CRIS: Don't use mask_irq as symbol name CRIS: Simplify param.h by simply including <asm-generic/param.h> CRISv10: Whitespace fixes for hw_settings.S CRISv10: Trivial fixes. CRISv32: Fix RS485 port 4 CD Kconfig item. CRISv32: Remove duplicated Kconfig items. cris: push down BKL into some device drivers
Diffstat (limited to 'arch/cris/arch-v10/drivers/ds1302.c')
-rw-r--r--arch/cris/arch-v10/drivers/ds1302.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/arch/cris/arch-v10/drivers/ds1302.c b/arch/cris/arch-v10/drivers/ds1302.c
index 77630df..8842756 100644
--- a/arch/cris/arch-v10/drivers/ds1302.c
+++ b/arch/cris/arch-v10/drivers/ds1302.c
@@ -19,6 +19,7 @@
#include <linux/module.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
+#include <linux/smp_lock.h>
#include <linux/bcd.h>
#include <linux/capability.h>
@@ -238,9 +239,7 @@ static unsigned char days_in_mo[] =
/* ioctl that supports RTC_RD_TIME and RTC_SET_TIME (read and set time/date). */
-static int
-rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
- unsigned long arg)
+static int rtc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{
unsigned long flags;
@@ -354,6 +353,17 @@ rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
}
}
+static long rtc_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+ int ret;
+
+ lock_kernel();
+ ret = rtc_ioctl(file, cmd, arg);
+ unlock_kernel();
+
+ return ret;
+}
+
static void
print_rtc_status(void)
{
@@ -375,8 +385,8 @@ print_rtc_status(void)
/* The various file operations we support. */
static const struct file_operations rtc_fops = {
- .owner = THIS_MODULE,
- .ioctl = rtc_ioctl,
+ .owner = THIS_MODULE,
+ .unlocked_ioctl = rtc_unlocked_ioctl,
};
/* Probe for the chip by writing something to its RAM and try reading it back. */