|
Lines 620-626
Link Here
|
| 620 |
|
620 |
|
| 621 |
unsigned int lirc_dev_fop_poll(struct file *file, poll_table *wait) |
621 |
unsigned int lirc_dev_fop_poll(struct file *file, poll_table *wait) |
| 622 |
{ |
622 |
{ |
| 623 |
struct irctl *ir = irctls[iminor(file->f_dentry->d_inode)]; |
623 |
struct irctl *ir = irctls[iminor(file->f_path.dentry->d_inode)]; |
| 624 |
unsigned int ret; |
624 |
unsigned int ret; |
| 625 |
|
625 |
|
| 626 |
if (!ir) { |
626 |
if (!ir) { |
|
Lines 666-672
Link Here
|
| 666 |
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35) |
666 |
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35) |
| 667 |
struct irctl *ir = irctls[iminor(inode)]; |
667 |
struct irctl *ir = irctls[iminor(inode)]; |
| 668 |
#else |
668 |
#else |
| 669 |
struct irctl *ir = irctls[iminor(file->f_dentry->d_inode)]; |
669 |
struct irctl *ir = irctls[iminor(file->f_path.dentry->d_inode)]; |
| 670 |
#endif |
670 |
#endif |
| 671 |
if (!ir) { |
671 |
if (!ir) { |
| 672 |
printk(KERN_ERR "lirc_dev: %s: no irctl found!\n", __func__); |
672 |
printk(KERN_ERR "lirc_dev: %s: no irctl found!\n", __func__); |
|
Lines 751-757
Link Here
|
| 751 |
size_t length, |
751 |
size_t length, |
| 752 |
loff_t *ppos) |
752 |
loff_t *ppos) |
| 753 |
{ |
753 |
{ |
| 754 |
struct irctl *ir = irctls[iminor(file->f_dentry->d_inode)]; |
754 |
struct irctl *ir = irctls[iminor(file->f_path.dentry->d_inode)]; |
| 755 |
unsigned char *buf; |
755 |
unsigned char *buf; |
| 756 |
int ret = 0, written = 0; |
756 |
int ret = 0, written = 0; |
| 757 |
DECLARE_WAITQUEUE(wait, current); |
757 |
DECLARE_WAITQUEUE(wait, current); |
|
Lines 852-861
Link Here
|
| 852 |
{ |
852 |
{ |
| 853 |
void *data = NULL; |
853 |
void *data = NULL; |
| 854 |
|
854 |
|
| 855 |
if (file && file->f_dentry && file->f_dentry->d_inode && |
855 |
if (file && file->f_path.dentry && file->f_path.dentry->d_inode && |
| 856 |
file->f_dentry->d_inode->i_rdev) { |
856 |
file->f_path.dentry->d_inode->i_rdev) { |
| 857 |
struct irctl *ir; |
857 |
struct irctl *ir; |
| 858 |
ir = irctls[iminor(file->f_dentry->d_inode)]; |
858 |
ir = irctls[iminor(file->f_path.dentry->d_inode)]; |
| 859 |
data = ir->d.data; |
859 |
data = ir->d.data; |
| 860 |
} |
860 |
} |
| 861 |
|
861 |
|
|
Lines 867-873
Link Here
|
| 867 |
ssize_t lirc_dev_fop_write(struct file *file, const char *buffer, |
867 |
ssize_t lirc_dev_fop_write(struct file *file, const char *buffer, |
| 868 |
size_t length, loff_t *ppos) |
868 |
size_t length, loff_t *ppos) |
| 869 |
{ |
869 |
{ |
| 870 |
struct irctl *ir = irctls[iminor(file->f_dentry->d_inode)]; |
870 |
struct irctl *ir = irctls[iminor(file->f_path.dentry->d_inode)]; |
| 871 |
|
871 |
|
| 872 |
if (!ir) { |
872 |
if (!ir) { |
| 873 |
printk(KERN_ERR "%s: called with invalid irctl\n", __func__); |
873 |
printk(KERN_ERR "%s: called with invalid irctl\n", __func__); |