OSDN Git Service

[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 390211b..96dd1e4 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 4858f59..2f9c87d 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 b3828c6..05707e3 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;
 };