Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
[pandora-kernel.git] / drivers / char / watchdog / sa1100_wdt.c
index fb88b40..1fc16d9 100644 (file)
@@ -17,7 +17,6 @@
  *
  *      27/11/2000 Initial release
  */
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/types.h>
@@ -74,7 +73,7 @@ static int sa1100dog_release(struct inode *inode, struct file *file)
        return 0;
 }
 
-static ssize_t sa1100dog_write(struct file *file, const char *data, size_t len, loff_t *ppos)
+static ssize_t sa1100dog_write(struct file *file, const char __user *data, size_t len, loff_t *ppos)
 {
        if (len)
                /* Refresh OSMR3 timer. */
@@ -93,23 +92,25 @@ static int sa1100dog_ioctl(struct inode *inode, struct file *file,
 {
        int ret = -ENOIOCTLCMD;
        int time;
+       void __user *argp = (void __user *)arg;
+       int __user *p = argp;
 
        switch (cmd) {
        case WDIOC_GETSUPPORT:
-               ret = copy_to_user((struct watchdog_info *)arg, &ident,
+               ret = copy_to_user(argp, &ident,
                                   sizeof(ident)) ? -EFAULT : 0;
                break;
 
        case WDIOC_GETSTATUS:
-               ret = put_user(0, (int *)arg);
+               ret = put_user(0, p);
                break;
 
        case WDIOC_GETBOOTSTATUS:
-               ret = put_user(boot_status, (int *)arg);
+               ret = put_user(boot_status, p);
                break;
 
        case WDIOC_SETTIMEOUT:
-               ret = get_user(time, (int *)arg);
+               ret = get_user(time, p);
                if (ret)
                        break;
 
@@ -123,7 +124,7 @@ static int sa1100dog_ioctl(struct inode *inode, struct file *file,
                /*fall through*/
 
        case WDIOC_GETTIMEOUT:
-               ret = put_user(pre_margin / OSCR_FREQ, (int *)arg);
+               ret = put_user(pre_margin / OSCR_FREQ, p);
                break;
 
        case WDIOC_KEEPALIVE:
@@ -134,7 +135,7 @@ static int sa1100dog_ioctl(struct inode *inode, struct file *file,
        return ret;
 }
 
-static struct file_operations sa1100dog_fops =
+static const struct file_operations sa1100dog_fops =
 {
        .owner          = THIS_MODULE,
        .llseek         = no_llseek,