aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c')
-rw-r--r--drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c b/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
index c03b13e70b5..cdfc3d05ab6 100644
--- a/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
+++ b/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
@@ -87,24 +87,26 @@ static struct v4l2_pix_format pb0100_mode[] = {
static int pb0100_s_ctrl(struct v4l2_ctrl *ctrl)
{
- struct sd *sd = container_of(ctrl->handler, struct sd, ctrl_handler);
+ struct gspca_dev *gspca_dev =
+ container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
+ struct sd *sd = (struct sd *)gspca_dev;
struct pb0100_ctrls *ctrls = sd->sensor_priv;
int err = -EINVAL;
switch (ctrl->id) {
case V4L2_CID_AUTOGAIN:
- err = pb0100_set_autogain(&sd->gspca_dev, ctrl->val);
+ err = pb0100_set_autogain(gspca_dev, ctrl->val);
if (err)
break;
if (ctrl->val)
break;
- err = pb0100_set_gain(&sd->gspca_dev, ctrls->gain->val);
+ err = pb0100_set_gain(gspca_dev, ctrls->gain->val);
if (err)
break;
- err = pb0100_set_exposure(&sd->gspca_dev, ctrls->exposure->val);
+ err = pb0100_set_exposure(gspca_dev, ctrls->exposure->val);
break;
case V4L2_CTRL_CLASS_USER + 0x1001:
- err = pb0100_set_autogain_target(&sd->gspca_dev, ctrl->val);
+ err = pb0100_set_autogain_target(gspca_dev, ctrl->val);
break;
}
return err;
@@ -116,7 +118,7 @@ static const struct v4l2_ctrl_ops pb0100_ctrl_ops = {
static int pb0100_init_controls(struct sd *sd)
{
- struct v4l2_ctrl_handler *hdl = &sd->ctrl_handler;
+ struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
struct pb0100_ctrls *ctrls;
static const struct v4l2_ctrl_config autogain_target = {
.ops = &pb0100_ctrl_ops,