new helper: file_inode(file)
[linux-drm-fsl-dcu.git] / arch / mips / kernel / rtlx.c
index b8c18dcdd2c439999f981ee8edff808b8a06c0f5..88f7b50d541cf693497b32da4b9bb04577b4a66b 100644 (file)
@@ -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)) {