Commit b61789f5 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

media: drivers/media: don't set pix->priv = 0

The priv field of struct v4l2_pix_format shouldn't be set by drivers,
it's set by the v4l2 core instead to V4L2_PIX_FMT_PRIV_MAGIC.

Drop this from the few media drivers that still do this.

Note that the gspca patch is slightly more involved since some of the
sub-gspca drivers use the priv field internally.
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
[hverkuil-cisco@xs4all.nl: fix clash in gspca between priv arg and priv variable]
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 7708065f
...@@ -785,7 +785,6 @@ static int cobalt_try_fmt_vid_cap(struct file *file, void *priv_fh, ...@@ -785,7 +785,6 @@ static int cobalt_try_fmt_vid_cap(struct file *file, void *priv_fh,
pix->sizeimage = pix->bytesperline * pix->height; pix->sizeimage = pix->bytesperline * pix->height;
pix->field = V4L2_FIELD_NONE; pix->field = V4L2_FIELD_NONE;
pix->priv = 0;
return 0; return 0;
} }
......
...@@ -879,7 +879,6 @@ static int solo_enc_try_fmt_cap(struct file *file, void *priv, ...@@ -879,7 +879,6 @@ static int solo_enc_try_fmt_cap(struct file *file, void *priv,
pix->colorspace = V4L2_COLORSPACE_SMPTE170M; pix->colorspace = V4L2_COLORSPACE_SMPTE170M;
pix->sizeimage = FRAME_BUF_SIZE; pix->sizeimage = FRAME_BUF_SIZE;
pix->bytesperline = 0; pix->bytesperline = 0;
pix->priv = 0;
return 0; return 0;
} }
...@@ -934,7 +933,6 @@ static int solo_enc_get_fmt_cap(struct file *file, void *priv, ...@@ -934,7 +933,6 @@ static int solo_enc_get_fmt_cap(struct file *file, void *priv,
V4L2_FIELD_NONE; V4L2_FIELD_NONE;
pix->sizeimage = FRAME_BUF_SIZE; pix->sizeimage = FRAME_BUF_SIZE;
pix->colorspace = V4L2_COLORSPACE_SMPTE170M; pix->colorspace = V4L2_COLORSPACE_SMPTE170M;
pix->priv = 0;
return 0; return 0;
} }
......
...@@ -477,7 +477,6 @@ static int solo_try_fmt_cap(struct file *file, void *priv, ...@@ -477,7 +477,6 @@ static int solo_try_fmt_cap(struct file *file, void *priv,
pix->field = V4L2_FIELD_INTERLACED; pix->field = V4L2_FIELD_INTERLACED;
pix->pixelformat = V4L2_PIX_FMT_UYVY; pix->pixelformat = V4L2_PIX_FMT_UYVY;
pix->colorspace = V4L2_COLORSPACE_SMPTE170M; pix->colorspace = V4L2_COLORSPACE_SMPTE170M;
pix->priv = 0;
return 0; return 0;
} }
...@@ -507,7 +506,6 @@ static int solo_get_fmt_cap(struct file *file, void *priv, ...@@ -507,7 +506,6 @@ static int solo_get_fmt_cap(struct file *file, void *priv,
pix->sizeimage = solo_image_size(solo_dev); pix->sizeimage = solo_image_size(solo_dev);
pix->colorspace = V4L2_COLORSPACE_SMPTE170M; pix->colorspace = V4L2_COLORSPACE_SMPTE170M;
pix->bytesperline = solo_bytesperline(solo_dev); pix->bytesperline = solo_bytesperline(solo_dev);
pix->priv = 0;
return 0; return 0;
} }
......
...@@ -582,7 +582,6 @@ static int tw68_g_fmt_vid_cap(struct file *file, void *priv, ...@@ -582,7 +582,6 @@ static int tw68_g_fmt_vid_cap(struct file *file, void *priv,
f->fmt.pix.sizeimage = f->fmt.pix.sizeimage =
f->fmt.pix.height * f->fmt.pix.bytesperline; f->fmt.pix.height * f->fmt.pix.bytesperline;
f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
f->fmt.pix.priv = 0;
return 0; return 0;
} }
......
...@@ -972,7 +972,6 @@ static int vpif_try_fmt_vid_cap(struct file *file, void *priv, ...@@ -972,7 +972,6 @@ static int vpif_try_fmt_vid_cap(struct file *file, void *priv,
pixfmt->bytesperline = common->fmt.fmt.pix.width * 2; pixfmt->bytesperline = common->fmt.fmt.pix.width * 2;
pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height; pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height;
} }
pixfmt->priv = 0;
dev_dbg(vpif_dev, "%s: %d x %d; pitch=%d pixelformat=0x%08x, field=%d, size=%d\n", __func__, dev_dbg(vpif_dev, "%s: %d x %d; pitch=%d pixelformat=0x%08x, field=%d, size=%d\n", __func__,
pixfmt->width, pixfmt->height, pixfmt->width, pixfmt->height,
......
...@@ -1153,7 +1153,6 @@ static int au0828_set_format(struct au0828_dev *dev, unsigned int cmd, ...@@ -1153,7 +1153,6 @@ static int au0828_set_format(struct au0828_dev *dev, unsigned int cmd,
format->fmt.pix.sizeimage = width * height * 2; format->fmt.pix.sizeimage = width * height * 2;
format->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; format->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
format->fmt.pix.field = V4L2_FIELD_INTERLACED; format->fmt.pix.field = V4L2_FIELD_INTERLACED;
format->fmt.pix.priv = 0;
if (cmd == VIDIOC_TRY_FMT) if (cmd == VIDIOC_TRY_FMT)
return 0; return 0;
...@@ -1227,7 +1226,6 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, ...@@ -1227,7 +1226,6 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv,
f->fmt.pix.sizeimage = dev->frame_size; f->fmt.pix.sizeimage = dev->frame_size;
f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; /* NTSC/PAL */ f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; /* NTSC/PAL */
f->fmt.pix.field = V4L2_FIELD_INTERLACED; f->fmt.pix.field = V4L2_FIELD_INTERLACED;
f->fmt.pix.priv = 0;
return 0; return 0;
} }
......
...@@ -323,7 +323,6 @@ static int cpia2_try_fmt_vid_cap(struct file *file, void *fh, ...@@ -323,7 +323,6 @@ static int cpia2_try_fmt_vid_cap(struct file *file, void *fh,
f->fmt.pix.bytesperline = 0; f->fmt.pix.bytesperline = 0;
f->fmt.pix.sizeimage = cam->frame_size; f->fmt.pix.sizeimage = cam->frame_size;
f->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG; f->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
f->fmt.pix.priv = 0;
switch (cpia2_match_video_size(f->fmt.pix.width, f->fmt.pix.height)) { switch (cpia2_match_video_size(f->fmt.pix.width, f->fmt.pix.height)) {
case VIDEOSIZE_VGA: case VIDEOSIZE_VGA:
...@@ -434,7 +433,6 @@ static int cpia2_g_fmt_vid_cap(struct file *file, void *fh, ...@@ -434,7 +433,6 @@ static int cpia2_g_fmt_vid_cap(struct file *file, void *fh,
f->fmt.pix.bytesperline = 0; f->fmt.pix.bytesperline = 0;
f->fmt.pix.sizeimage = cam->frame_size; f->fmt.pix.sizeimage = cam->frame_size;
f->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG; f->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
f->fmt.pix.priv = 0;
return 0; return 0;
} }
......
...@@ -1510,7 +1510,6 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, ...@@ -1510,7 +1510,6 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
else else
f->fmt.pix.field = v4l2->interlaced_fieldmode ? f->fmt.pix.field = v4l2->interlaced_fieldmode ?
V4L2_FIELD_INTERLACED : V4L2_FIELD_TOP; V4L2_FIELD_INTERLACED : V4L2_FIELD_TOP;
f->fmt.pix.priv = 0;
return 0; return 0;
} }
......
...@@ -1027,15 +1027,15 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, ...@@ -1027,15 +1027,15 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
return 0; return 0;
} }
static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, static int vidioc_g_fmt_vid_cap(struct file *file, void *_priv,
struct v4l2_format *fmt) struct v4l2_format *fmt)
{ {
struct gspca_dev *gspca_dev = video_drvdata(file); struct gspca_dev *gspca_dev = video_drvdata(file);
u32 priv = fmt->fmt.pix.priv;
fmt->fmt.pix = gspca_dev->pixfmt; fmt->fmt.pix = gspca_dev->pixfmt;
/* some drivers use priv internally, zero it before giving it back to /* some drivers use priv internally, so keep the original value */
the core */ fmt->fmt.pix.priv = priv;
fmt->fmt.pix.priv = 0;
return 0; return 0;
} }
...@@ -1070,27 +1070,27 @@ static int try_fmt_vid_cap(struct gspca_dev *gspca_dev, ...@@ -1070,27 +1070,27 @@ static int try_fmt_vid_cap(struct gspca_dev *gspca_dev,
fmt->fmt.pix.height = h; fmt->fmt.pix.height = h;
gspca_dev->sd_desc->try_fmt(gspca_dev, fmt); gspca_dev->sd_desc->try_fmt(gspca_dev, fmt);
} }
/* some drivers use priv internally, zero it before giving it back to
the core */
fmt->fmt.pix.priv = 0;
return mode; /* used when s_fmt */ return mode; /* used when s_fmt */
} }
static int vidioc_try_fmt_vid_cap(struct file *file, static int vidioc_try_fmt_vid_cap(struct file *file, void *_priv,
void *priv, struct v4l2_format *fmt)
struct v4l2_format *fmt)
{ {
struct gspca_dev *gspca_dev = video_drvdata(file); struct gspca_dev *gspca_dev = video_drvdata(file);
u32 priv = fmt->fmt.pix.priv;
if (try_fmt_vid_cap(gspca_dev, fmt) < 0) if (try_fmt_vid_cap(gspca_dev, fmt) < 0)
return -EINVAL; return -EINVAL;
/* some drivers use priv internally, so keep the original value */
fmt->fmt.pix.priv = priv;
return 0; return 0;
} }
static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, static int vidioc_s_fmt_vid_cap(struct file *file, void *_priv,
struct v4l2_format *fmt) struct v4l2_format *fmt)
{ {
struct gspca_dev *gspca_dev = video_drvdata(file); struct gspca_dev *gspca_dev = video_drvdata(file);
u32 priv = fmt->fmt.pix.priv;
int mode; int mode;
if (vb2_is_busy(&gspca_dev->queue)) if (vb2_is_busy(&gspca_dev->queue))
...@@ -1106,6 +1106,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, ...@@ -1106,6 +1106,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
gspca_dev->pixfmt = fmt->fmt.pix; gspca_dev->pixfmt = fmt->fmt.pix;
else else
gspca_dev->pixfmt = gspca_dev->cam.cam_mode[mode]; gspca_dev->pixfmt = gspca_dev->cam.cam_mode[mode];
/* some drivers use priv internally, so keep the original value */
fmt->fmt.pix.priv = priv;
return 0; return 0;
} }
......
...@@ -751,7 +751,6 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, ...@@ -751,7 +751,6 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv,
f->fmt.pix.bytesperline = f->fmt.pix.width * (vc->fmt->depth >> 3); f->fmt.pix.bytesperline = f->fmt.pix.width * (vc->fmt->depth >> 3);
f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline; f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline;
f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
f->fmt.pix.priv = 0;
return 0; return 0;
} }
...@@ -803,7 +802,6 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, ...@@ -803,7 +802,6 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
f->fmt.pix.bytesperline = (f->fmt.pix.width * fmt->depth) >> 3; f->fmt.pix.bytesperline = (f->fmt.pix.width * fmt->depth) >> 3;
f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline; f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline;
f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
f->fmt.pix.priv = 0;
dprintk(vc->dev, 50, "%s: set width %d height %d field %d\n", __func__, dprintk(vc->dev, 50, "%s: set width %d height %d field %d\n", __func__,
f->fmt.pix.width, f->fmt.pix.height, f->fmt.pix.field); f->fmt.pix.width, f->fmt.pix.height, f->fmt.pix.field);
return 0; return 0;
......
...@@ -253,7 +253,6 @@ static int uvc_v4l2_try_format(struct uvc_streaming *stream, ...@@ -253,7 +253,6 @@ static int uvc_v4l2_try_format(struct uvc_streaming *stream,
fmt->fmt.pix.bytesperline = uvc_v4l2_get_bytesperline(format, frame); fmt->fmt.pix.bytesperline = uvc_v4l2_get_bytesperline(format, frame);
fmt->fmt.pix.sizeimage = probe->dwMaxVideoFrameSize; fmt->fmt.pix.sizeimage = probe->dwMaxVideoFrameSize;
fmt->fmt.pix.colorspace = format->colorspace; fmt->fmt.pix.colorspace = format->colorspace;
fmt->fmt.pix.priv = 0;
if (uvc_format != NULL) if (uvc_format != NULL)
*uvc_format = format; *uvc_format = format;
...@@ -290,7 +289,6 @@ static int uvc_v4l2_get_format(struct uvc_streaming *stream, ...@@ -290,7 +289,6 @@ static int uvc_v4l2_get_format(struct uvc_streaming *stream,
fmt->fmt.pix.bytesperline = uvc_v4l2_get_bytesperline(format, frame); fmt->fmt.pix.bytesperline = uvc_v4l2_get_bytesperline(format, frame);
fmt->fmt.pix.sizeimage = stream->ctrl.dwMaxVideoFrameSize; fmt->fmt.pix.sizeimage = stream->ctrl.dwMaxVideoFrameSize;
fmt->fmt.pix.colorspace = format->colorspace; fmt->fmt.pix.colorspace = format->colorspace;
fmt->fmt.pix.priv = 0;
done: done:
mutex_unlock(&stream->mutex); mutex_unlock(&stream->mutex);
......
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