]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/media/rc/lirc_dev.c
[media] media: lirc: Allow lirc dev to talk to rc device
[karo-tx-linux.git] / drivers / media / rc / lirc_dev.c
index 8dc057b273f25b49f7f4960896828c9437e3b489..dc5cbffcd5a26a4702b578e97c995e527b644236 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/device.h>
 #include <linux/cdev.h>
 
+#include <media/rc-core.h>
 #include <media/lirc.h>
 #include <media/lirc_dev.h>
 
@@ -467,6 +468,12 @@ int lirc_dev_fop_open(struct inode *inode, struct file *file)
                goto error;
        }
 
+       if (ir->d.rdev) {
+               retval = rc_open(ir->d.rdev);
+               if (retval)
+                       goto error;
+       }
+
        cdev = ir->cdev;
        if (try_module_get(cdev->owner)) {
                ir->open++;
@@ -511,6 +518,9 @@ int lirc_dev_fop_close(struct inode *inode, struct file *file)
 
        WARN_ON(mutex_lock_killable(&lirc_dev_lock));
 
+       if (ir->d.rdev)
+               rc_close(ir->d.rdev);
+
        ir->open--;
        if (ir->attached) {
                ir->d.set_use_dec(ir->d.data);