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

[media] v4l2: make vidioc_s_jpegcomp const

Write-only ioctls should have a const argument in the ioctl op.
Do this conversion for vidioc_s_jpegcomp.
Adding const for write-only ioctls was decided during the 2012 Media Workshop.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent e6eb28c2
...@@ -2674,7 +2674,7 @@ static int zoran_g_jpegcomp(struct file *file, void *__fh, ...@@ -2674,7 +2674,7 @@ static int zoran_g_jpegcomp(struct file *file, void *__fh,
} }
static int zoran_s_jpegcomp(struct file *file, void *__fh, static int zoran_s_jpegcomp(struct file *file, void *__fh,
struct v4l2_jpegcompression *params) const struct v4l2_jpegcompression *params)
{ {
struct zoran_fh *fh = __fh; struct zoran_fh *fh = __fh;
struct zoran *zr = fh->zr; struct zoran *zr = fh->zr;
...@@ -2701,7 +2701,7 @@ static int zoran_s_jpegcomp(struct file *file, void *__fh, ...@@ -2701,7 +2701,7 @@ static int zoran_s_jpegcomp(struct file *file, void *__fh,
if (!fh->buffers.allocated) if (!fh->buffers.allocated)
fh->buffers.buffer_size = fh->buffers.buffer_size =
zoran_v4l2_calc_bufsize(&fh->jpg_settings); zoran_v4l2_calc_bufsize(&fh->jpg_settings);
fh->jpg_settings.jpg_comp = *params = settings.jpg_comp; fh->jpg_settings.jpg_comp = settings.jpg_comp;
sjpegc_unlock_and_return: sjpegc_unlock_and_return:
mutex_unlock(&zr->resource_lock); mutex_unlock(&zr->resource_lock);
......
...@@ -734,7 +734,8 @@ static int cpia2_g_jpegcomp(struct file *file, void *fh, struct v4l2_jpegcompres ...@@ -734,7 +734,8 @@ static int cpia2_g_jpegcomp(struct file *file, void *fh, struct v4l2_jpegcompres
* *
*****************************************************************************/ *****************************************************************************/
static int cpia2_s_jpegcomp(struct file *file, void *fh, struct v4l2_jpegcompression *parms) static int cpia2_s_jpegcomp(struct file *file, void *fh,
const struct v4l2_jpegcompression *parms)
{ {
struct camera_data *cam = video_drvdata(file); struct camera_data *cam = video_drvdata(file);
...@@ -743,8 +744,6 @@ static int cpia2_s_jpegcomp(struct file *file, void *fh, struct v4l2_jpegcompres ...@@ -743,8 +744,6 @@ static int cpia2_s_jpegcomp(struct file *file, void *fh, struct v4l2_jpegcompres
cam->params.compression.inhibit_htables = cam->params.compression.inhibit_htables =
!(parms->jpeg_markers & V4L2_JPEG_MARKER_DHT); !(parms->jpeg_markers & V4L2_JPEG_MARKER_DHT);
parms->jpeg_markers &= V4L2_JPEG_MARKER_DQT | V4L2_JPEG_MARKER_DRI |
V4L2_JPEG_MARKER_DHT;
if(parms->APP_len != 0) { if(parms->APP_len != 0) {
if(parms->APP_len > 0 && if(parms->APP_len > 0 &&
......
...@@ -1686,7 +1686,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv, ...@@ -1686,7 +1686,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv,
} }
static int vidioc_s_jpegcomp(struct file *file, void *priv, static int vidioc_s_jpegcomp(struct file *file, void *priv,
struct v4l2_jpegcompression *jpegcomp) const struct v4l2_jpegcompression *jpegcomp)
{ {
struct gspca_dev *gspca_dev = video_drvdata(file); struct gspca_dev *gspca_dev = video_drvdata(file);
......
...@@ -83,8 +83,10 @@ struct gspca_frame; ...@@ -83,8 +83,10 @@ struct gspca_frame;
typedef int (*cam_op) (struct gspca_dev *); typedef int (*cam_op) (struct gspca_dev *);
typedef void (*cam_v_op) (struct gspca_dev *); typedef void (*cam_v_op) (struct gspca_dev *);
typedef int (*cam_cf_op) (struct gspca_dev *, const struct usb_device_id *); typedef int (*cam_cf_op) (struct gspca_dev *, const struct usb_device_id *);
typedef int (*cam_jpg_op) (struct gspca_dev *, typedef int (*cam_get_jpg_op) (struct gspca_dev *,
struct v4l2_jpegcompression *); struct v4l2_jpegcompression *);
typedef int (*cam_set_jpg_op) (struct gspca_dev *,
const struct v4l2_jpegcompression *);
typedef int (*cam_reg_op) (struct gspca_dev *, typedef int (*cam_reg_op) (struct gspca_dev *,
struct v4l2_dbg_register *); struct v4l2_dbg_register *);
typedef int (*cam_ident_op) (struct gspca_dev *, typedef int (*cam_ident_op) (struct gspca_dev *,
...@@ -126,8 +128,8 @@ struct sd_desc { ...@@ -126,8 +128,8 @@ struct sd_desc {
cam_v_op stopN; /* called on stream off - main alt */ cam_v_op stopN; /* called on stream off - main alt */
cam_v_op stop0; /* called on stream off & disconnect - alt 0 */ cam_v_op stop0; /* called on stream off & disconnect - alt 0 */
cam_v_op dq_callback; /* called when a frame has been dequeued */ cam_v_op dq_callback; /* called when a frame has been dequeued */
cam_jpg_op get_jcomp; cam_get_jpg_op get_jcomp;
cam_jpg_op set_jcomp; cam_set_jpg_op set_jcomp;
cam_qmnu_op querymenu; cam_qmnu_op querymenu;
cam_streamparm_op get_streamparm; cam_streamparm_op get_streamparm;
cam_streamparm_op set_streamparm; cam_streamparm_op set_streamparm;
......
...@@ -474,7 +474,7 @@ static int sd_init_controls(struct gspca_dev *gspca_dev) ...@@ -474,7 +474,7 @@ static int sd_init_controls(struct gspca_dev *gspca_dev)
} }
static int sd_set_jcomp(struct gspca_dev *gspca_dev, static int sd_set_jcomp(struct gspca_dev *gspca_dev,
struct v4l2_jpegcompression *jcomp) const struct v4l2_jpegcompression *jcomp)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
......
...@@ -4762,7 +4762,7 @@ static int sd_get_jcomp(struct gspca_dev *gspca_dev, ...@@ -4762,7 +4762,7 @@ static int sd_get_jcomp(struct gspca_dev *gspca_dev,
} }
static int sd_set_jcomp(struct gspca_dev *gspca_dev, static int sd_set_jcomp(struct gspca_dev *gspca_dev,
struct v4l2_jpegcompression *jcomp) const struct v4l2_jpegcompression *jcomp)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
......
...@@ -4806,7 +4806,7 @@ static void sd_set_streamparm(struct gspca_dev *gspca_dev, ...@@ -4806,7 +4806,7 @@ static void sd_set_streamparm(struct gspca_dev *gspca_dev,
} }
static int sd_set_jcomp(struct gspca_dev *gspca_dev, static int sd_set_jcomp(struct gspca_dev *gspca_dev,
struct v4l2_jpegcompression *jcomp) const struct v4l2_jpegcompression *jcomp)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
......
...@@ -6883,16 +6883,11 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev, ...@@ -6883,16 +6883,11 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
} }
static int sd_set_jcomp(struct gspca_dev *gspca_dev, static int sd_set_jcomp(struct gspca_dev *gspca_dev,
struct v4l2_jpegcompression *jcomp) const struct v4l2_jpegcompression *jcomp)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
int ret;
ret = v4l2_ctrl_s_ctrl(sd->jpegqual, jcomp->quality); return v4l2_ctrl_s_ctrl(sd->jpegqual, jcomp->quality);
if (ret)
return ret;
jcomp->quality = v4l2_ctrl_g_ctrl(sd->jpegqual);
return 0;
} }
static int sd_get_jcomp(struct gspca_dev *gspca_dev, static int sd_get_jcomp(struct gspca_dev *gspca_dev,
......
...@@ -1556,7 +1556,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv, ...@@ -1556,7 +1556,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv,
} }
static int vidioc_s_jpegcomp(struct file *file, void *priv, static int vidioc_s_jpegcomp(struct file *file, void *priv,
struct v4l2_jpegcompression *jc) const struct v4l2_jpegcompression *jc)
{ {
struct s2255_fh *fh = priv; struct s2255_fh *fh = priv;
struct s2255_channel *channel = fh->channel; struct s2255_channel *channel = fh->channel;
......
...@@ -1392,7 +1392,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv, ...@@ -1392,7 +1392,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv,
} }
static int vidioc_s_jpegcomp(struct file *file, void *priv, static int vidioc_s_jpegcomp(struct file *file, void *priv,
struct v4l2_jpegcompression *params) const struct v4l2_jpegcompression *params)
{ {
if (params->quality != 50 || if (params->quality != 50 ||
params->jpeg_markers != (V4L2_JPEG_MARKER_DHT | params->jpeg_markers != (V4L2_JPEG_MARKER_DHT |
......
...@@ -195,7 +195,7 @@ struct v4l2_ioctl_ops { ...@@ -195,7 +195,7 @@ struct v4l2_ioctl_ops {
int (*vidioc_g_jpegcomp) (struct file *file, void *fh, int (*vidioc_g_jpegcomp) (struct file *file, void *fh,
struct v4l2_jpegcompression *a); struct v4l2_jpegcompression *a);
int (*vidioc_s_jpegcomp) (struct file *file, void *fh, int (*vidioc_s_jpegcomp) (struct file *file, void *fh,
struct v4l2_jpegcompression *a); const struct v4l2_jpegcompression *a);
int (*vidioc_g_enc_index) (struct file *file, void *fh, int (*vidioc_g_enc_index) (struct file *file, void *fh,
struct v4l2_enc_idx *a); struct v4l2_enc_idx *a);
int (*vidioc_encoder_cmd) (struct file *file, void *fh, int (*vidioc_encoder_cmd) (struct file *file, void *fh,
......
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