Commit 06e20672 authored by Frank Schaefer's avatar Frank Schaefer Committed by Mauro Carvalho Chehab

[media] em28xx: move struct em28xx_fmt *format from struct em28xx to struct v4l2

The analog format struct belongs to analog TV. Move it out of the
common em28xx struct.
Signed-off-by: default avatarFrank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 52faaf78
...@@ -222,7 +222,7 @@ static int em28xx_set_outfmt(struct em28xx *dev) ...@@ -222,7 +222,7 @@ static int em28xx_set_outfmt(struct em28xx *dev)
u8 fmt, vinctrl; u8 fmt, vinctrl;
struct em28xx_v4l2 *v4l2 = dev->v4l2; struct em28xx_v4l2 *v4l2 = dev->v4l2;
fmt = dev->format->reg; fmt = v4l2->format->reg;
if (!dev->is_em25xx) if (!dev->is_em25xx)
fmt |= 0x20; fmt |= 0x20;
/* /*
...@@ -877,7 +877,7 @@ static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, ...@@ -877,7 +877,7 @@ static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt,
size = fmt->fmt.pix.sizeimage; size = fmt->fmt.pix.sizeimage;
else else
size = size =
(v4l2->width * v4l2->height * dev->format->depth + 7) >> 3; (v4l2->width * v4l2->height * v4l2->format->depth + 7) >> 3;
if (size == 0) if (size == 0)
return -EINVAL; return -EINVAL;
...@@ -901,7 +901,7 @@ buffer_prepare(struct vb2_buffer *vb) ...@@ -901,7 +901,7 @@ buffer_prepare(struct vb2_buffer *vb)
em28xx_videodbg("%s, field=%d\n", __func__, vb->v4l2_buf.field); 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) { if (vb2_plane_size(vb, 0) < size) {
em28xx_videodbg("%s data will not fit into plane (%lu < %lu)\n", 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, ...@@ -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.width = v4l2->width;
f->fmt.pix.height = v4l2->height; f->fmt.pix.height = v4l2->height;
f->fmt.pix.pixelformat = dev->format->fourcc; f->fmt.pix.pixelformat = v4l2->format->fourcc;
f->fmt.pix.bytesperline = (v4l2->width * dev->format->depth + 7) >> 3; f->fmt.pix.bytesperline = (v4l2->width * v4l2->format->depth + 7) >> 3;
f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * v4l2->height; f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * v4l2->height;
f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
...@@ -1315,7 +1315,7 @@ static int em28xx_set_video_format(struct em28xx *dev, unsigned int fourcc, ...@@ -1315,7 +1315,7 @@ static int em28xx_set_video_format(struct em28xx *dev, unsigned int fourcc,
if (!fmt) if (!fmt)
return -EINVAL; return -EINVAL;
dev->format = fmt; v4l2->format = fmt;
v4l2->width = width; v4l2->width = width;
v4l2->height = height; v4l2->height = height;
...@@ -2429,7 +2429,7 @@ static int em28xx_v4l2_init(struct em28xx *dev) ...@@ -2429,7 +2429,7 @@ static int em28xx_v4l2_init(struct em28xx *dev)
dev->interlaced = EM28XX_INTERLACED_DEFAULT; dev->interlaced = EM28XX_INTERLACED_DEFAULT;
/* Analog specific initialization */ /* Analog specific initialization */
dev->format = &format[0]; v4l2->format = &format[0];
maxw = norm_maxw(dev); maxw = norm_maxw(dev);
/* MaxPacketSize for em2800 is too small to capture at full resolution /* MaxPacketSize for em2800 is too small to capture at full resolution
......
...@@ -519,6 +519,7 @@ struct em28xx_v4l2 { ...@@ -519,6 +519,7 @@ struct em28xx_v4l2 {
u8 vinmode; u8 vinmode;
u8 vinctl; u8 vinctl;
struct em28xx_fmt *format;
v4l2_std_id norm; /* selected tv norm */ v4l2_std_id norm; /* selected tv norm */
/* Frame properties */ /* Frame properties */
...@@ -607,8 +608,6 @@ struct em28xx { ...@@ -607,8 +608,6 @@ struct em28xx {
struct work_struct wq_trigger; /* Trigger to start/stop audio for alsa module */ struct work_struct wq_trigger; /* Trigger to start/stop audio for alsa module */
atomic_t stream_started; /* stream should be running if true */ atomic_t stream_started; /* stream should be running if true */
struct em28xx_fmt *format;
/* Some older em28xx chips needs a waiting time after writing */ /* Some older em28xx chips needs a waiting time after writing */
unsigned int wait_after_write; unsigned int wait_after_write;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment