[MIPS] Complete fixes after removal of pt_regs argument to int handlers.
[linux-drm-fsl-dcu.git] / arch / mips / kernel / rtlx.c
index 6179805af9f06954a26786273634aedd2b67277d..8c8c8324f775301e7ccfd16dfe77918771cd7e93 100644 (file)
@@ -61,16 +61,16 @@ static int sp_stopping = 0;
 
 extern void *vpe_get_shared(int index);
 
-static void rtlx_dispatch(struct pt_regs *regs)
+static void rtlx_dispatch(void)
 {
-       do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ, regs);
+       do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ);
 }
 
 
 /* Interrupt handler may be called before rtlx_init has otherwise had
    a chance to run.
 */
-static irqreturn_t rtlx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t rtlx_interrupt(int irq, void *dev_id)
 {
        int i;
 
@@ -398,15 +398,14 @@ ssize_t rtlx_write(int index, void *buffer, size_t count, int user)
 
 static int file_open(struct inode *inode, struct file *filp)
 {
-       int minor = MINOR(inode->i_rdev);
+       int minor = iminor(inode);
 
        return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1);
 }
 
 static int file_release(struct inode *inode, struct file *filp)
 {
-       int minor;
-       minor = MINOR(inode->i_rdev);
+       int minor = iminor(inode);
 
        return rtlx_release(minor);
 }
@@ -416,7 +415,7 @@ static unsigned int file_poll(struct file *file, poll_table * wait)
        int minor;
        unsigned int mask = 0;
 
-       minor = MINOR(file->f_dentry->d_inode->i_rdev);
+       minor = iminor(file->f_dentry->d_inode);
 
        poll_wait(file, &channel_wqs[minor].rt_queue, wait);
        poll_wait(file, &channel_wqs[minor].lx_queue, wait);
@@ -438,7 +437,7 @@ static unsigned int file_poll(struct file *file, poll_table * wait)
 static ssize_t file_read(struct file *file, char __user * buffer, size_t count,
                         loff_t * ppos)
 {
-       int minor = MINOR(file->f_dentry->d_inode->i_rdev);
+       int minor = iminor(file->f_dentry->d_inode);
 
        /* data available? */
        if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) {
@@ -455,7 +454,7 @@ static ssize_t file_write(struct file *file, const char __user * buffer,
        struct rtlx_channel *rt;
        DECLARE_WAITQUEUE(wait, current);
 
-       minor = MINOR(file->f_dentry->d_inode->i_rdev);
+       minor = iminor(file->f_dentry->d_inode);
        rt = &rtlx->channel[minor];
 
        /* any space left... */
@@ -488,7 +487,7 @@ static struct file_operations rtlx_fops = {
 
 static struct irqaction rtlx_irq = {
        .handler        = rtlx_interrupt,
-       .flags          = SA_INTERRUPT,
+       .flags          = IRQF_DISABLED,
        .name           = "RTLX",
 };