[media] saa7134: move the overlay fields from saa7134_fh to saa7134_dev
authorHans Verkuil <hans.verkuil@cisco.com>
Fri, 31 May 2013 11:22:24 +0000 (08:22 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 17 Jun 2013 13:08:27 +0000 (10:08 -0300)
This is global data, not per-filehandle data.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/pci/saa7134/saa7134-video.c
drivers/media/pci/saa7134/saa7134.h

index aa1a73e..331eded 100644 (file)
@@ -872,20 +872,20 @@ static int start_preview(struct saa7134_dev *dev, struct saa7134_fh *fh)
        unsigned long base,control,bpl;
        int err;
 
-       err = verify_preview(dev,&fh->win);
+       err = verify_preview(dev, &dev->win);
        if (0 != err)
                return err;
 
-       dev->ovfield = fh->win.field;
+       dev->ovfield = dev->win.field;
        dprintk("start_preview %dx%d+%d+%d %s field=%s\n",
-               fh->win.w.width,fh->win.w.height,
-               fh->win.w.left,fh->win.w.top,
-               dev->ovfmt->name,v4l2_field_names[dev->ovfield]);
+               dev->win.w.width, dev->win.w.height,
+               dev->win.w.left, dev->win.w.top,
+               dev->ovfmt->name, v4l2_field_names[dev->ovfield]);
 
        /* setup window + clipping */
-       set_size(dev,TASK_B,fh->win.w.width,fh->win.w.height,
+       set_size(dev, TASK_B, dev->win.w.width, dev->win.w.height,
                 V4L2_FIELD_HAS_BOTH(dev->ovfield));
-       setup_clipping(dev,fh->clips,fh->nclips,
+       setup_clipping(dev, dev->clips, dev->nclips,
                       V4L2_FIELD_HAS_BOTH(dev->ovfield));
        if (dev->ovfmt->yuv)
                saa_andorb(SAA7134_DATA_PATH(TASK_B), 0x3f, 0x03);
@@ -895,8 +895,8 @@ static int start_preview(struct saa7134_dev *dev, struct saa7134_fh *fh)
 
        /* dma: setup channel 1 (= Video Task B) */
        base  = (unsigned long)dev->ovbuf.base;
-       base += dev->ovbuf.fmt.bytesperline * fh->win.w.top;
-       base += dev->ovfmt->depth/8         * fh->win.w.left;
+       base += dev->ovbuf.fmt.bytesperline * dev->win.w.top;
+       base += dev->ovfmt->depth/8         * dev->win.w.left;
        bpl   = dev->ovbuf.fmt.bytesperline;
        control = SAA7134_RS_CONTROL_BURST_16;
        if (dev->ovfmt->bswap)
@@ -1572,12 +1572,13 @@ static int saa7134_g_fmt_vid_overlay(struct file *file, void *priv,
                                struct v4l2_format *f)
 {
        struct saa7134_fh *fh = priv;
+       struct saa7134_dev *dev = fh->dev;
 
        if (saa7134_no_overlay > 0) {
                printk(KERN_ERR "V4L2_BUF_TYPE_VIDEO_OVERLAY: no_overlay\n");
                return -EINVAL;
        }
-       f->fmt.win = fh->win;
+       f->fmt.win = dev->win;
 
        return 0;
 }
@@ -1682,14 +1683,14 @@ static int saa7134_s_fmt_vid_overlay(struct file *file, void *priv,
 
        mutex_lock(&dev->lock);
 
-       fh->win    = f->fmt.win;
-       fh->nclips = f->fmt.win.clipcount;
+       dev->win    = f->fmt.win;
+       dev->nclips = f->fmt.win.clipcount;
 
-       if (fh->nclips > 8)
-               fh->nclips = 8;
+       if (dev->nclips > 8)
+               dev->nclips = 8;
 
-       if (copy_from_user(fh->clips, f->fmt.win.clips,
-                          sizeof(struct v4l2_clip)*fh->nclips)) {
+       if (copy_from_user(dev->clips, f->fmt.win.clips,
+                          sizeof(struct v4l2_clip) * dev->nclips)) {
                mutex_unlock(&dev->lock);
                return -EFAULT;
        }
index a103678..fa21d14 100644 (file)
@@ -474,11 +474,6 @@ struct saa7134_fh {
        unsigned int               resources;
        struct pm_qos_request      qos_request;
 
-       /* video overlay */
-       struct v4l2_window         win;
-       struct v4l2_clip           clips[8];
-       unsigned int               nclips;
-
        /* video capture */
        struct saa7134_format      *fmt;
        unsigned int               width,height;
@@ -590,6 +585,10 @@ struct saa7134_dev {
        struct saa7134_format      *ovfmt;
        unsigned int               ovenable;
        enum v4l2_field            ovfield;
+       struct v4l2_window         win;
+       struct v4l2_clip           clips[8];
+       unsigned int               nclips;
+
 
        /* video+ts+vbi capture */
        struct saa7134_dmaqueue    video_q;