[media] saa7164: add v4l2_fh support
authorHans Verkuil <hans.verkuil@cisco.com>
Fri, 28 Aug 2015 11:48:27 +0000 (08:48 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 1 Oct 2015 11:13:58 +0000 (08:13 -0300)
Control events require the use of struct v4l2_fh. Add this to saa7164.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/pci/saa7164/saa7164-encoder.c
drivers/media/pci/saa7164/saa7164-vbi.c
drivers/media/pci/saa7164/saa7164.h

index 390211bd352ffc15c7495ec5f37688680ad0e5de..96dd1e483c793bca3ed74d6c958f498a5a1061f6 100644 (file)
@@ -746,8 +746,10 @@ static int fops_open(struct file *file)
        if (NULL == fh)
                return -ENOMEM;
 
-       file->private_data = fh;
        fh->port = port;
+       v4l2_fh_init(&fh->fh, video_devdata(file));
+       v4l2_fh_add(&fh->fh);
+       file->private_data = fh;
 
        return 0;
 }
@@ -768,7 +770,8 @@ static int fops_release(struct file *file)
                }
        }
 
-       file->private_data = NULL;
+       v4l2_fh_del(&fh->fh);
+       v4l2_fh_exit(&fh->fh);
        kfree(fh);
 
        return 0;
index 4858f59750a82ee5e67211ebbb565ac0361d196f..2f9c87d6a1140824925c4326761d4fc8dd9dbc47 100644 (file)
@@ -678,8 +678,10 @@ static int fops_open(struct file *file)
        if (NULL == fh)
                return -ENOMEM;
 
-       file->private_data = fh;
        fh->port = port;
+       v4l2_fh_init(&fh->fh, video_devdata(file));
+       v4l2_fh_add(&fh->fh);
+       file->private_data = fh;
 
        return 0;
 }
@@ -700,7 +702,8 @@ static int fops_release(struct file *file)
                }
        }
 
-       file->private_data = NULL;
+       v4l2_fh_del(&fh->fh);
+       v4l2_fh_exit(&fh->fh);
        kfree(fh);
 
        return 0;
index b3828c6db7162b6da991db050eede778d725a073..05707e393b2c5ac95c1d4aeffa638e76da6f7755 100644 (file)
@@ -186,11 +186,13 @@ struct saa7164_subid {
 };
 
 struct saa7164_encoder_fh {
+       struct v4l2_fh fh;
        struct saa7164_port *port;
        atomic_t v4l_reading;
 };
 
 struct saa7164_vbi_fh {
+       struct v4l2_fh fh;
        struct saa7164_port *port;
        atomic_t v4l_reading;
 };