]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/sbus/char/cpwatchdog.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
[linux-2.6-omap-h63xx.git] / drivers / sbus / char / cpwatchdog.c
index 21737b7e86a1ccbe78647347625b94e9fc7b74b5..022e869c44ddf77373370e4b0ee57e49342b9508 100644 (file)
@@ -10,8 +10,6 @@
  *                     timer interrupts.  We use a timer to periodically 
  *                     reset 'stopped' watchdogs on affected platforms.
  *
- * TODO:       DevFS support (/dev/watchdogs/0 ... /dev/watchdogs/2)
- *
  * Copyright (c) 2000 Eric Brower (ebrower@usa.net)
  */
 
@@ -22,7 +20,6 @@
 #include <linux/major.h>
 #include <linux/init.h>
 #include <linux/miscdevice.h>
-#include <linux/sched.h>
 #include <linux/interrupt.h>
 #include <linux/ioport.h>
 #include <linux/timer.h>
@@ -187,7 +184,7 @@ MODULE_SUPPORTED_DEVICE
 #ifdef WD_DEBUG
 static void wd_dumpregs(void);
 #endif
-static irqreturn_t wd_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t wd_interrupt(int irq, void *dev_id);
 static void wd_toggleintr(struct wd_timer* pTimer, int enable);
 static void wd_pingtimer(struct wd_timer* pTimer);
 static void wd_starttimer(struct wd_timer* pTimer);
@@ -301,7 +298,7 @@ static int wd_open(struct inode *inode, struct file *f)
        {       
                if (request_irq(wd_dev.irq, 
                                                &wd_interrupt, 
-                                               SA_SHIRQ,
+                                               IRQF_SHARED,
                                                WD_OBPNAME,
                                                (void *)wd_dev.regs)) {
                        printk("%s: Cannot register IRQ %d\n", 
@@ -406,7 +403,7 @@ static long wd_compat_ioctl(struct file *file, unsigned int cmd,
        case WIOCSTOP:
        case WIOCGSTAT:
                lock_kernel();
-               rval = wd_ioctl(file->f_dentry->d_inode, file, cmd, arg);
+               rval = wd_ioctl(file->f_path.dentry->d_inode, file, cmd, arg);
                unlock_kernel();
                break;
        /* everything else is handled by the generic compat layer */
@@ -446,7 +443,7 @@ static ssize_t wd_read(struct file * file, char __user *buffer,
 #endif /* ifdef WD_DEBUG */
 }
 
-static irqreturn_t wd_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t wd_interrupt(int irq, void *dev_id)
 {
        /* Only WD0 will interrupt-- others are NMI and we won't
         * see them here....
@@ -461,7 +458,7 @@ static irqreturn_t wd_interrupt(int irq, void *dev_id, struct pt_regs *regs)
        return IRQ_HANDLED;
 }
 
-static struct file_operations wd_fops = {
+static const struct file_operations wd_fops = {
        .owner =        THIS_MODULE,
        .ioctl =        wd_ioctl,
        .compat_ioctl = wd_compat_ioctl,