git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Pull sony into release branch
[pandora-kernel.git]
/
arch
/
m68k
/
bvme6000
/
rtc.c
diff --git
a/arch/m68k/bvme6000/rtc.c
b/arch/m68k/bvme6000/rtc.c
index
f7573f2
..
a812d03
100644
(file)
--- a/
arch/m68k/bvme6000/rtc.c
+++ b/
arch/m68k/bvme6000/rtc.c
@@
-18,6
+18,7
@@
#include <linux/module.h>
#include <linux/mc146818rtc.h> /* For struct rtc_time and ioctls, etc */
#include <linux/smp_lock.h>
#include <linux/module.h>
#include <linux/mc146818rtc.h> /* For struct rtc_time and ioctls, etc */
#include <linux/smp_lock.h>
+#include <linux/bcd.h>
#include <asm/bvme6000hw.h>
#include <asm/io.h>
#include <asm/bvme6000hw.h>
#include <asm/io.h>
@@
-32,9
+33,6
@@
* ioctls.
*/
* ioctls.
*/
-#define BCD2BIN(val) (((val)&15) + ((val)>>4)*10)
-#define BIN2BCD(val) ((((val)/10)<<4) + (val)%10)
-
static unsigned char days_in_mo[] =
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static unsigned char days_in_mo[] =
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
@@
-47,6
+45,7
@@
static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
unsigned char msr;
unsigned long flags;
struct rtc_time wtime;
unsigned char msr;
unsigned long flags;
struct rtc_time wtime;
+ void __user *argp = (void __user *)arg;
switch (cmd) {
case RTC_RD_TIME: /* Read the time/date from RTC */
switch (cmd) {
case RTC_RD_TIME: /* Read the time/date from RTC */
@@
-69,7
+68,7
@@
static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
} while (wtime.tm_sec != BCD2BIN(rtc->bcd_sec));
rtc->msr = msr;
local_irq_restore(flags);
} while (wtime.tm_sec != BCD2BIN(rtc->bcd_sec));
rtc->msr = msr;
local_irq_restore(flags);
- return copy_to_user(
(void *)arg
, &wtime, sizeof wtime) ?
+ return copy_to_user(
argp
, &wtime, sizeof wtime) ?
-EFAULT : 0;
}
case RTC_SET_TIME: /* Set the RTC */
-EFAULT : 0;
}
case RTC_SET_TIME: /* Set the RTC */
@@
-81,8
+80,7
@@
static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
if (!capable(CAP_SYS_ADMIN))
return -EACCES;
if (!capable(CAP_SYS_ADMIN))
return -EACCES;
- 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;
yrs = rtc_tm.tm_year;
return -EFAULT;
yrs = rtc_tm.tm_year;
@@
-161,7
+159,7
@@
static int rtc_release(struct inode *inode, struct file *file)
* The various file operations we support.
*/
* The various file operations we support.
*/
-static struct file_operations rtc_fops = {
+static
const
struct file_operations rtc_fops = {
.ioctl = rtc_ioctl,
.open = rtc_open,
.release = rtc_release,
.ioctl = rtc_ioctl,
.open = rtc_open,
.release = rtc_release,