upstream: [media] em28xx: move struct em28xx_fmt *format from struct em28xx to struct...
authorFrank Schaefer <fschaefer.oss@googlemail.com>
Mon, 24 Mar 2014 19:33:17 +0000 (16:33 -0300)
committerChanho Park <chanho61.park@samsung.com>
Thu, 7 Aug 2014 05:27:01 +0000 (14:27 +0900)
The analog format struct belongs to analog TV. Move it out of the
common em28xx struct.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/em28xx/em28xx-video.c
drivers/media/usb/em28xx/em28xx.h

index 52eabda..40e7c5f 100644 (file)
@@ -222,7 +222,7 @@ static int em28xx_set_outfmt(struct em28xx *dev)
        u8 fmt, vinctrl;
        struct em28xx_v4l2 *v4l2 = dev->v4l2;
 
-       fmt = dev->format->reg;
+       fmt = v4l2->format->reg;
        if (!dev->is_em25xx)
                fmt |= 0x20;
        /*
@@ -877,7 +877,7 @@ static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt,
                size = fmt->fmt.pix.sizeimage;
        else
                size =
-                    (v4l2->width * v4l2->height * dev->format->depth + 7) >> 3;
+                   (v4l2->width * v4l2->height * v4l2->format->depth + 7) >> 3;
 
        if (size == 0)
                return -EINVAL;
@@ -901,7 +901,7 @@ buffer_prepare(struct vb2_buffer *vb)
 
        em28xx_videodbg("%s, field=%d\n", __func__, vb->v4l2_buf.field);
 
-       size = (v4l2->width * v4l2->height * dev->format->depth + 7) >> 3;
+       size = (v4l2->width * v4l2->height * v4l2->format->depth + 7) >> 3;
 
        if (vb2_plane_size(vb, 0) < size) {
                em28xx_videodbg("%s data will not fit into plane (%lu < %lu)\n",
@@ -1224,8 +1224,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv,
 
        f->fmt.pix.width = v4l2->width;
        f->fmt.pix.height = v4l2->height;
-       f->fmt.pix.pixelformat = dev->format->fourcc;
-       f->fmt.pix.bytesperline = (v4l2->width * dev->format->depth + 7) >> 3;
+       f->fmt.pix.pixelformat = v4l2->format->fourcc;
+       f->fmt.pix.bytesperline = (v4l2->width * v4l2->format->depth + 7) >> 3;
        f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * v4l2->height;
        f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
 
@@ -1315,7 +1315,7 @@ static int em28xx_set_video_format(struct em28xx *dev, unsigned int fourcc,
        if (!fmt)
                return -EINVAL;
 
-       dev->format = fmt;
+       v4l2->format = fmt;
        v4l2->width  = width;
        v4l2->height = height;
 
@@ -2429,7 +2429,7 @@ static int em28xx_v4l2_init(struct em28xx *dev)
        dev->interlaced = EM28XX_INTERLACED_DEFAULT;
 
        /* Analog specific initialization */
-       dev->format = &format[0];
+       v4l2->format = &format[0];
 
        maxw = norm_maxw(dev);
        /* MaxPacketSize for em2800 is too small to capture at full resolution
index 5cf4234..ef23803 100644 (file)
@@ -519,6 +519,7 @@ struct em28xx_v4l2 {
        u8 vinmode;
        u8 vinctl;
 
+       struct em28xx_fmt *format;
        v4l2_std_id norm;       /* selected tv norm */
 
        /* Frame properties */
@@ -607,8 +608,6 @@ struct em28xx {
        struct work_struct wq_trigger;  /* Trigger to start/stop audio for alsa module */
        atomic_t       stream_started;  /* stream should be running if true */
 
-       struct em28xx_fmt *format;
-
        /* Some older em28xx chips needs a waiting time after writing */
        unsigned int wait_after_write;