]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/mips/kernel/rtlx.c
Merge branch 'sfc-3.9' into master
[karo-tx-linux.git] / arch / mips / kernel / rtlx.c
index b8c18dcdd2c439999f981ee8edff808b8a06c0f5..93c070b41b0dae92307bc408284f057cb287b825 100644 (file)
@@ -252,12 +252,12 @@ int rtlx_release(int index)
 
 unsigned int rtlx_read_poll(int index, int can_sleep)
 {
-       struct rtlx_channel *chan;
+       struct rtlx_channel *chan;
 
-       if (rtlx == NULL)
-               return 0;
+       if (rtlx == NULL)
+               return 0;
 
-       chan = &rtlx->channel[index];
+       chan = &rtlx->channel[index];
 
        /* data available to read? */
        if (chan->lx_read == chan->lx_write) {
@@ -399,11 +399,9 @@ static int file_release(struct inode *inode, struct file *filp)
 
 static unsigned int file_poll(struct file *file, poll_table * wait)
 {
-       int minor;
+       int minor = iminor(file_inode(file));
        unsigned int mask = 0;
 
-       minor = iminor(file->f_path.dentry->d_inode);
-
        poll_wait(file, &channel_wqs[minor].rt_queue, wait);
        poll_wait(file, &channel_wqs[minor].lx_queue, wait);
 
@@ -424,7 +422,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 = iminor(file->f_path.dentry->d_inode);
+       int minor = iminor(file_inode(file));
 
        /* data available? */
        if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) {
@@ -437,11 +435,8 @@ static ssize_t file_read(struct file *file, char __user * buffer, size_t count,
 static ssize_t file_write(struct file *file, const char __user * buffer,
                          size_t count, loff_t * ppos)
 {
-       int minor;
-       struct rtlx_channel *rt;
-
-       minor = iminor(file->f_path.dentry->d_inode);
-       rt = &rtlx->channel[minor];
+       int minor = iminor(file_inode(file));
+       struct rtlx_channel *rt = &rtlx->channel[minor];
 
        /* any space left... */
        if (!rtlx_write_poll(minor)) {
@@ -451,8 +446,8 @@ static ssize_t file_write(struct file *file, const char __user * buffer,
                        return -EAGAIN;
 
                __wait_event_interruptible(channel_wqs[minor].rt_queue,
-                                          rtlx_write_poll(minor),
-                                          ret);
+                                          rtlx_write_poll(minor),
+                                          ret);
                if (ret)
                        return ret;
        }
@@ -462,11 +457,11 @@ static ssize_t file_write(struct file *file, const char __user * buffer,
 
 static const struct file_operations rtlx_fops = {
        .owner =   THIS_MODULE,
-       .open =    file_open,
+       .open =    file_open,
        .release = file_release,
        .write =   file_write,
-       .read =    file_read,
-       .poll =    file_poll,
+       .read =    file_read,
+       .poll =    file_poll,
        .llseek =  noop_llseek,
 };