git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
sbus
/
char
/
rtc.c
diff --git
a/drivers/sbus/char/rtc.c
b/drivers/sbus/char/rtc.c
index
2d6f684
..
bf3273e
100644
(file)
--- a/
drivers/sbus/char/rtc.c
+++ b/
drivers/sbus/char/rtc.c
@@
-20,6
+20,7
@@
#include <linux/poll.h>
#include <linux/init.h>
#include <linux/smp_lock.h>
#include <linux/poll.h>
#include <linux/init.h>
#include <linux/smp_lock.h>
+#include <asm/io.h>
#include <asm/mostek.h>
#include <asm/system.h>
#include <asm/uaccess.h>
#include <asm/mostek.h>
#include <asm/system.h>
#include <asm/uaccess.h>
@@
-30,7
+31,7
@@
static int rtc_busy = 0;
/* Retrieve the current date and time from the real time clock. */
static void get_rtc_time(struct rtc_time *t)
{
/* Retrieve the current date and time from the real time clock. */
static void get_rtc_time(struct rtc_time *t)
{
-
unsigned long
regs = mstk48t02_regs;
+
void * __iomem
regs = mstk48t02_regs;
u8 tmp;
spin_lock_irq(&mostek_lock);
u8 tmp;
spin_lock_irq(&mostek_lock);
@@
-57,7
+58,7
@@
static void get_rtc_time(struct rtc_time *t)
/* Set the current date and time inthe real time clock. */
void set_rtc_time(struct rtc_time *t)
{
/* Set the current date and time inthe real time clock. */
void set_rtc_time(struct rtc_time *t)
{
-
unsigned long
regs = mstk48t02_regs;
+
void * __iomem
regs = mstk48t02_regs;
u8 tmp;
spin_lock_irq(&mostek_lock);
u8 tmp;
spin_lock_irq(&mostek_lock);
@@
-85,6
+86,7
@@
static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
unsigned long arg)
{
struct rtc_time rtc_tm;
unsigned long arg)
{
struct rtc_time rtc_tm;
+ void __user *argp = (void __user *)arg;
switch (cmd)
{
switch (cmd)
{
@@
-92,7
+94,7
@@
static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
memset(&rtc_tm, 0, sizeof(struct rtc_time));
get_rtc_time(&rtc_tm);
memset(&rtc_tm, 0, sizeof(struct rtc_time));
get_rtc_time(&rtc_tm);
- if (copy_to_user(
(struct rtc_time*)arg
, &rtc_tm, sizeof(struct rtc_time)))
+ if (copy_to_user(
argp
, &rtc_tm, sizeof(struct rtc_time)))
return -EFAULT;
return 0;
return -EFAULT;
return 0;
@@
-102,7
+104,7
@@
static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
if (!capable(CAP_SYS_TIME))
return -EPERM;
if (!capable(CAP_SYS_TIME))
return -EPERM;
- if (copy_from_user(&rtc_tm,
(struct rtc_time*)arg
, sizeof(struct rtc_time)))
+ if (copy_from_user(&rtc_tm,
argp
, sizeof(struct rtc_time)))
return -EFAULT;
set_rtc_time(&rtc_tm);
return -EFAULT;
set_rtc_time(&rtc_tm);