mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
media: v4l: subdev: Switch to stream-aware state functions
Switch all drivers accessing sub-device state to use the stream-aware functions. We will soon remove the old ones. This patch has been generated using the following Coccinelle script: ---------8<------------ @@ expression E1, E2, E3; @@ - v4l2_subdev_get_pad_format(E1, E2, E3) + v4l2_subdev_state_get_format(E2, E3) @@ expression E1, E2, E3; @@ - v4l2_subdev_get_pad_crop(E1, E2, E3) + v4l2_subdev_state_get_crop(E2, E3) @@ expression E1, E2, E3; @@ - v4l2_subdev_get_pad_compose(E1, E2, E3) + v4l2_subdev_state_get_compose(E2, E3) @@ expression E1, E2, E3; @@ - v4l2_subdev_get_try_format(E1, E2, E3) + v4l2_subdev_state_get_format(E2, E3) @@ expression E1, E2, E3; @@ - v4l2_subdev_get_try_crop(E1, E2, E3) + v4l2_subdev_state_get_crop(E2, E3) @@ expression E1, E2, E3; @@ - v4l2_subdev_get_try_compose(E1, E2, E3) + v4l2_subdev_state_get_compose(E2, E3) ---------8<------------ Additionally drivers/media/i2c/s5k5baf.c and drivers/media/platform/samsung/s3c-camif/camif-capture.c have been manually changed as Coccinelle didn't. Further local variables have been removed as they became unused as a result of the other changes. Also Coccinelle introduced indentation by space in files drivers/media/i2c/st-mipid02.c and drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c. This has been also corrected. The diff from Coccinelle-generated changes are: > diff --git b/drivers/media/i2c/imx319.c a/drivers/media/i2c/imx319.c > index e549692ff478..420984382173 100644 > --- b/drivers/media/i2c/imx319.c > +++ a/drivers/media/i2c/imx319.c > @@ -2001,7 +2001,6 @@ static int imx319_do_get_pad_format(struct imx319 *imx319, > struct v4l2_subdev_format *fmt) > { > struct v4l2_mbus_framefmt *framefmt; > - struct v4l2_subdev *sd = &imx319->sd; > > if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { > framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad); > diff --git b/drivers/media/i2c/imx355.c a/drivers/media/i2c/imx355.c > index 96bdde685d65..e1b1d2fc79dd 100644 > --- b/drivers/media/i2c/imx355.c > +++ a/drivers/media/i2c/imx355.c > @@ -1299,7 +1299,6 @@ static int imx355_do_get_pad_format(struct imx355 *imx355, > struct v4l2_subdev_format *fmt) > { > struct v4l2_mbus_framefmt *framefmt; > - struct v4l2_subdev *sd = &imx355->sd; > > if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { > framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad); > diff --git b/drivers/media/i2c/ov08x40.c a/drivers/media/i2c/ov08x40.c > index ca799bbcfdb7..abbb0b774d43 100644 > --- b/drivers/media/i2c/ov08x40.c > +++ a/drivers/media/i2c/ov08x40.c > @@ -2774,7 +2774,6 @@ static int ov08x40_do_get_pad_format(struct ov08x40 *ov08x, > struct v4l2_subdev_format *fmt) > { > struct v4l2_mbus_framefmt *framefmt; > - struct v4l2_subdev *sd = &ov08x->sd; > > if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { > framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad); > diff --git b/drivers/media/i2c/ov13858.c a/drivers/media/i2c/ov13858.c > index 7816d9787c61..09387e335d80 100644 > --- b/drivers/media/i2c/ov13858.c > +++ a/drivers/media/i2c/ov13858.c > @@ -1316,7 +1316,6 @@ static int ov13858_do_get_pad_format(struct ov13858 *ov13858, > struct v4l2_subdev_format *fmt) > { > struct v4l2_mbus_framefmt *framefmt; > - struct v4l2_subdev *sd = &ov13858->sd; > > if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { > framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad); > diff --git b/drivers/media/i2c/ov13b10.c a/drivers/media/i2c/ov13b10.c > index 268cd4b03f9c..c06411d5ee2b 100644 > --- b/drivers/media/i2c/ov13b10.c > +++ a/drivers/media/i2c/ov13b10.c > @@ -1001,7 +1001,6 @@ static int ov13b10_do_get_pad_format(struct ov13b10 *ov13b, > struct v4l2_subdev_format *fmt) > { > struct v4l2_mbus_framefmt *framefmt; > - struct v4l2_subdev *sd = &ov13b->sd; > > if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { > framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad); > diff --git b/drivers/media/i2c/s5c73m3/s5c73m3-core.c a/drivers/media/i2c/s5c73m3/s5c73m3-core.c > index 47605e36bc60..8f9b5713daf7 100644 > --- b/drivers/media/i2c/s5c73m3/s5c73m3-core.c > +++ a/drivers/media/i2c/s5c73m3/s5c73m3-core.c > @@ -819,7 +819,6 @@ static void s5c73m3_oif_try_format(struct s5c73m3 *state, > struct v4l2_subdev_format *fmt, > const struct s5c73m3_frame_size **fs) > { > - struct v4l2_subdev *sd = &state->sensor_sd; > u32 code; > > switch (fmt->pad) { > diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c > index 67da2045f543..03ccfb0e1e11 100644 > --- a/drivers/media/i2c/s5k5baf.c > +++ b/drivers/media/i2c/s5k5baf.c > @@ -1472,14 +1472,11 @@ static int s5k5baf_set_selection(struct v4l2_subdev *sd, > > if (sel->which == V4L2_SUBDEV_FORMAT_TRY) { > rects = (struct v4l2_rect * []) { > - &s5k5baf_cis_rect, > - v4l2_subdev_get_try_crop(sd, sd_state, > - PAD_CIS), > - v4l2_subdev_get_try_compose(sd, sd_state, > - PAD_CIS), > - v4l2_subdev_get_try_crop(sd, sd_state, > - PAD_OUT) > - }; > + &s5k5baf_cis_rect, > + v4l2_subdev_state_get_crop(sd_state, PAD_CIS), > + v4l2_subdev_state_get_compose(sd_state, PAD_CIS), > + v4l2_subdev_state_get_crop(sd_state, PAD_OUT) > + }; > s5k5baf_set_rect_and_adjust(rects, rtype, &sel->r); > return 0; > } > diff --git b/drivers/media/platform/samsung/s3c-camif/camif-capture.c a/drivers/media/platform/samsung/s3c-camif/camif-capture.c > index 295e083f38e8..be58260ea67e 100644 > --- b/drivers/media/platform/samsung/s3c-camif/camif-capture.c > +++ a/drivers/media/platform/samsung/s3c-camif/camif-capture.c > @@ -1216,7 +1216,7 @@ static int s3c_camif_subdev_get_fmt(struct v4l2_subdev *sd, > struct v4l2_mbus_framefmt *mf = &fmt->format; > > if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { > - mf = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad); > + mf = v4l2_subdev_state_get_format(sd_state, fmt->pad); > fmt->format = *mf; > return 0; > } > @@ -1305,7 +1305,7 @@ static int s3c_camif_subdev_set_fmt(struct v4l2_subdev *sd, > __camif_subdev_try_format(camif, mf, fmt->pad); > > if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { > - mf = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad); > + mf = v4l2_subdev_state_get_format(sd_state, fmt->pad); > *mf = fmt->format; > mutex_unlock(&camif->lock); > return 0; > diff --git b/drivers/media/platform/ti/cal/cal-camerarx.c a/drivers/media/platform/ti/cal/cal-camerarx.c > index cea454ed9c20..61433744c6c4 100644 > --- b/drivers/media/platform/ti/cal/cal-camerarx.c > +++ a/drivers/media/platform/ti/cal/cal-camerarx.c > @@ -621,8 +621,6 @@ static int cal_camerarx_sd_enum_mbus_code(struct v4l2_subdev *sd, > struct v4l2_subdev_state *state, > struct v4l2_subdev_mbus_code_enum *code) > { > - struct cal_camerarx *phy = to_cal_camerarx(sd); > - > /* No transcoding, source and sink codes must match. */ > if (cal_rx_pad_is_source(code->pad)) { > struct v4l2_mbus_framefmt *fmt; > diff --git b/drivers/staging/media/imx/imx-ic-prp.c a/drivers/staging/media/imx/imx-ic-prp.c > index dd558fac6477..61d69f19657e 100644 > --- b/drivers/staging/media/imx/imx-ic-prp.c > +++ a/drivers/staging/media/imx/imx-ic-prp.c > @@ -82,8 +82,6 @@ static struct v4l2_mbus_framefmt * > __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state, > unsigned int pad, enum v4l2_subdev_format_whence which) > { > - struct imx_ic_priv *ic_priv = priv->ic_priv; > - > if (which == V4L2_SUBDEV_FORMAT_TRY) > return v4l2_subdev_state_get_format(sd_state, pad); > else > diff --git b/drivers/staging/media/imx/imx-ic-prpencvf.c a/drivers/staging/media/imx/imx-ic-prpencvf.c > index 02db7dbb884b..ec73c901079e 100644 > --- b/drivers/staging/media/imx/imx-ic-prpencvf.c > +++ a/drivers/staging/media/imx/imx-ic-prpencvf.c > @@ -790,8 +790,6 @@ static struct v4l2_mbus_framefmt * > __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state, > unsigned int pad, enum v4l2_subdev_format_whence which) > { > - struct imx_ic_priv *ic_priv = priv->ic_priv; > - > if (which == V4L2_SUBDEV_FORMAT_TRY) > return v4l2_subdev_state_get_format(sd_state, pad); > else > diff --git a/drivers/media/i2c/st-mipid02.c b/drivers/media/i2c/st-mipid02.c > index 9c9361354c00..b08a249b5fdd 100644 > --- a/drivers/media/i2c/st-mipid02.c > +++ b/drivers/media/i2c/st-mipid02.c > @@ -751,7 +751,7 @@ static void mipid02_set_fmt_source(struct v4l2_subdev *sd, > format->format = bridge->fmt; > else > format->format = *v4l2_subdev_state_get_format(sd_state, > - MIPID02_SINK_0); > + MIPID02_SINK_0); > > /* but code may need to be converted */ > format->format.code = serial_to_parallel_code(format->format.code); > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c > index 117912d3bfbd..96353648c032 100644 > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c > @@ -319,7 +319,7 @@ static void rkisp1_isp_start(struct rkisp1_isp *isp, > rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, val); > > src_fmt = v4l2_subdev_state_get_format(sd_state, > - RKISP1_ISP_PAD_SOURCE_VIDEO); > + RKISP1_ISP_PAD_SOURCE_VIDEO); > src_info = rkisp1_mbus_info_get_by_code(src_fmt->code); > > if (src_info->pixel_enc != V4L2_PIXEL_ENC_BAYER) > @@ -475,9 +475,9 @@ static void rkisp1_isp_set_src_fmt(struct rkisp1_isp *isp, > sink_fmt = v4l2_subdev_state_get_format(sd_state, > RKISP1_ISP_PAD_SINK_VIDEO); > src_fmt = v4l2_subdev_state_get_format(sd_state, > - RKISP1_ISP_PAD_SOURCE_VIDEO); > + RKISP1_ISP_PAD_SOURCE_VIDEO); > src_crop = v4l2_subdev_state_get_crop(sd_state, > - RKISP1_ISP_PAD_SOURCE_VIDEO); > + RKISP1_ISP_PAD_SOURCE_VIDEO); > > /* > * Media bus code. The ISP can operate in pass-through mode (Bayer in, Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
981e0d4c72
commit
bc0e8d91fe
@ -769,7 +769,7 @@ static int adv7180_get_pad_format(struct v4l2_subdev *sd,
|
||||
struct adv7180_state *state = to_state(sd);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
format->format = *v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
format->format = *v4l2_subdev_state_get_format(sd_state, 0);
|
||||
} else {
|
||||
adv7180_mbus_fmt(sd, &format->format);
|
||||
format->format.field = state->field;
|
||||
@ -806,7 +806,7 @@ static int adv7180_set_pad_format(struct v4l2_subdev *sd,
|
||||
adv7180_set_power(state, true);
|
||||
}
|
||||
} else {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
*framefmt = format->format;
|
||||
}
|
||||
|
||||
|
@ -443,7 +443,7 @@ static int adv7183_set_fmt(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
decoder->fmt = *fmt;
|
||||
else
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *fmt;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *fmt;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -354,8 +354,8 @@ static int adv748x_afe_get_format(struct v4l2_subdev *sd,
|
||||
return -EINVAL;
|
||||
|
||||
if (sdformat->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mbusformat = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
sdformat->pad);
|
||||
mbusformat = v4l2_subdev_state_get_format(sd_state,
|
||||
sdformat->pad);
|
||||
sdformat->format = *mbusformat;
|
||||
} else {
|
||||
adv748x_afe_fill_format(afe, &sdformat->format);
|
||||
@ -378,7 +378,7 @@ static int adv748x_afe_set_format(struct v4l2_subdev *sd,
|
||||
if (sdformat->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
return adv748x_afe_get_format(sd, sd_state, sdformat);
|
||||
|
||||
mbusformat = v4l2_subdev_get_try_format(sd, sd_state, sdformat->pad);
|
||||
mbusformat = v4l2_subdev_state_get_format(sd_state, sdformat->pad);
|
||||
*mbusformat = sdformat->format;
|
||||
|
||||
return 0;
|
||||
|
@ -147,7 +147,7 @@ adv748x_csi2_get_pad_format(struct v4l2_subdev *sd,
|
||||
struct adv748x_csi2 *tx = adv748x_sd_to_csi2(sd);
|
||||
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_format(sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
|
||||
return &tx->format;
|
||||
}
|
||||
|
@ -441,8 +441,8 @@ static int adv748x_hdmi_get_format(struct v4l2_subdev *sd,
|
||||
return -EINVAL;
|
||||
|
||||
if (sdformat->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mbusformat = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
sdformat->pad);
|
||||
mbusformat = v4l2_subdev_state_get_format(sd_state,
|
||||
sdformat->pad);
|
||||
sdformat->format = *mbusformat;
|
||||
} else {
|
||||
adv748x_hdmi_fill_format(hdmi, &sdformat->format);
|
||||
@ -464,7 +464,7 @@ static int adv748x_hdmi_set_format(struct v4l2_subdev *sd,
|
||||
if (sdformat->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
return adv748x_hdmi_get_format(sd, sd_state, sdformat);
|
||||
|
||||
mbusformat = v4l2_subdev_get_try_format(sd, sd_state, sdformat->pad);
|
||||
mbusformat = v4l2_subdev_state_get_format(sd_state, sdformat->pad);
|
||||
*mbusformat = sdformat->format;
|
||||
|
||||
return 0;
|
||||
|
@ -1238,7 +1238,7 @@ static int adv7511_get_fmt(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
format->format.code = fmt->code;
|
||||
format->format.colorspace = fmt->colorspace;
|
||||
format->format.ycbcr_enc = fmt->ycbcr_enc;
|
||||
@ -1293,7 +1293,7 @@ static int adv7511_set_fmt(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
fmt->code = format->format.code;
|
||||
fmt->colorspace = format->format.colorspace;
|
||||
fmt->ycbcr_enc = format->format.ycbcr_enc;
|
||||
|
@ -1929,7 +1929,7 @@ static int adv76xx_get_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
format->format.code = fmt->code;
|
||||
} else {
|
||||
format->format.code = state->format->code;
|
||||
@ -1978,7 +1978,7 @@ static int adv76xx_set_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
fmt->code = format->format.code;
|
||||
} else {
|
||||
state->format = info;
|
||||
|
@ -2087,7 +2087,7 @@ static int adv7842_get_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
format->format.code = fmt->code;
|
||||
} else {
|
||||
format->format.code = state->format->code;
|
||||
@ -2119,7 +2119,7 @@ static int adv7842_set_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
fmt->code = format->format.code;
|
||||
} else {
|
||||
state->format = info;
|
||||
|
@ -446,8 +446,7 @@ static int ar0521_get_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&sensor->lock);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt = v4l2_subdev_get_try_format(&sensor->sd, sd_state, 0
|
||||
/* pad */);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
else
|
||||
fmt = &sensor->fmt;
|
||||
|
||||
@ -472,7 +471,7 @@ static int ar0521_set_fmt(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, 0 /* pad */);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
*fmt = format->format;
|
||||
|
||||
mutex_unlock(&sensor->lock);
|
||||
|
@ -2032,7 +2032,7 @@ static int __ccs_get_format(struct v4l2_subdev *subdev,
|
||||
struct v4l2_subdev_state *sd_state,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
fmt->format = *v4l2_subdev_get_pad_format(subdev, sd_state, fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format.code = __ccs_get_mbus_code(subdev, fmt->pad);
|
||||
|
||||
return 0;
|
||||
@ -2063,10 +2063,10 @@ static void ccs_get_crop_compose(struct v4l2_subdev *subdev,
|
||||
if (crops)
|
||||
for (i = 0; i < subdev->entity.num_pads; i++)
|
||||
crops[i] =
|
||||
v4l2_subdev_get_pad_crop(subdev, sd_state, i);
|
||||
v4l2_subdev_state_get_crop(sd_state, i);
|
||||
if (comps)
|
||||
*comps = v4l2_subdev_get_pad_compose(subdev, sd_state,
|
||||
ssd->sink_pad);
|
||||
*comps = v4l2_subdev_state_get_compose(sd_state,
|
||||
ssd->sink_pad);
|
||||
}
|
||||
|
||||
/* Changes require propagation only on sink pad. */
|
||||
@ -2099,7 +2099,7 @@ static void ccs_propagate(struct v4l2_subdev *subdev,
|
||||
fallthrough;
|
||||
case V4L2_SEL_TGT_COMPOSE:
|
||||
*crops[CCS_PAD_SRC] = *comp;
|
||||
fmt = v4l2_subdev_get_pad_format(subdev, sd_state, CCS_PAD_SRC);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, CCS_PAD_SRC);
|
||||
fmt->width = comp->width;
|
||||
fmt->height = comp->height;
|
||||
if (which == V4L2_SUBDEV_FORMAT_ACTIVE && ssd == sensor->src)
|
||||
@ -2509,7 +2509,7 @@ static int ccs_set_crop(struct v4l2_subdev *subdev,
|
||||
|
||||
if (sel->pad == ssd->sink_pad) {
|
||||
struct v4l2_mbus_framefmt *mfmt =
|
||||
v4l2_subdev_get_pad_format(subdev, sd_state, sel->pad);
|
||||
v4l2_subdev_state_get_format(sd_state, sel->pad);
|
||||
|
||||
src_size.width = mfmt->width;
|
||||
src_size.height = mfmt->height;
|
||||
@ -2569,8 +2569,8 @@ static int ccs_get_selection(struct v4l2_subdev *subdev,
|
||||
ccs_get_native_size(ssd, &sel->r);
|
||||
} else if (sel->pad == ssd->sink_pad) {
|
||||
struct v4l2_mbus_framefmt *sink_fmt =
|
||||
v4l2_subdev_get_pad_format(subdev, sd_state,
|
||||
ssd->sink_pad);
|
||||
v4l2_subdev_state_get_format(sd_state,
|
||||
ssd->sink_pad);
|
||||
sel->r.top = sel->r.left = 0;
|
||||
sel->r.width = sink_fmt->width;
|
||||
sel->r.height = sink_fmt->height;
|
||||
@ -3014,9 +3014,9 @@ static int ccs_init_cfg(struct v4l2_subdev *sd,
|
||||
unsigned int pad = ssd == sensor->pixel_array ?
|
||||
CCS_PA_PAD_SRC : CCS_PAD_SINK;
|
||||
struct v4l2_mbus_framefmt *fmt =
|
||||
v4l2_subdev_get_pad_format(sd, sd_state, pad);
|
||||
v4l2_subdev_state_get_format(sd_state, pad);
|
||||
struct v4l2_rect *crop =
|
||||
v4l2_subdev_get_pad_crop(sd, sd_state, pad);
|
||||
v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
bool is_active = !sd->active_state || sd->active_state == sd_state;
|
||||
|
||||
mutex_lock(&sensor->mutex);
|
||||
@ -3036,7 +3036,7 @@ static int ccs_init_cfg(struct v4l2_subdev *sd,
|
||||
return 0;
|
||||
}
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, CCS_PAD_SRC);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, CCS_PAD_SRC);
|
||||
fmt->code = ssd == sensor->src ?
|
||||
sensor->csi_format->code : sensor->internal_csi_format->code;
|
||||
fmt->field = V4L2_FIELD_NONE;
|
||||
|
@ -995,8 +995,7 @@ __et8ek8_get_pad_format(struct et8ek8_sensor *sensor,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&sensor->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &sensor->format;
|
||||
default:
|
||||
|
@ -935,7 +935,7 @@ __hi556_get_pad_crop(struct hi556 *hi556,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&hi556->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &hi556->cur_mode->crop;
|
||||
}
|
||||
@ -1075,7 +1075,7 @@ static int hi556_set_format(struct v4l2_subdev *sd,
|
||||
mutex_lock(&hi556->mutex);
|
||||
hi556_assign_pad_format(mode, &fmt->format);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
hi556->cur_mode = mode;
|
||||
__v4l2_ctrl_s_ctrl(hi556->link_freq, mode->link_freq_index);
|
||||
@ -1109,9 +1109,8 @@ static int hi556_get_format(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&hi556->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&hi556->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
hi556_assign_pad_format(hi556->cur_mode, &fmt->format);
|
||||
|
||||
@ -1157,10 +1156,10 @@ static int hi556_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&hi556->mutex);
|
||||
hi556_assign_pad_format(&supported_modes[0],
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0));
|
||||
v4l2_subdev_state_get_format(fh->state, 0));
|
||||
|
||||
/* Initialize try_crop rectangle. */
|
||||
try_crop = v4l2_subdev_get_try_crop(sd, fh->state, 0);
|
||||
try_crop = v4l2_subdev_state_get_crop(fh->state, 0);
|
||||
try_crop->top = HI556_PIXEL_ARRAY_TOP;
|
||||
try_crop->left = HI556_PIXEL_ARRAY_LEFT;
|
||||
try_crop->width = HI556_PIXEL_ARRAY_WIDTH;
|
||||
|
@ -1705,7 +1705,7 @@ static int hi846_set_format(struct v4l2_subdev *sd,
|
||||
}
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, format->pad) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, format->pad) = *mf;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1783,9 +1783,8 @@ static int hi846_get_format(struct v4l2_subdev *sd,
|
||||
struct i2c_client *client = v4l2_get_subdevdata(sd);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
format->format = *v4l2_subdev_get_try_format(&hi846->sd,
|
||||
sd_state,
|
||||
format->pad);
|
||||
format->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
format->pad);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1852,7 +1851,7 @@ static int hi846_get_selection(struct v4l2_subdev *sd,
|
||||
mutex_lock(&hi846->mutex);
|
||||
switch (sel->which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
v4l2_subdev_get_try_crop(sd, sd_state, sel->pad);
|
||||
v4l2_subdev_state_get_crop(sd_state, sel->pad);
|
||||
break;
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
sel->r = hi846->cur_mode->crop;
|
||||
@ -1878,7 +1877,7 @@ static int hi846_init_cfg(struct v4l2_subdev *sd,
|
||||
struct hi846 *hi846 = to_hi846(sd);
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
mutex_lock(&hi846->mutex);
|
||||
mf->code = HI846_MEDIA_BUS_FORMAT;
|
||||
|
@ -2655,7 +2655,7 @@ static int hi847_set_format(struct v4l2_subdev *sd,
|
||||
mutex_lock(&hi847->mutex);
|
||||
hi847_assign_pad_format(mode, &fmt->format);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) =
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) =
|
||||
fmt->format;
|
||||
} else {
|
||||
hi847->cur_mode = mode;
|
||||
@ -2690,9 +2690,8 @@ static int hi847_get_format(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&hi847->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&hi847->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
hi847_assign_pad_format(hi847->cur_mode, &fmt->format);
|
||||
|
||||
@ -2737,7 +2736,7 @@ static int hi847_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&hi847->mutex);
|
||||
hi847_assign_pad_format(&supported_modes[0],
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0));
|
||||
v4l2_subdev_state_get_format(fh->state, 0));
|
||||
mutex_unlock(&hi847->mutex);
|
||||
|
||||
return 0;
|
||||
|
@ -395,7 +395,7 @@ static int imx208_write_regs(struct imx208 *imx208,
|
||||
static int imx208_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
/* Initialize try_fmt */
|
||||
try_fmt->width = supported_modes[0].width;
|
||||
@ -548,9 +548,8 @@ static int __imx208_get_pad_format(struct imx208 *imx208,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&imx208->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
imx208_mode_to_pad_format(imx208, imx208->cur_mode, fmt);
|
||||
|
||||
@ -591,7 +590,7 @@ static int imx208_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
imx208_mode_to_pad_format(imx208, mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
imx208->cur_mode = mode;
|
||||
__v4l2_ctrl_s_ctrl(imx208->link_freq, mode->link_freq_index);
|
||||
|
@ -538,7 +538,7 @@ __imx214_get_pad_format(struct imx214 *imx214,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&imx214->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &imx214->fmt;
|
||||
default:
|
||||
@ -568,7 +568,7 @@ __imx214_get_pad_crop(struct imx214 *imx214,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&imx214->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &imx214->crop;
|
||||
default:
|
||||
|
@ -374,7 +374,7 @@ static int imx219_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
int ret = 0;
|
||||
|
||||
state = v4l2_subdev_get_locked_active_state(&imx219->sd);
|
||||
format = v4l2_subdev_get_pad_format(&imx219->sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
if (ctrl->id == V4L2_CID_VBLANK) {
|
||||
int exposure_max, exposure_def;
|
||||
@ -593,8 +593,8 @@ static int imx219_set_framefmt(struct imx219 *imx219,
|
||||
u64 bin_h, bin_v;
|
||||
int ret = 0;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(&imx219->sd, state, 0);
|
||||
crop = v4l2_subdev_get_pad_crop(&imx219->sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
|
||||
switch (format->code) {
|
||||
case MEDIA_BUS_FMT_SRGGB8_1X8:
|
||||
@ -826,7 +826,7 @@ static int imx219_set_pad_format(struct v4l2_subdev *sd,
|
||||
|
||||
imx219_update_pad_format(imx219, mode, &fmt->format, fmt->format.code);
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
*format = fmt->format;
|
||||
|
||||
/*
|
||||
@ -836,7 +836,7 @@ static int imx219_set_pad_format(struct v4l2_subdev *sd,
|
||||
bin_h = min(IMX219_PIXEL_ARRAY_WIDTH / format->width, 2U);
|
||||
bin_v = min(IMX219_PIXEL_ARRAY_HEIGHT / format->height, 2U);
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
crop->width = format->width * bin_h;
|
||||
crop->height = format->height * bin_v;
|
||||
crop->left = (IMX219_NATIVE_WIDTH - crop->width) / 2;
|
||||
@ -880,7 +880,7 @@ static int imx219_get_selection(struct v4l2_subdev *sd,
|
||||
{
|
||||
switch (sel->target) {
|
||||
case V4L2_SEL_TGT_CROP: {
|
||||
sel->r = *v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
sel->r = *v4l2_subdev_state_get_crop(state, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -708,7 +708,7 @@ static int imx258_write_regs(struct imx258 *imx258,
|
||||
static int imx258_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
/* Initialize try_fmt */
|
||||
try_fmt->width = supported_modes[0].width;
|
||||
@ -862,9 +862,8 @@ static int __imx258_get_pad_format(struct imx258 *imx258,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&imx258->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
imx258_update_pad_format(imx258->cur_mode, fmt);
|
||||
|
||||
@ -908,7 +907,7 @@ static int imx258_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
imx258_update_pad_format(mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
imx258->cur_mode = mode;
|
||||
|
@ -1018,8 +1018,8 @@ static int __imx274_change_compose(struct stimx274 *imx274,
|
||||
int best_goodness = INT_MIN;
|
||||
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
cur_crop = v4l2_subdev_get_pad_crop(&imx274->sd, sd_state, 0);
|
||||
tgt_fmt = v4l2_subdev_get_pad_format(&imx274->sd, sd_state, 0);
|
||||
cur_crop = v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
tgt_fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
} else {
|
||||
cur_crop = &imx274->crop;
|
||||
tgt_fmt = &imx274->format;
|
||||
@ -1112,7 +1112,7 @@ static int imx274_set_fmt(struct v4l2_subdev *sd,
|
||||
*/
|
||||
fmt->field = V4L2_FIELD_NONE;
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *fmt;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *fmt;
|
||||
else
|
||||
imx274->format = *fmt;
|
||||
|
||||
@ -1143,8 +1143,8 @@ static int imx274_get_selection(struct v4l2_subdev *sd,
|
||||
}
|
||||
|
||||
if (sel->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
src_crop = v4l2_subdev_get_pad_crop(sd, sd_state, 0);
|
||||
src_fmt = v4l2_subdev_get_pad_format(sd, sd_state, 0);
|
||||
src_crop = v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
src_fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
} else {
|
||||
src_crop = &imx274->crop;
|
||||
src_fmt = &imx274->format;
|
||||
@ -1215,7 +1215,7 @@ static int imx274_set_selection_crop(struct stimx274 *imx274,
|
||||
sel->r = new_crop;
|
||||
|
||||
if (sel->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
tgt_crop = v4l2_subdev_get_pad_crop(&imx274->sd, sd_state, 0);
|
||||
tgt_crop = v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
else
|
||||
tgt_crop = &imx274->crop;
|
||||
|
||||
|
@ -758,7 +758,7 @@ static int imx290_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
return 0;
|
||||
|
||||
state = v4l2_subdev_get_locked_active_state(&imx290->sd);
|
||||
format = v4l2_subdev_get_pad_format(&imx290->sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
switch (ctrl->id) {
|
||||
case V4L2_CID_ANALOGUE_GAIN:
|
||||
@ -994,7 +994,7 @@ static int imx290_start_streaming(struct imx290 *imx290,
|
||||
}
|
||||
|
||||
/* Apply the register values related to current frame format */
|
||||
format = v4l2_subdev_get_pad_format(&imx290->sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
ret = imx290_setup_format(imx290, format);
|
||||
if (ret < 0) {
|
||||
dev_err(imx290->dev, "Could not set frame format - %d\n", ret);
|
||||
@ -1132,7 +1132,7 @@ static int imx290_set_fmt(struct v4l2_subdev *sd,
|
||||
fmt->format.quantization = V4L2_QUANTIZATION_FULL_RANGE;
|
||||
fmt->format.xfer_func = V4L2_XFER_FUNC_NONE;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, sd_state, 0);
|
||||
format = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
|
||||
imx290->current_mode = mode;
|
||||
@ -1155,7 +1155,7 @@ static int imx290_get_selection(struct v4l2_subdev *sd,
|
||||
|
||||
switch (sel->target) {
|
||||
case V4L2_SEL_TGT_CROP: {
|
||||
format = v4l2_subdev_get_pad_format(sd, sd_state, 0);
|
||||
format = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
/*
|
||||
* The sensor moves the readout by 1 pixel based on flips to
|
||||
|
@ -323,7 +323,7 @@ static int imx296_s_ctrl(struct v4l2_ctrl *ctrl)
|
||||
return 0;
|
||||
|
||||
state = v4l2_subdev_get_locked_active_state(&sensor->subdev);
|
||||
format = v4l2_subdev_get_pad_format(&sensor->subdev, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
switch (ctrl->id) {
|
||||
case V4L2_CID_EXPOSURE:
|
||||
@ -511,8 +511,8 @@ static int imx296_setup(struct imx296 *sensor, struct v4l2_subdev_state *state)
|
||||
unsigned int i;
|
||||
int ret = 0;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(&sensor->subdev, state, 0);
|
||||
crop = v4l2_subdev_get_pad_crop(&sensor->subdev, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(imx296_init_table); ++i)
|
||||
imx296_write(sensor, imx296_init_table[i].reg,
|
||||
@ -662,7 +662,7 @@ static int imx296_enum_frame_size(struct v4l2_subdev *sd,
|
||||
{
|
||||
const struct v4l2_mbus_framefmt *format;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, fse->pad);
|
||||
format = v4l2_subdev_state_get_format(state, fse->pad);
|
||||
|
||||
if (fse->index >= 2 || fse->code != format->code)
|
||||
return -EINVAL;
|
||||
@ -683,8 +683,8 @@ static int imx296_set_format(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *format;
|
||||
struct v4l2_rect *crop;
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, fmt->pad);
|
||||
format = v4l2_subdev_get_pad_format(sd, state, fmt->pad);
|
||||
crop = v4l2_subdev_state_get_crop(state, fmt->pad);
|
||||
format = v4l2_subdev_state_get_format(state, fmt->pad);
|
||||
|
||||
/*
|
||||
* Binning is only allowed when cropping is disabled according to the
|
||||
@ -732,7 +732,7 @@ static int imx296_get_selection(struct v4l2_subdev *sd,
|
||||
{
|
||||
switch (sel->target) {
|
||||
case V4L2_SEL_TGT_CROP:
|
||||
sel->r = *v4l2_subdev_get_pad_crop(sd, state, sel->pad);
|
||||
sel->r = *v4l2_subdev_state_get_crop(state, sel->pad);
|
||||
break;
|
||||
|
||||
case V4L2_SEL_TGT_CROP_DEFAULT:
|
||||
@ -780,14 +780,14 @@ static int imx296_set_selection(struct v4l2_subdev *sd,
|
||||
rect.height = min_t(unsigned int, rect.height,
|
||||
IMX296_PIXEL_ARRAY_HEIGHT - rect.top);
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, sel->pad);
|
||||
crop = v4l2_subdev_state_get_crop(state, sel->pad);
|
||||
|
||||
if (rect.width != crop->width || rect.height != crop->height) {
|
||||
/*
|
||||
* Reset the output image size if the crop rectangle size has
|
||||
* been modified.
|
||||
*/
|
||||
format = v4l2_subdev_get_pad_format(sd, state, sel->pad);
|
||||
format = v4l2_subdev_state_get_format(state, sel->pad);
|
||||
format->width = rect.width;
|
||||
format->height = rect.height;
|
||||
}
|
||||
|
@ -1860,7 +1860,7 @@ static int imx319_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct imx319 *imx319 = to_imx319(sd);
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
mutex_lock(&imx319->mutex);
|
||||
|
||||
@ -2001,10 +2001,9 @@ static int imx319_do_get_pad_format(struct imx319 *imx319,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
struct v4l2_subdev *sd = &imx319->sd;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
imx319_update_pad_format(imx319, imx319->cur_mode, fmt);
|
||||
@ -2055,7 +2054,7 @@ imx319_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
imx319_update_pad_format(imx319, mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
imx319->cur_mode = mode;
|
||||
|
@ -879,7 +879,7 @@ static int imx334_get_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
fmt->format.code = imx334->cur_code;
|
||||
@ -920,7 +920,7 @@ static int imx334_set_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else if (imx334->cur_mode != mode || imx334->cur_code != fmt->format.code) {
|
||||
imx334->cur_code = fmt->format.code;
|
||||
|
@ -569,7 +569,7 @@ static int imx335_get_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
imx335_fill_pad_format(imx335, imx335->cur_mode, fmt);
|
||||
@ -604,7 +604,7 @@ static int imx335_set_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
ret = imx335_update_controls(imx335, mode);
|
||||
|
@ -1158,7 +1158,7 @@ static int imx355_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct imx355 *imx355 = to_imx355(sd);
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
mutex_lock(&imx355->mutex);
|
||||
|
||||
@ -1299,10 +1299,9 @@ static int imx355_do_get_pad_format(struct imx355 *imx355,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
struct v4l2_subdev *sd = &imx355->sd;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
imx355_update_pad_format(imx355, imx355->cur_mode, fmt);
|
||||
@ -1353,7 +1352,7 @@ imx355_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
imx355_update_pad_format(imx355, mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
imx355->cur_mode = mode;
|
||||
|
@ -721,7 +721,7 @@ static int imx412_get_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
imx412_fill_pad_format(imx412, imx412->cur_mode, fmt);
|
||||
@ -756,7 +756,7 @@ static int imx412_set_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
ret = imx412_update_controls(imx412, mode);
|
||||
|
@ -546,7 +546,7 @@ static int imx415_s_ctrl(struct v4l2_ctrl *ctrl)
|
||||
return 0;
|
||||
|
||||
state = v4l2_subdev_get_locked_active_state(&sensor->subdev);
|
||||
format = v4l2_subdev_get_pad_format(&sensor->subdev, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
switch (ctrl->id) {
|
||||
case V4L2_CID_EXPOSURE:
|
||||
@ -828,7 +828,7 @@ static int imx415_enum_frame_size(struct v4l2_subdev *sd,
|
||||
{
|
||||
const struct v4l2_mbus_framefmt *format;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, fse->pad);
|
||||
format = v4l2_subdev_state_get_format(state, fse->pad);
|
||||
|
||||
if (fse->index > 0 || fse->code != format->code)
|
||||
return -EINVAL;
|
||||
@ -846,7 +846,7 @@ static int imx415_set_format(struct v4l2_subdev *sd,
|
||||
{
|
||||
struct v4l2_mbus_framefmt *format;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, fmt->pad);
|
||||
format = v4l2_subdev_state_get_format(state, fmt->pad);
|
||||
|
||||
format->width = fmt->format.width;
|
||||
format->height = fmt->format.height;
|
||||
|
@ -1007,8 +1007,8 @@ static int isl7998x_get_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&isl7998x->lock);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
format->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||
format->pad);
|
||||
format->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
format->pad);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -1044,7 +1044,7 @@ static int isl7998x_set_fmt(struct v4l2_subdev *sd,
|
||||
mf->field = mode->field;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, format->pad) = format->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, format->pad) = format->format;
|
||||
|
||||
mutex_unlock(&isl7998x->lock);
|
||||
|
||||
|
@ -913,7 +913,7 @@ max9286_get_pad_format(struct max9286_priv *priv,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&priv->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &priv->fmt[pad];
|
||||
default:
|
||||
@ -1020,7 +1020,7 @@ static int max9286_open(struct v4l2_subdev *subdev, struct v4l2_subdev_fh *fh)
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < MAX9286_N_SINKS; i++) {
|
||||
format = v4l2_subdev_get_try_format(subdev, fh->state, i);
|
||||
format = v4l2_subdev_state_get_format(fh->state, i);
|
||||
max9286_init_format(format);
|
||||
}
|
||||
|
||||
|
@ -325,7 +325,7 @@ static int mt9m001_get_fmt(struct v4l2_subdev *sd,
|
||||
return -EINVAL;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
format->format = *mf;
|
||||
return 0;
|
||||
}
|
||||
@ -405,7 +405,7 @@ static int mt9m001_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
return mt9m001_s_fmt(sd, fmt, mf);
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -656,7 +656,7 @@ static int mt9m001_init_cfg(struct v4l2_subdev *sd,
|
||||
struct i2c_client *client = v4l2_get_subdevdata(sd);
|
||||
struct mt9m001 *mt9m001 = to_mt9m001(client);
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
try_fmt->width = MT9M001_MAX_WIDTH;
|
||||
try_fmt->height = MT9M001_MAX_HEIGHT;
|
||||
|
@ -525,7 +525,7 @@ static int mt9m111_get_fmt(struct v4l2_subdev *sd,
|
||||
return -EINVAL;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
format->format = *mf;
|
||||
return 0;
|
||||
}
|
||||
@ -671,7 +671,7 @@ static int mt9m111_set_fmt(struct v4l2_subdev *sd,
|
||||
mf->xfer_func = V4L2_XFER_FUNC_DEFAULT;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1115,7 +1115,7 @@ static int mt9m111_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *format =
|
||||
v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
format->width = MT9M111_MAX_WIDTH;
|
||||
format->height = MT9M111_MAX_HEIGHT;
|
||||
|
@ -796,13 +796,13 @@ static int mt9m114_configure(struct mt9m114 *sensor,
|
||||
u64 read_mode;
|
||||
int ret = 0;
|
||||
|
||||
pa_format = v4l2_subdev_get_pad_format(&sensor->pa.sd, pa_state, 0);
|
||||
pa_crop = v4l2_subdev_get_pad_crop(&sensor->pa.sd, pa_state, 0);
|
||||
pa_format = v4l2_subdev_state_get_format(pa_state, 0);
|
||||
pa_crop = v4l2_subdev_state_get_crop(pa_state, 0);
|
||||
|
||||
ifp_format = v4l2_subdev_get_pad_format(&sensor->ifp.sd, ifp_state, 1);
|
||||
ifp_format = v4l2_subdev_state_get_format(ifp_state, 1);
|
||||
ifp_info = mt9m114_format_info(sensor, 1, ifp_format->code);
|
||||
ifp_crop = v4l2_subdev_get_pad_crop(&sensor->ifp.sd, ifp_state, 0);
|
||||
ifp_compose = v4l2_subdev_get_pad_compose(&sensor->ifp.sd, ifp_state, 0);
|
||||
ifp_crop = v4l2_subdev_state_get_crop(ifp_state, 0);
|
||||
ifp_compose = v4l2_subdev_state_get_compose(ifp_state, 0);
|
||||
|
||||
ret = cci_read(sensor->regmap, MT9M114_CAM_SENSOR_CONTROL_READ_MODE,
|
||||
&read_mode, NULL);
|
||||
@ -1045,7 +1045,7 @@ static int mt9m114_pa_s_ctrl(struct v4l2_ctrl *ctrl)
|
||||
return 0;
|
||||
|
||||
state = v4l2_subdev_get_locked_active_state(&sensor->pa.sd);
|
||||
format = v4l2_subdev_get_pad_format(&sensor->pa.sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
switch (ctrl->id) {
|
||||
case V4L2_CID_HBLANK:
|
||||
@ -1158,14 +1158,14 @@ static int mt9m114_pa_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *format;
|
||||
struct v4l2_rect *crop;
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
|
||||
crop->left = 0;
|
||||
crop->top = 0;
|
||||
crop->width = MT9M114_PIXEL_ARRAY_WIDTH;
|
||||
crop->height = MT9M114_PIXEL_ARRAY_HEIGHT;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
format->width = MT9M114_PIXEL_ARRAY_WIDTH;
|
||||
format->height = MT9M114_PIXEL_ARRAY_HEIGHT;
|
||||
@ -1220,8 +1220,8 @@ static int mt9m114_pa_set_fmt(struct v4l2_subdev *sd,
|
||||
unsigned int hscale;
|
||||
unsigned int vscale;
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, fmt->pad);
|
||||
format = v4l2_subdev_get_pad_format(sd, state, fmt->pad);
|
||||
crop = v4l2_subdev_state_get_crop(state, fmt->pad);
|
||||
format = v4l2_subdev_state_get_format(state, fmt->pad);
|
||||
|
||||
/* The sensor can bin horizontally and vertically. */
|
||||
hscale = DIV_ROUND_CLOSEST(crop->width, fmt->format.width ? : 1);
|
||||
@ -1243,7 +1243,7 @@ static int mt9m114_pa_get_selection(struct v4l2_subdev *sd,
|
||||
{
|
||||
switch (sel->target) {
|
||||
case V4L2_SEL_TGT_CROP:
|
||||
sel->r = *v4l2_subdev_get_pad_crop(sd, state, sel->pad);
|
||||
sel->r = *v4l2_subdev_state_get_crop(state, sel->pad);
|
||||
return 0;
|
||||
|
||||
case V4L2_SEL_TGT_CROP_DEFAULT:
|
||||
@ -1271,8 +1271,8 @@ static int mt9m114_pa_set_selection(struct v4l2_subdev *sd,
|
||||
if (sel->target != V4L2_SEL_TGT_CROP)
|
||||
return -EINVAL;
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, sel->pad);
|
||||
format = v4l2_subdev_get_pad_format(sd, state, sel->pad);
|
||||
crop = v4l2_subdev_state_get_crop(state, sel->pad);
|
||||
format = v4l2_subdev_state_get_format(state, sel->pad);
|
||||
|
||||
/*
|
||||
* Clamp the crop rectangle. The vertical coordinates must be even, and
|
||||
@ -1402,7 +1402,7 @@ static int mt9m114_pa_init(struct mt9m114 *sensor)
|
||||
|
||||
/* Update the range of the blanking controls based on the format. */
|
||||
state = v4l2_subdev_lock_and_get_active_state(sd);
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
mt9m114_pa_ctrl_update_blanking(sensor, format);
|
||||
v4l2_subdev_unlock_state(state);
|
||||
|
||||
@ -1632,7 +1632,7 @@ static int mt9m114_ifp_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_rect *crop;
|
||||
struct v4l2_rect *compose;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
format->width = MT9M114_PIXEL_ARRAY_WIDTH;
|
||||
format->height = MT9M114_PIXEL_ARRAY_HEIGHT;
|
||||
@ -1643,21 +1643,21 @@ static int mt9m114_ifp_init_cfg(struct v4l2_subdev *sd,
|
||||
format->quantization = V4L2_QUANTIZATION_FULL_RANGE;
|
||||
format->xfer_func = V4L2_XFER_FUNC_NONE;
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
|
||||
crop->left = 4;
|
||||
crop->top = 4;
|
||||
crop->width = format->width - 8;
|
||||
crop->height = format->height - 8;
|
||||
|
||||
compose = v4l2_subdev_get_pad_compose(sd, state, 0);
|
||||
compose = v4l2_subdev_state_get_compose(state, 0);
|
||||
|
||||
compose->left = 0;
|
||||
compose->top = 0;
|
||||
compose->width = crop->width;
|
||||
compose->height = crop->height;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 1);
|
||||
format = v4l2_subdev_state_get_format(state, 1);
|
||||
|
||||
format->width = compose->width;
|
||||
format->height = compose->height;
|
||||
@ -1738,7 +1738,7 @@ static int mt9m114_ifp_enum_framesizes(struct v4l2_subdev *sd,
|
||||
} else {
|
||||
const struct v4l2_rect *crop;
|
||||
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
|
||||
fse->max_width = crop->width;
|
||||
fse->max_height = crop->height;
|
||||
@ -1777,7 +1777,7 @@ static int mt9m114_ifp_set_fmt(struct v4l2_subdev *sd,
|
||||
struct mt9m114 *sensor = ifp_to_mt9m114(sd);
|
||||
struct v4l2_mbus_framefmt *format;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, fmt->pad);
|
||||
format = v4l2_subdev_state_get_format(state, fmt->pad);
|
||||
|
||||
if (fmt->pad == 0) {
|
||||
/* Only the size can be changed on the sink pad. */
|
||||
@ -1797,7 +1797,7 @@ static int mt9m114_ifp_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
/* If the output format is RAW10, bypass the scaler. */
|
||||
if (format->code == MEDIA_BUS_FMT_SGRBG10_1X10)
|
||||
*format = *v4l2_subdev_get_pad_format(sd, state, 0);
|
||||
*format = *v4l2_subdev_state_get_format(state, 0);
|
||||
}
|
||||
|
||||
fmt->format = *format;
|
||||
@ -1819,7 +1819,7 @@ static int mt9m114_ifp_get_selection(struct v4l2_subdev *sd,
|
||||
|
||||
switch (sel->target) {
|
||||
case V4L2_SEL_TGT_CROP:
|
||||
sel->r = *v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
sel->r = *v4l2_subdev_state_get_crop(state, 0);
|
||||
break;
|
||||
|
||||
case V4L2_SEL_TGT_CROP_DEFAULT:
|
||||
@ -1828,7 +1828,7 @@ static int mt9m114_ifp_get_selection(struct v4l2_subdev *sd,
|
||||
* The crop default and bounds are equal to the sink
|
||||
* format size minus 4 pixels on each side for demosaicing.
|
||||
*/
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
sel->r.left = 4;
|
||||
sel->r.top = 4;
|
||||
@ -1837,7 +1837,7 @@ static int mt9m114_ifp_get_selection(struct v4l2_subdev *sd,
|
||||
break;
|
||||
|
||||
case V4L2_SEL_TGT_COMPOSE:
|
||||
sel->r = *v4l2_subdev_get_pad_compose(sd, state, 0);
|
||||
sel->r = *v4l2_subdev_state_get_compose(state, 0);
|
||||
break;
|
||||
|
||||
case V4L2_SEL_TGT_COMPOSE_DEFAULT:
|
||||
@ -1846,7 +1846,7 @@ static int mt9m114_ifp_get_selection(struct v4l2_subdev *sd,
|
||||
* The compose default and bounds sizes are equal to the sink
|
||||
* crop rectangle size.
|
||||
*/
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
sel->r.left = 0;
|
||||
sel->r.top = 0;
|
||||
sel->r.width = crop->width;
|
||||
@ -1877,9 +1877,9 @@ static int mt9m114_ifp_set_selection(struct v4l2_subdev *sd,
|
||||
if (sel->pad != 0)
|
||||
return -EINVAL;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 0);
|
||||
crop = v4l2_subdev_get_pad_crop(sd, state, 0);
|
||||
compose = v4l2_subdev_get_pad_compose(sd, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
compose = v4l2_subdev_state_get_compose(state, 0);
|
||||
|
||||
if (sel->target == V4L2_SEL_TGT_CROP) {
|
||||
/*
|
||||
@ -1921,7 +1921,7 @@ static int mt9m114_ifp_set_selection(struct v4l2_subdev *sd,
|
||||
}
|
||||
|
||||
/* Propagate the compose rectangle to the source format. */
|
||||
format = v4l2_subdev_get_pad_format(sd, state, 1);
|
||||
format = v4l2_subdev_state_get_format(state, 1);
|
||||
format->width = compose->width;
|
||||
format->height = compose->height;
|
||||
|
||||
|
@ -549,8 +549,7 @@ __mt9p031_get_pad_format(struct mt9p031 *mt9p031,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&mt9p031->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &mt9p031->format;
|
||||
default:
|
||||
@ -565,8 +564,7 @@ __mt9p031_get_pad_crop(struct mt9p031 *mt9p031,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&mt9p031->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &mt9p031->crop;
|
||||
default:
|
||||
|
@ -982,7 +982,7 @@ static int mt9t112_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
return mt9t112_s_fmt(sd, mf);
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ static int mt9v011_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
set_res(sd);
|
||||
} else {
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *fmt;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *fmt;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -356,8 +356,7 @@ __mt9v032_get_pad_format(struct mt9v032 *mt9v032,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&mt9v032->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &mt9v032->format;
|
||||
default:
|
||||
@ -372,8 +371,7 @@ __mt9v032_get_pad_crop(struct mt9v032 *mt9v032,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&mt9v032->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &mt9v032->crop;
|
||||
default:
|
||||
@ -931,13 +929,13 @@ static int mt9v032_open(struct v4l2_subdev *subdev, struct v4l2_subdev_fh *fh)
|
||||
struct v4l2_mbus_framefmt *format;
|
||||
struct v4l2_rect *crop;
|
||||
|
||||
crop = v4l2_subdev_get_try_crop(subdev, fh->state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(fh->state, 0);
|
||||
crop->left = MT9V032_COLUMN_START_DEF;
|
||||
crop->top = MT9V032_ROW_START_DEF;
|
||||
crop->width = MT9V032_WINDOW_WIDTH_DEF;
|
||||
crop->height = MT9V032_WINDOW_HEIGHT_DEF;
|
||||
|
||||
format = v4l2_subdev_get_try_format(subdev, fh->state, 0);
|
||||
format = v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
if (mt9v032->model->color)
|
||||
format->code = MEDIA_BUS_FMT_SGRBG10_1X10;
|
||||
|
@ -795,7 +795,7 @@ static struct v4l2_mbus_framefmt *__mt9v111_get_pad_format(
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&mt9v111->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &mt9v111->fmt;
|
||||
default:
|
||||
@ -951,7 +951,7 @@ done:
|
||||
static int mt9v111_init_cfg(struct v4l2_subdev *subdev,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
*v4l2_subdev_get_pad_format(subdev, sd_state, 0) = mt9v111_def_fmt;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = mt9v111_def_fmt;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -769,8 +769,7 @@ static int og01a1b_set_format(struct v4l2_subdev *sd,
|
||||
mutex_lock(&og01a1b->mutex);
|
||||
og01a1b_update_pad_format(mode, &fmt->format);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state,
|
||||
fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
og01a1b->cur_mode = mode;
|
||||
__v4l2_ctrl_s_ctrl(og01a1b->link_freq, mode->link_freq_index);
|
||||
@ -803,9 +802,8 @@ static int og01a1b_get_format(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&og01a1b->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&og01a1b->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
og01a1b_update_pad_format(og01a1b->cur_mode, &fmt->format);
|
||||
|
||||
@ -850,7 +848,7 @@ static int og01a1b_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&og01a1b->mutex);
|
||||
og01a1b_update_pad_format(&supported_modes[0],
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0));
|
||||
v4l2_subdev_state_get_format(fh->state, 0));
|
||||
mutex_unlock(&og01a1b->mutex);
|
||||
|
||||
return 0;
|
||||
|
@ -723,7 +723,7 @@ static int ov01a10_set_format(struct v4l2_subdev *sd,
|
||||
h_blank);
|
||||
}
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, sd_state, fmt->stream);
|
||||
format = v4l2_subdev_state_get_format(sd_state, fmt->stream);
|
||||
*format = fmt->format;
|
||||
|
||||
return 0;
|
||||
|
@ -315,7 +315,7 @@ static int ov02a10_set_fmt(struct v4l2_subdev *sd,
|
||||
ov02a10_fill_fmt(ov02a10->cur_mode, mbus_fmt);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
frame_fmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
frame_fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
else
|
||||
frame_fmt = &ov02a10->fmt;
|
||||
|
||||
@ -336,8 +336,8 @@ static int ov02a10_get_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&ov02a10->mutex);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
fmt->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
} else {
|
||||
fmt->format = ov02a10->fmt;
|
||||
mbus_fmt->code = ov02a10->fmt.code;
|
||||
|
@ -1145,7 +1145,7 @@ static int ov08d10_set_format(struct v4l2_subdev *sd,
|
||||
mutex_lock(&ov08d10->mutex);
|
||||
ov08d10_update_pad_format(ov08d10, mode, &fmt->format);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) =
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) =
|
||||
fmt->format;
|
||||
} else {
|
||||
ov08d10->cur_mode = mode;
|
||||
@ -1184,9 +1184,8 @@ static int ov08d10_get_format(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&ov08d10->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&ov08d10->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
ov08d10_update_pad_format(ov08d10, ov08d10->cur_mode,
|
||||
&fmt->format);
|
||||
@ -1242,7 +1241,7 @@ static int ov08d10_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&ov08d10->mutex);
|
||||
ov08d10_update_pad_format(ov08d10, &ov08d10->priv_lane->sp_modes[0],
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0));
|
||||
v4l2_subdev_state_get_format(fh->state, 0));
|
||||
mutex_unlock(&ov08d10->mutex);
|
||||
|
||||
return 0;
|
||||
|
@ -2536,7 +2536,7 @@ static int ov08x40_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
const struct ov08x40_mode *default_mode = &supported_modes[0];
|
||||
struct ov08x40 *ov08x = to_ov08x40(sd);
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
mutex_lock(&ov08x->mutex);
|
||||
|
||||
@ -2774,10 +2774,9 @@ static int ov08x40_do_get_pad_format(struct ov08x40 *ov08x,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
struct v4l2_subdev *sd = &ov08x->sd;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
ov08x40_update_pad_format(ov08x->cur_mode, fmt);
|
||||
@ -2826,7 +2825,7 @@ ov08x40_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
ov08x40_update_pad_format(mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
ov08x->cur_mode = mode;
|
||||
|
@ -1147,9 +1147,8 @@ static int ov13858_write_reg_list(struct ov13858 *ov13858,
|
||||
static int ov13858_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct ov13858 *ov13858 = to_ov13858(sd);
|
||||
struct v4l2_mbus_framefmt *try_fmt = v4l2_subdev_get_try_format(sd,
|
||||
fh->state,
|
||||
0);
|
||||
struct v4l2_mbus_framefmt *try_fmt = v4l2_subdev_state_get_format(fh->state,
|
||||
0);
|
||||
|
||||
mutex_lock(&ov13858->mutex);
|
||||
|
||||
@ -1317,10 +1316,9 @@ static int ov13858_do_get_pad_format(struct ov13858 *ov13858,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
struct v4l2_subdev *sd = &ov13858->sd;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
ov13858_update_pad_format(ov13858->cur_mode, fmt);
|
||||
@ -1369,7 +1367,7 @@ ov13858_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
ov13858_update_pad_format(mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
ov13858->cur_mode = mode;
|
||||
|
@ -755,9 +755,8 @@ static int ov13b10_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
const struct ov13b10_mode *default_mode = &supported_modes[0];
|
||||
struct ov13b10 *ov13b = to_ov13b10(sd);
|
||||
struct v4l2_mbus_framefmt *try_fmt = v4l2_subdev_get_try_format(sd,
|
||||
fh->state,
|
||||
0);
|
||||
struct v4l2_mbus_framefmt *try_fmt = v4l2_subdev_state_get_format(fh->state,
|
||||
0);
|
||||
|
||||
mutex_lock(&ov13b->mutex);
|
||||
|
||||
@ -1002,10 +1001,9 @@ static int ov13b10_do_get_pad_format(struct ov13b10 *ov13b,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
struct v4l2_subdev *sd = &ov13b->sd;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
ov13b10_update_pad_format(ov13b->cur_mode, fmt);
|
||||
@ -1054,7 +1052,7 @@ ov13b10_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
ov13b10_update_pad_format(mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
ov13b->cur_mode = mode;
|
||||
|
@ -920,7 +920,7 @@ static int ov2640_get_fmt(struct v4l2_subdev *sd,
|
||||
return -EINVAL;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
format->format = *mf;
|
||||
return 0;
|
||||
}
|
||||
@ -988,7 +988,7 @@ static int ov2640_set_fmt(struct v4l2_subdev *sd,
|
||||
/* select format */
|
||||
priv->cfmt_code = mf->code;
|
||||
} else {
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
}
|
||||
out:
|
||||
mutex_unlock(&priv->lock);
|
||||
@ -1000,7 +1000,7 @@ static int ov2640_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
const struct ov2640_win_size *win =
|
||||
ov2640_select_win(SVGA_WIDTH, SVGA_HEIGHT);
|
||||
|
||||
|
@ -1033,7 +1033,7 @@ static int ov2659_get_fmt(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
mutex_lock(&ov2659->lock);
|
||||
fmt->format = *mf;
|
||||
mutex_unlock(&ov2659->lock);
|
||||
@ -1109,7 +1109,7 @@ static int ov2659_set_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&ov2659->lock);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*mf = fmt->format;
|
||||
} else {
|
||||
s64 val;
|
||||
@ -1304,7 +1304,7 @@ static int ov2659_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct i2c_client *client = v4l2_get_subdevdata(sd);
|
||||
struct v4l2_mbus_framefmt *format =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
dev_dbg(&client->dev, "%s:\n", __func__);
|
||||
|
||||
|
@ -309,7 +309,7 @@ __ov2680_get_pad_format(struct ov2680_dev *sensor,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_format(&sensor->sd, state, pad);
|
||||
return v4l2_subdev_state_get_format(state, pad);
|
||||
|
||||
return &sensor->mode.fmt;
|
||||
}
|
||||
@ -321,7 +321,7 @@ __ov2680_get_pad_crop(struct ov2680_dev *sensor,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_crop(&sensor->sd, state, pad);
|
||||
return v4l2_subdev_state_get_crop(state, pad);
|
||||
|
||||
return &sensor->mode.crop;
|
||||
}
|
||||
@ -650,7 +650,7 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd,
|
||||
ov2680_fill_format(sensor, &format->format, width, height);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
try_fmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
try_fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
*try_fmt = format->format;
|
||||
return 0;
|
||||
}
|
||||
@ -760,9 +760,9 @@ static int ov2680_init_cfg(struct v4l2_subdev *sd,
|
||||
{
|
||||
struct ov2680_dev *sensor = to_ov2680_dev(sd);
|
||||
|
||||
*v4l2_subdev_get_pad_crop(sd, sd_state, 0) = ov2680_default_crop;
|
||||
*v4l2_subdev_state_get_crop(sd_state, 0) = ov2680_default_crop;
|
||||
|
||||
ov2680_fill_format(sensor, v4l2_subdev_get_pad_format(sd, sd_state, 0),
|
||||
ov2680_fill_format(sensor, v4l2_subdev_state_get_format(sd_state, 0),
|
||||
OV2680_DEFAULT_WIDTH, OV2680_DEFAULT_HEIGHT);
|
||||
return 0;
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ __ov2685_get_pad_crop(struct ov2685 *ov2685,
|
||||
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&ov2685->subdev, state, pad);
|
||||
return v4l2_subdev_state_get_crop(state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return mode->analog_crop;
|
||||
}
|
||||
@ -547,7 +547,7 @@ static int ov2685_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&ov2685->mutex);
|
||||
|
||||
try_fmt = v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
try_fmt = v4l2_subdev_state_get_format(fh->state, 0);
|
||||
/* Initialize try_fmt */
|
||||
ov2685_fill_fmt(&supported_modes[0], try_fmt);
|
||||
|
||||
|
@ -826,7 +826,7 @@ static int ov2740_set_format(struct v4l2_subdev *sd,
|
||||
fmt->format.height);
|
||||
|
||||
ov2740_update_pad_format(mode, &fmt->format);
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return 0;
|
||||
@ -883,7 +883,7 @@ static int ov2740_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
ov2740_update_pad_format(&supported_modes[0],
|
||||
v4l2_subdev_get_pad_format(sd, sd_state, 0));
|
||||
v4l2_subdev_state_get_format(sd_state, 0));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -570,7 +570,7 @@ static int ov4689_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&ov4689->mutex);
|
||||
|
||||
try_fmt = v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
try_fmt = v4l2_subdev_state_get_format(fh->state, 0);
|
||||
/* Initialize try_fmt */
|
||||
ov4689_fill_fmt(&supported_modes[OV4689_MODE_2688_1520], try_fmt);
|
||||
|
||||
|
@ -2797,8 +2797,7 @@ static int ov5640_get_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&sensor->lock);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt = v4l2_subdev_get_try_format(&sensor->sd, sd_state,
|
||||
format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
else
|
||||
fmt = &sensor->fmt;
|
||||
|
||||
@ -2971,7 +2970,7 @@ static int ov5640_set_fmt(struct v4l2_subdev *sd,
|
||||
goto out;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, 0) = *mbus_fmt;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mbus_fmt;
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -3750,8 +3749,8 @@ static int ov5640_init_cfg(struct v4l2_subdev *sd,
|
||||
{
|
||||
struct ov5640_dev *sensor = to_ov5640_dev(sd);
|
||||
struct v4l2_mbus_framefmt *fmt =
|
||||
v4l2_subdev_get_try_format(sd, state, 0);
|
||||
struct v4l2_rect *crop = v4l2_subdev_get_try_crop(sd, state, 0);
|
||||
v4l2_subdev_state_get_format(state, 0);
|
||||
struct v4l2_rect *crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
|
||||
*fmt = ov5640_is_csi2(sensor) ? ov5640_csi2_default_fmt :
|
||||
ov5640_dvp_default_fmt;
|
||||
|
@ -851,7 +851,7 @@ __ov5645_get_pad_format(struct ov5645 *ov5645,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&ov5645->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov5645->fmt;
|
||||
default:
|
||||
@ -878,7 +878,7 @@ __ov5645_get_pad_crop(struct ov5645 *ov5645,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&ov5645->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov5645->crop;
|
||||
default:
|
||||
|
@ -882,7 +882,7 @@ __ov5647_get_pad_crop(struct ov5647 *ov5647,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&ov5647->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov5647->mode->crop;
|
||||
}
|
||||
@ -975,8 +975,8 @@ static int ov5647_get_pad_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&sensor->lock);
|
||||
switch (format->which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
sensor_format = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
format->pad);
|
||||
sensor_format = v4l2_subdev_state_get_format(sd_state,
|
||||
format->pad);
|
||||
break;
|
||||
default:
|
||||
sensor_format = &sensor->mode->format;
|
||||
@ -1004,7 +1004,7 @@ static int ov5647_set_pad_fmt(struct v4l2_subdev *sd,
|
||||
/* Update the sensor mode and apply at it at streamon time. */
|
||||
mutex_lock(&sensor->lock);
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, format->pad) = mode->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, format->pad) = mode->format;
|
||||
} else {
|
||||
int exposure_max, exposure_def;
|
||||
int hblank, vblank;
|
||||
@ -1121,8 +1121,8 @@ static int ov5647_detect(struct v4l2_subdev *sd)
|
||||
static int ov5647_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *format =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
struct v4l2_rect *crop = v4l2_subdev_get_try_crop(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
struct v4l2_rect *crop = v4l2_subdev_state_get_crop(fh->state, 0);
|
||||
|
||||
crop->left = OV5647_PIXEL_ARRAY_LEFT;
|
||||
crop->top = OV5647_PIXEL_ARRAY_TOP;
|
||||
|
@ -2232,8 +2232,8 @@ static int ov5648_get_fmt(struct v4l2_subdev *subdev,
|
||||
mutex_lock(&sensor->mutex);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
*mbus_format = *v4l2_subdev_get_try_format(subdev, sd_state,
|
||||
format->pad);
|
||||
*mbus_format = *v4l2_subdev_state_get_format(sd_state,
|
||||
format->pad);
|
||||
else
|
||||
ov5648_mbus_format_fill(mbus_format, sensor->state.mbus_code,
|
||||
sensor->state.mode);
|
||||
@ -2285,7 +2285,7 @@ static int ov5648_set_fmt(struct v4l2_subdev *subdev,
|
||||
ov5648_mbus_format_fill(mbus_format, mbus_code, mode);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
*v4l2_subdev_get_try_format(subdev, sd_state, format->pad) =
|
||||
*v4l2_subdev_state_get_format(sd_state, format->pad) =
|
||||
*mbus_format;
|
||||
else if (sensor->state.mode != mode ||
|
||||
sensor->state.mbus_code != mbus_code)
|
||||
|
@ -2200,9 +2200,9 @@ static int ov5670_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *state)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *fmt =
|
||||
v4l2_subdev_get_try_format(sd, state, 0);
|
||||
v4l2_subdev_state_get_format(state, 0);
|
||||
const struct ov5670_mode *default_mode = &supported_modes[0];
|
||||
struct v4l2_rect *crop = v4l2_subdev_get_try_crop(sd, state, 0);
|
||||
struct v4l2_rect *crop = v4l2_subdev_state_get_crop(state, 0);
|
||||
|
||||
fmt->width = default_mode->width;
|
||||
fmt->height = default_mode->height;
|
||||
@ -2263,9 +2263,8 @@ static int ov5670_do_get_pad_format(struct ov5670 *ov5670,
|
||||
struct v4l2_subdev_format *fmt)
|
||||
{
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&ov5670->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
ov5670_update_pad_format(ov5670->cur_mode, fmt);
|
||||
|
||||
@ -2310,7 +2309,7 @@ static int ov5670_set_pad_format(struct v4l2_subdev *sd,
|
||||
fmt->format.width, fmt->format.height);
|
||||
ov5670_update_pad_format(mode, fmt);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
ov5670->cur_mode = mode;
|
||||
__v4l2_ctrl_s_ctrl(ov5670->link_freq, mode->link_freq_index);
|
||||
@ -2550,7 +2549,7 @@ __ov5670_get_pad_crop(struct ov5670 *sensor, struct v4l2_subdev_state *state,
|
||||
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&sensor->sd, state, pad);
|
||||
return v4l2_subdev_state_get_crop(state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return mode->analog_crop;
|
||||
}
|
||||
|
@ -1036,7 +1036,7 @@ static int ov5675_set_format(struct v4l2_subdev *sd,
|
||||
mutex_lock(&ov5675->mutex);
|
||||
ov5675_update_pad_format(mode, &fmt->format);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
ov5675->cur_mode = mode;
|
||||
__v4l2_ctrl_s_ctrl(ov5675->link_freq, mode->link_freq_index);
|
||||
@ -1069,9 +1069,8 @@ static int ov5675_get_format(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&ov5675->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&ov5675->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
ov5675_update_pad_format(ov5675->cur_mode, &fmt->format);
|
||||
|
||||
@ -1141,7 +1140,7 @@ static int ov5675_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&ov5675->mutex);
|
||||
ov5675_update_pad_format(&supported_modes[0],
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0));
|
||||
v4l2_subdev_state_get_format(fh->state, 0));
|
||||
mutex_unlock(&ov5675->mutex);
|
||||
|
||||
return 0;
|
||||
|
@ -775,7 +775,7 @@ __ov5693_get_pad_format(struct ov5693_device *ov5693,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&ov5693->sd, state, pad);
|
||||
return v4l2_subdev_state_get_format(state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov5693->mode.format;
|
||||
default:
|
||||
@ -790,7 +790,7 @@ __ov5693_get_pad_crop(struct ov5693_device *ov5693,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&ov5693->sd, state, pad);
|
||||
return v4l2_subdev_state_get_crop(state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov5693->mode.crop;
|
||||
}
|
||||
|
@ -820,7 +820,7 @@ static int ov5695_set_fmt(struct v4l2_subdev *sd,
|
||||
fmt->format.height = mode->height;
|
||||
fmt->format.field = V4L2_FIELD_NONE;
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
ov5695->cur_mode = mode;
|
||||
h_blank = mode->hts_def - mode->width;
|
||||
@ -846,8 +846,8 @@ static int ov5695_get_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&ov5695->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
fmt->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
} else {
|
||||
fmt->format.width = mode->width;
|
||||
fmt->format.height = mode->height;
|
||||
@ -1039,7 +1039,7 @@ static int ov5695_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct ov5695 *ov5695 = to_ov5695(sd);
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
const struct ov5695_mode *def_mode = &supported_modes[0];
|
||||
|
||||
mutex_lock(&ov5695->mutex);
|
||||
|
@ -476,7 +476,7 @@ static int ov6650_get_selection(struct v4l2_subdev *sd,
|
||||
|
||||
if (sel->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
/* pre-select try crop rectangle */
|
||||
rect = v4l2_subdev_get_pad_crop(sd, sd_state, 0);
|
||||
rect = v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
|
||||
} else {
|
||||
/* pre-select active crop rectangle */
|
||||
@ -532,9 +532,9 @@ static int ov6650_set_selection(struct v4l2_subdev *sd,
|
||||
|
||||
if (sel->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_rect *crop =
|
||||
v4l2_subdev_get_pad_crop(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
struct v4l2_mbus_framefmt *mf =
|
||||
v4l2_subdev_get_pad_format(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
/* detect current pad config scaling factor */
|
||||
bool half_scale = !is_unscaled_ok(mf->width, mf->height, crop);
|
||||
|
||||
@ -591,7 +591,7 @@ static int ov6650_get_fmt(struct v4l2_subdev *sd,
|
||||
/* update media bus format code and frame size */
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_pad_format(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
mf->width = try_fmt->width;
|
||||
mf->height = try_fmt->height;
|
||||
@ -722,7 +722,7 @@ static int ov6650_set_fmt(struct v4l2_subdev *sd,
|
||||
}
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
crop = v4l2_subdev_get_pad_crop(sd, sd_state, 0);
|
||||
crop = v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
else
|
||||
crop = &priv->rect;
|
||||
|
||||
@ -730,7 +730,7 @@ static int ov6650_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *try_fmt =
|
||||
v4l2_subdev_get_pad_format(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
/* store new mbus frame format code and size in pad config */
|
||||
try_fmt->width = crop->width >> half_scale;
|
||||
|
@ -1139,7 +1139,7 @@ __ov7251_get_pad_format(struct ov7251 *ov7251,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(&ov7251->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov7251->fmt;
|
||||
default:
|
||||
@ -1169,7 +1169,7 @@ __ov7251_get_pad_crop(struct ov7251 *ov7251,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&ov7251->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov7251->crop;
|
||||
default:
|
||||
|
@ -1112,8 +1112,7 @@ static int ov7670_set_fmt(struct v4l2_subdev *sd,
|
||||
ret = ov7670_try_fmt_internal(sd, &format->format, NULL, NULL);
|
||||
if (ret)
|
||||
return ret;
|
||||
mbus_fmt = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
format->pad);
|
||||
mbus_fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
*mbus_fmt = format->format;
|
||||
return 0;
|
||||
}
|
||||
@ -1141,7 +1140,7 @@ static int ov7670_get_fmt(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *mbus_fmt;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mbus_fmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mbus_fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
format->format = *mbus_fmt;
|
||||
return 0;
|
||||
} else {
|
||||
@ -1707,7 +1706,7 @@ static void ov7670_get_default_format(struct v4l2_subdev *sd,
|
||||
static int ov7670_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *format =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
ov7670_get_default_format(sd, format);
|
||||
|
||||
|
@ -1220,7 +1220,7 @@ static int ov772x_set_fmt(struct v4l2_subdev *sd,
|
||||
mf->xfer_func = V4L2_XFER_FUNC_DEFAULT;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -812,8 +812,7 @@ static int ov7740_set_fmt(struct v4l2_subdev *sd,
|
||||
if (ret)
|
||||
goto error;
|
||||
|
||||
mbus_fmt = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
format->pad);
|
||||
mbus_fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
*mbus_fmt = format->format;
|
||||
mutex_unlock(&ov7740->mutex);
|
||||
return 0;
|
||||
@ -843,7 +842,7 @@ static int ov7740_get_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&ov7740->mutex);
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mbus_fmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mbus_fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
format->format = *mbus_fmt;
|
||||
} else {
|
||||
format->format = ov7740->format;
|
||||
@ -883,7 +882,7 @@ static int ov7740_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct ov7740 *ov7740 = container_of(sd, struct ov7740, subdev);
|
||||
struct v4l2_mbus_framefmt *format =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
mutex_lock(&ov7740->mutex);
|
||||
ov7740_get_default_format(sd, format);
|
||||
|
@ -2134,7 +2134,7 @@ static int ov8856_set_format(struct v4l2_subdev *sd,
|
||||
mutex_lock(&ov8856->mutex);
|
||||
ov8856_update_pad_format(ov8856, mode, &fmt->format);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
ov8856->cur_mode = mode;
|
||||
__v4l2_ctrl_s_ctrl(ov8856->link_freq, mode->link_freq_index);
|
||||
@ -2172,9 +2172,8 @@ static int ov8856_get_format(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&ov8856->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&ov8856->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
ov8856_update_pad_format(ov8856, ov8856->cur_mode, &fmt->format);
|
||||
|
||||
@ -2225,7 +2224,7 @@ static int ov8856_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&ov8856->mutex);
|
||||
ov8856_update_pad_format(ov8856, &ov8856->priv_lane->supported_modes[0],
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0));
|
||||
v4l2_subdev_state_get_format(fh->state, 0));
|
||||
mutex_unlock(&ov8856->mutex);
|
||||
|
||||
return 0;
|
||||
|
@ -1333,7 +1333,7 @@ static int ov8858_start_stream(struct ov8858 *ov8858,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
format = v4l2_subdev_get_pad_format(&ov8858->subdev, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
mode = v4l2_find_nearest_size(ov8858_modes, ARRAY_SIZE(ov8858_modes),
|
||||
width, height, format->width,
|
||||
format->height);
|
||||
@ -1428,7 +1428,7 @@ static int ov8858_set_fmt(struct v4l2_subdev *sd,
|
||||
fmt->format.field = V4L2_FIELD_NONE;
|
||||
|
||||
/* Store the format in the current subdev state. */
|
||||
*v4l2_subdev_get_pad_format(sd, state, 0) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(state, 0) = fmt->format;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return 0;
|
||||
@ -1547,7 +1547,7 @@ static int ov8858_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
* - by the driver when s_ctrl is called in the s_stream(1) call path
|
||||
*/
|
||||
state = v4l2_subdev_get_locked_active_state(&ov8858->subdev);
|
||||
format = v4l2_subdev_get_pad_format(&ov8858->subdev, state, 0);
|
||||
format = v4l2_subdev_state_get_format(state, 0);
|
||||
|
||||
/* Propagate change of current control to all related controls */
|
||||
switch (ctrl->id) {
|
||||
|
@ -2710,8 +2710,8 @@ static int ov8865_get_fmt(struct v4l2_subdev *subdev,
|
||||
mutex_lock(&sensor->mutex);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
*mbus_format = *v4l2_subdev_get_try_format(subdev, sd_state,
|
||||
format->pad);
|
||||
*mbus_format = *v4l2_subdev_state_get_format(sd_state,
|
||||
format->pad);
|
||||
else
|
||||
ov8865_mbus_format_fill(mbus_format, sensor->state.mbus_code,
|
||||
sensor->state.mode);
|
||||
@ -2765,7 +2765,7 @@ static int ov8865_set_fmt(struct v4l2_subdev *subdev,
|
||||
ov8865_mbus_format_fill(mbus_format, mbus_code, mode);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
*v4l2_subdev_get_try_format(subdev, sd_state, format->pad) =
|
||||
*v4l2_subdev_state_get_format(sd_state, format->pad) =
|
||||
*mbus_format;
|
||||
else if (sensor->state.mode != mode ||
|
||||
sensor->state.mbus_code != mbus_code)
|
||||
@ -2818,7 +2818,7 @@ __ov8865_get_pad_crop(struct ov8865_sensor *sensor,
|
||||
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
*r = *v4l2_subdev_get_try_crop(&sensor->subdev, state, pad);
|
||||
*r = *v4l2_subdev_state_get_crop(state, pad);
|
||||
break;
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
r->height = mode->output_size_y;
|
||||
|
@ -814,7 +814,7 @@ static int ov9282_get_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *framefmt;
|
||||
} else {
|
||||
ov9282_fill_pad_format(ov9282, ov9282->cur_mode, ov9282->code,
|
||||
@ -860,7 +860,7 @@ static int ov9282_set_pad_format(struct v4l2_subdev *sd,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *framefmt;
|
||||
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*framefmt = fmt->format;
|
||||
} else {
|
||||
ret = ov9282_update_controls(ov9282, mode, fmt);
|
||||
@ -902,7 +902,7 @@ __ov9282_get_pad_crop(struct ov9282 *ov9282,
|
||||
{
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_crop(&ov9282->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &ov9282->cur_mode->crop;
|
||||
}
|
||||
|
@ -547,7 +547,7 @@ static int ov9640_set_fmt(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
return ov9640_s_fmt(sd, mf);
|
||||
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1172,7 +1172,7 @@ static int ov965x_get_fmt(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
fmt->format = *mf;
|
||||
return 0;
|
||||
}
|
||||
@ -1233,8 +1233,7 @@ static int ov965x_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
if (sd_state) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
fmt->pad);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*mf = fmt->format;
|
||||
}
|
||||
} else {
|
||||
@ -1363,7 +1362,7 @@ static int ov965x_s_stream(struct v4l2_subdev *sd, int on)
|
||||
static int ov965x_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *mf =
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0);
|
||||
v4l2_subdev_state_get_format(fh->state, 0);
|
||||
|
||||
ov965x_get_default_format(mf);
|
||||
return 0;
|
||||
|
@ -697,7 +697,7 @@ static int ov9734_set_format(struct v4l2_subdev *sd,
|
||||
mutex_lock(&ov9734->mutex);
|
||||
ov9734_update_pad_format(mode, &fmt->format);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = fmt->format;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = fmt->format;
|
||||
} else {
|
||||
ov9734->cur_mode = mode;
|
||||
__v4l2_ctrl_s_ctrl(ov9734->link_freq, mode->link_freq_index);
|
||||
@ -730,9 +730,8 @@ static int ov9734_get_format(struct v4l2_subdev *sd,
|
||||
|
||||
mutex_lock(&ov9734->mutex);
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(&ov9734->sd,
|
||||
sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
ov9734_update_pad_format(ov9734->cur_mode, &fmt->format);
|
||||
|
||||
@ -777,7 +776,7 @@ static int ov9734_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
|
||||
mutex_lock(&ov9734->mutex);
|
||||
ov9734_update_pad_format(&supported_modes[0],
|
||||
v4l2_subdev_get_try_format(sd, fh->state, 0));
|
||||
v4l2_subdev_state_get_format(fh->state, 0));
|
||||
mutex_unlock(&ov9734->mutex);
|
||||
|
||||
return 0;
|
||||
|
@ -1009,7 +1009,7 @@ static int rj54n1_set_fmt(struct v4l2_subdev *sd,
|
||||
&mf->height, 84, RJ54N1_MAX_HEIGHT, align, 0);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -819,7 +819,6 @@ static void s5c73m3_oif_try_format(struct s5c73m3 *state,
|
||||
struct v4l2_subdev_format *fmt,
|
||||
const struct s5c73m3_frame_size **fs)
|
||||
{
|
||||
struct v4l2_subdev *sd = &state->sensor_sd;
|
||||
u32 code;
|
||||
|
||||
switch (fmt->pad) {
|
||||
@ -841,10 +840,8 @@ static void s5c73m3_oif_try_format(struct s5c73m3 *state,
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
*fs = state->oif_pix_size[RES_ISP];
|
||||
else
|
||||
*fs = s5c73m3_find_frame_size(
|
||||
v4l2_subdev_get_try_format(sd, sd_state,
|
||||
OIF_ISP_PAD),
|
||||
RES_ISP);
|
||||
*fs = s5c73m3_find_frame_size(v4l2_subdev_state_get_format(sd_state, OIF_ISP_PAD),
|
||||
RES_ISP);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -990,8 +987,8 @@ static int s5c73m3_get_fmt(struct v4l2_subdev *sd,
|
||||
u32 code;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
fmt->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1025,8 +1022,8 @@ static int s5c73m3_oif_get_fmt(struct v4l2_subdev *sd,
|
||||
u32 code;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
fmt->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1069,7 +1066,7 @@ static int s5c73m3_set_fmt(struct v4l2_subdev *sd,
|
||||
s5c73m3_try_format(state, sd_state, fmt, &frame_size);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*mf = fmt->format;
|
||||
} else {
|
||||
switch (fmt->pad) {
|
||||
@ -1108,11 +1105,11 @@ static int s5c73m3_oif_set_fmt(struct v4l2_subdev *sd,
|
||||
s5c73m3_oif_try_format(state, sd_state, fmt, &frame_size);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
*mf = fmt->format;
|
||||
if (fmt->pad == OIF_ISP_PAD) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
OIF_SOURCE_PAD);
|
||||
mf = v4l2_subdev_state_get_format(sd_state,
|
||||
OIF_SOURCE_PAD);
|
||||
mf->width = fmt->format.width;
|
||||
mf->height = fmt->format.height;
|
||||
}
|
||||
@ -1260,8 +1257,8 @@ static int s5c73m3_oif_enum_frame_size(struct v4l2_subdev *sd,
|
||||
if (fse->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
OIF_ISP_PAD);
|
||||
mf = v4l2_subdev_state_get_format(sd_state,
|
||||
OIF_ISP_PAD);
|
||||
|
||||
w = mf->width;
|
||||
h = mf->height;
|
||||
@ -1316,11 +1313,11 @@ static int s5c73m3_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, fh->state, S5C73M3_ISP_PAD);
|
||||
mf = v4l2_subdev_state_get_format(fh->state, S5C73M3_ISP_PAD);
|
||||
s5c73m3_fill_mbus_fmt(mf, &s5c73m3_isp_resolutions[1],
|
||||
S5C73M3_ISP_FMT);
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, fh->state, S5C73M3_JPEG_PAD);
|
||||
mf = v4l2_subdev_state_get_format(fh->state, S5C73M3_JPEG_PAD);
|
||||
s5c73m3_fill_mbus_fmt(mf, &s5c73m3_jpeg_resolutions[1],
|
||||
S5C73M3_JPEG_FMT);
|
||||
|
||||
@ -1331,15 +1328,15 @@ static int s5c73m3_oif_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, fh->state, OIF_ISP_PAD);
|
||||
mf = v4l2_subdev_state_get_format(fh->state, OIF_ISP_PAD);
|
||||
s5c73m3_fill_mbus_fmt(mf, &s5c73m3_isp_resolutions[1],
|
||||
S5C73M3_ISP_FMT);
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, fh->state, OIF_JPEG_PAD);
|
||||
mf = v4l2_subdev_state_get_format(fh->state, OIF_JPEG_PAD);
|
||||
s5c73m3_fill_mbus_fmt(mf, &s5c73m3_jpeg_resolutions[1],
|
||||
S5C73M3_JPEG_FMT);
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, fh->state, OIF_SOURCE_PAD);
|
||||
mf = v4l2_subdev_state_get_format(fh->state, OIF_SOURCE_PAD);
|
||||
s5c73m3_fill_mbus_fmt(mf, &s5c73m3_isp_resolutions[1],
|
||||
S5C73M3_ISP_FMT);
|
||||
return 0;
|
||||
|
@ -1273,7 +1273,7 @@ static int s5k5baf_get_fmt(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
fmt->format = *mf;
|
||||
return 0;
|
||||
}
|
||||
@ -1307,7 +1307,7 @@ static int s5k5baf_set_fmt(struct v4l2_subdev *sd,
|
||||
mf->field = V4L2_FIELD_NONE;
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, fmt->pad) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, fmt->pad) = *mf;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1379,11 +1379,11 @@ static int s5k5baf_get_selection(struct v4l2_subdev *sd,
|
||||
|
||||
if (sel->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
if (rtype == R_COMPOSE)
|
||||
sel->r = *v4l2_subdev_get_try_compose(sd, sd_state,
|
||||
sel->pad);
|
||||
sel->r = *v4l2_subdev_state_get_compose(sd_state,
|
||||
sel->pad);
|
||||
else
|
||||
sel->r = *v4l2_subdev_get_try_crop(sd, sd_state,
|
||||
sel->pad);
|
||||
sel->r = *v4l2_subdev_state_get_crop(sd_state,
|
||||
sel->pad);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1472,14 +1472,11 @@ static int s5k5baf_set_selection(struct v4l2_subdev *sd,
|
||||
|
||||
if (sel->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
rects = (struct v4l2_rect * []) {
|
||||
&s5k5baf_cis_rect,
|
||||
v4l2_subdev_get_try_crop(sd, sd_state,
|
||||
PAD_CIS),
|
||||
v4l2_subdev_get_try_compose(sd, sd_state,
|
||||
PAD_CIS),
|
||||
v4l2_subdev_get_try_crop(sd, sd_state,
|
||||
PAD_OUT)
|
||||
};
|
||||
&s5k5baf_cis_rect,
|
||||
v4l2_subdev_state_get_crop(sd_state, PAD_CIS),
|
||||
v4l2_subdev_state_get_compose(sd_state, PAD_CIS),
|
||||
v4l2_subdev_state_get_crop(sd_state, PAD_OUT)
|
||||
};
|
||||
s5k5baf_set_rect_and_adjust(rects, rtype, &sel->r);
|
||||
return 0;
|
||||
}
|
||||
@ -1696,22 +1693,22 @@ static int s5k5baf_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, fh->state, PAD_CIS);
|
||||
mf = v4l2_subdev_state_get_format(fh->state, PAD_CIS);
|
||||
s5k5baf_try_cis_format(mf);
|
||||
|
||||
if (s5k5baf_is_cis_subdev(sd))
|
||||
return 0;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, fh->state, PAD_OUT);
|
||||
mf = v4l2_subdev_state_get_format(fh->state, PAD_OUT);
|
||||
mf->colorspace = s5k5baf_formats[0].colorspace;
|
||||
mf->code = s5k5baf_formats[0].code;
|
||||
mf->width = s5k5baf_cis_rect.width;
|
||||
mf->height = s5k5baf_cis_rect.height;
|
||||
mf->field = V4L2_FIELD_NONE;
|
||||
|
||||
*v4l2_subdev_get_try_crop(sd, fh->state, PAD_CIS) = s5k5baf_cis_rect;
|
||||
*v4l2_subdev_get_try_compose(sd, fh->state, PAD_CIS) = s5k5baf_cis_rect;
|
||||
*v4l2_subdev_get_try_crop(sd, fh->state, PAD_OUT) = s5k5baf_cis_rect;
|
||||
*v4l2_subdev_state_get_crop(fh->state, PAD_CIS) = s5k5baf_cis_rect;
|
||||
*v4l2_subdev_state_get_compose(fh->state, PAD_CIS) = s5k5baf_cis_rect;
|
||||
*v4l2_subdev_state_get_crop(fh->state, PAD_OUT) = s5k5baf_cis_rect;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -127,8 +127,7 @@ static struct v4l2_mbus_framefmt *__s5k6a3_get_format(
|
||||
u32 pad, enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return sd_state ? v4l2_subdev_get_try_format(&sensor->subdev,
|
||||
sd_state, pad) : NULL;
|
||||
return sd_state ? v4l2_subdev_state_get_format(sd_state, pad) : NULL;
|
||||
|
||||
return &sensor->format;
|
||||
}
|
||||
@ -174,9 +173,8 @@ static const struct v4l2_subdev_pad_ops s5k6a3_pad_ops = {
|
||||
|
||||
static int s5k6a3_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *format = v4l2_subdev_get_try_format(sd,
|
||||
fh->state,
|
||||
0);
|
||||
struct v4l2_mbus_framefmt *format = v4l2_subdev_state_get_format(fh->state,
|
||||
0);
|
||||
|
||||
*format = s5k6a3_formats[0];
|
||||
format->width = S5K6A3_DEFAULT_WIDTH;
|
||||
|
@ -595,7 +595,7 @@ static int saa6752hs_set_fmt(struct v4l2_subdev *sd,
|
||||
f->colorspace = V4L2_COLORSPACE_SMPTE170M;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *f;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *f;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -724,8 +724,7 @@ static int mipid02_get_fmt(struct v4l2_subdev *sd,
|
||||
return -EINVAL;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt = v4l2_subdev_get_try_format(&bridge->sd, sd_state,
|
||||
format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
else
|
||||
fmt = &bridge->fmt;
|
||||
|
||||
@ -751,8 +750,8 @@ static void mipid02_set_fmt_source(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
format->format = bridge->fmt;
|
||||
else
|
||||
format->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||
MIPID02_SINK_0);
|
||||
format->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
MIPID02_SINK_0);
|
||||
|
||||
/* but code may need to be converted */
|
||||
format->format.code = serial_to_parallel_code(format->format.code);
|
||||
@ -761,7 +760,7 @@ static void mipid02_set_fmt_source(struct v4l2_subdev *sd,
|
||||
if (format->which != V4L2_SUBDEV_FORMAT_TRY)
|
||||
return;
|
||||
|
||||
*v4l2_subdev_get_try_format(sd, sd_state, MIPID02_SOURCE) =
|
||||
*v4l2_subdev_state_get_format(sd_state, MIPID02_SOURCE) =
|
||||
format->format;
|
||||
}
|
||||
|
||||
@ -775,7 +774,7 @@ static void mipid02_set_fmt_sink(struct v4l2_subdev *sd,
|
||||
format->format.code = get_fmt_code(format->format.code);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
else
|
||||
fmt = &bridge->fmt;
|
||||
|
||||
|
@ -780,8 +780,7 @@ static int vgxy61_get_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&sensor->lock);
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt = v4l2_subdev_get_try_format(&sensor->sd, sd_state,
|
||||
format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
else
|
||||
fmt = &sensor->fmt;
|
||||
|
||||
@ -1289,7 +1288,7 @@ static int vgxy61_set_fmt(struct v4l2_subdev *sd,
|
||||
goto out;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
*fmt = format->format;
|
||||
} else if (sensor->current_mode != new_mode ||
|
||||
sensor->fmt.code != format->format.code) {
|
||||
|
@ -427,7 +427,7 @@ static int tc358746_apply_misc_config(struct tc358746 *tc358746)
|
||||
|
||||
sink_state = v4l2_subdev_lock_and_get_active_state(sd);
|
||||
|
||||
mbusfmt = v4l2_subdev_get_pad_format(sd, sink_state, TC358746_SINK);
|
||||
mbusfmt = v4l2_subdev_state_get_format(sink_state, TC358746_SINK);
|
||||
fmt = tc358746_get_format_by_code(TC358746_SINK, mbusfmt->code);
|
||||
|
||||
/* Self defined CSI user data type id's are not supported yet */
|
||||
@ -745,10 +745,10 @@ static int tc358746_init_cfg(struct v4l2_subdev *sd,
|
||||
{
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, state, TC358746_SINK);
|
||||
fmt = v4l2_subdev_state_get_format(state, TC358746_SINK);
|
||||
*fmt = tc358746_def_fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, state, TC358746_SOURCE);
|
||||
fmt = v4l2_subdev_state_get_format(state, TC358746_SOURCE);
|
||||
*fmt = tc358746_def_fmt;
|
||||
fmt->code = tc358746_src_mbus_code(tc358746_def_fmt.code);
|
||||
|
||||
@ -781,7 +781,7 @@ static int tc358746_set_fmt(struct v4l2_subdev *sd,
|
||||
if (format->pad == TC358746_SOURCE)
|
||||
return v4l2_subdev_get_fmt(sd, sd_state, format);
|
||||
|
||||
sink_fmt = v4l2_subdev_get_pad_format(sd, sd_state, TC358746_SINK);
|
||||
sink_fmt = v4l2_subdev_state_get_format(sd_state, TC358746_SINK);
|
||||
|
||||
fmt = tc358746_get_format_by_code(format->pad, format->format.code);
|
||||
if (IS_ERR(fmt)) {
|
||||
@ -800,7 +800,7 @@ static int tc358746_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
*sink_fmt = format->format;
|
||||
|
||||
src_fmt = v4l2_subdev_get_pad_format(sd, sd_state, TC358746_SOURCE);
|
||||
src_fmt = v4l2_subdev_state_get_format(sd_state, TC358746_SOURCE);
|
||||
*src_fmt = *sink_fmt;
|
||||
src_fmt->code = tc358746_src_mbus_code(sink_fmt->code);
|
||||
|
||||
@ -905,7 +905,7 @@ tc358746_link_validate(struct v4l2_subdev *sd, struct media_link *link,
|
||||
return err;
|
||||
|
||||
sink_state = v4l2_subdev_lock_and_get_active_state(sd);
|
||||
mbusfmt = v4l2_subdev_get_pad_format(sd, sink_state, TC358746_SINK);
|
||||
mbusfmt = v4l2_subdev_state_get_format(sink_state, TC358746_SINK);
|
||||
|
||||
/* Check the FIFO settings */
|
||||
fmt = tc358746_get_format_by_code(TC358746_SINK, mbusfmt->code);
|
||||
|
@ -1740,7 +1740,7 @@ static int tda1997x_init_cfg(struct v4l2_subdev *sd,
|
||||
struct tda1997x_state *state = to_state(sd);
|
||||
struct v4l2_mbus_framefmt *mf;
|
||||
|
||||
mf = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
mf = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
mf->code = state->mbus_codes[0];
|
||||
|
||||
return 0;
|
||||
@ -1792,7 +1792,7 @@ static int tda1997x_get_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
format->format.code = fmt->code;
|
||||
} else
|
||||
format->format.code = state->mbus_code;
|
||||
@ -1826,7 +1826,7 @@ static int tda1997x_set_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
struct v4l2_mbus_framefmt *fmt;
|
||||
|
||||
fmt = v4l2_subdev_get_try_format(sd, sd_state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, format->pad);
|
||||
*fmt = format->format;
|
||||
} else {
|
||||
int ret = tda1997x_setup_format(state, format->format.code);
|
||||
|
@ -1035,7 +1035,7 @@ tvp5150_get_pad_crop(struct tvp5150 *decoder,
|
||||
return &decoder->rect;
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
#if defined(CONFIG_VIDEO_V4L2_SUBDEV_API)
|
||||
return v4l2_subdev_get_try_crop(&decoder->sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_crop(sd_state, pad);
|
||||
#else
|
||||
return ERR_PTR(-EINVAL);
|
||||
#endif
|
||||
|
@ -829,7 +829,7 @@ static int tw9910_set_fmt(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
return tw9910_s_fmt(sd, mf);
|
||||
|
||||
*v4l2_subdev_get_pad_format(sd, sd_state, 0) = *mf;
|
||||
*v4l2_subdev_state_get_format(sd_state, 0) = *mf;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1205,11 +1205,11 @@ static int cio2_subdev_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
|
||||
};
|
||||
|
||||
/* Initialize try_fmt */
|
||||
format = v4l2_subdev_get_try_format(sd, fh->state, CIO2_PAD_SINK);
|
||||
format = v4l2_subdev_state_get_format(fh->state, CIO2_PAD_SINK);
|
||||
*format = fmt_default;
|
||||
|
||||
/* same as sink */
|
||||
format = v4l2_subdev_get_try_format(sd, fh->state, CIO2_PAD_SOURCE);
|
||||
format = v4l2_subdev_state_get_format(fh->state, CIO2_PAD_SOURCE);
|
||||
*format = fmt_default;
|
||||
|
||||
return 0;
|
||||
@ -1224,8 +1224,8 @@ static int cio2_subdev_get_fmt(struct v4l2_subdev *sd,
|
||||
mutex_lock(&q->subdev_lock);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
fmt->format = *v4l2_subdev_get_try_format(sd, sd_state,
|
||||
fmt->pad);
|
||||
fmt->format = *v4l2_subdev_state_get_format(sd_state,
|
||||
fmt->pad);
|
||||
else
|
||||
fmt->format = q->subdev_fmt;
|
||||
|
||||
@ -1251,7 +1251,7 @@ static int cio2_subdev_set_fmt(struct v4l2_subdev *sd,
|
||||
return cio2_subdev_get_fmt(sd, sd_state, fmt);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
mbus = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
|
||||
mbus = v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
else
|
||||
mbus = &q->subdev_fmt;
|
||||
|
||||
|
@ -338,7 +338,7 @@ mei_csi_get_pad_format(struct v4l2_subdev *sd,
|
||||
|
||||
switch (which) {
|
||||
case V4L2_SUBDEV_FORMAT_TRY:
|
||||
return v4l2_subdev_get_try_format(sd, sd_state, pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
case V4L2_SUBDEV_FORMAT_ACTIVE:
|
||||
return &csi->format_mbus[pad];
|
||||
default:
|
||||
@ -356,7 +356,7 @@ static int mei_csi_init_cfg(struct v4l2_subdev *sd,
|
||||
mutex_lock(&csi->lock);
|
||||
|
||||
for (i = 0; i < sd->entity.num_pads; i++) {
|
||||
mbusformat = v4l2_subdev_get_try_format(sd, sd_state, i);
|
||||
mbusformat = v4l2_subdev_state_get_format(sd_state, i);
|
||||
*mbusformat = mei_csi_format_mbus_default;
|
||||
}
|
||||
|
||||
|
@ -560,7 +560,7 @@ static void isi_try_fse(struct atmel_isi *isi, const struct isi_format *isi_fmt,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
struct v4l2_rect *try_crop =
|
||||
v4l2_subdev_get_pad_crop(isi->entity.subdev, sd_state, 0);
|
||||
v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
struct v4l2_subdev_frame_size_enum fse = {
|
||||
.code = isi_fmt->mbus_code,
|
||||
.which = V4L2_SUBDEV_FORMAT_TRY,
|
||||
|
@ -406,12 +406,12 @@ static int csi2rx_set_fmt(struct v4l2_subdev *subdev,
|
||||
format->format.field = V4L2_FIELD_NONE;
|
||||
|
||||
/* Set sink format */
|
||||
fmt = v4l2_subdev_get_pad_format(subdev, state, format->pad);
|
||||
fmt = v4l2_subdev_state_get_format(state, format->pad);
|
||||
*fmt = format->format;
|
||||
|
||||
/* Propagate to source formats */
|
||||
for (i = CSI2RX_PAD_SOURCE_STREAM0; i < CSI2RX_PAD_MAX; i++) {
|
||||
fmt = v4l2_subdev_get_pad_format(subdev, state, i);
|
||||
fmt = v4l2_subdev_state_get_format(state, i);
|
||||
*fmt = format->format;
|
||||
}
|
||||
|
||||
|
@ -176,8 +176,7 @@ __csi2tx_get_pad_format(struct v4l2_subdev *subdev,
|
||||
struct csi2tx_priv *csi2tx = v4l2_subdev_to_csi2tx(subdev);
|
||||
|
||||
if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_format(subdev, sd_state,
|
||||
fmt->pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, fmt->pad);
|
||||
|
||||
return &csi2tx->pad_fmts[fmt->pad];
|
||||
}
|
||||
|
@ -232,8 +232,8 @@ static int csi2dc_get_fmt(struct v4l2_subdev *csi2dc_sd,
|
||||
struct v4l2_mbus_framefmt *v4l2_try_fmt;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
v4l2_try_fmt = v4l2_subdev_get_try_format(csi2dc_sd, sd_state,
|
||||
format->pad);
|
||||
v4l2_try_fmt = v4l2_subdev_state_get_format(sd_state,
|
||||
format->pad);
|
||||
format->format = *v4l2_try_fmt;
|
||||
|
||||
return 0;
|
||||
@ -281,13 +281,12 @@ static int csi2dc_set_fmt(struct v4l2_subdev *csi2dc_sd,
|
||||
req_fmt->format.field = V4L2_FIELD_NONE;
|
||||
|
||||
if (req_fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
v4l2_try_fmt = v4l2_subdev_get_try_format(csi2dc_sd, sd_state,
|
||||
req_fmt->pad);
|
||||
v4l2_try_fmt = v4l2_subdev_state_get_format(sd_state,
|
||||
req_fmt->pad);
|
||||
*v4l2_try_fmt = req_fmt->format;
|
||||
/* Trying on the sink pad makes the source pad change too */
|
||||
v4l2_try_fmt = v4l2_subdev_get_try_format(csi2dc_sd,
|
||||
sd_state,
|
||||
CSI2DC_PAD_SOURCE);
|
||||
v4l2_try_fmt = v4l2_subdev_state_get_format(sd_state,
|
||||
CSI2DC_PAD_SOURCE);
|
||||
*v4l2_try_fmt = req_fmt->format;
|
||||
|
||||
/* if we are just trying, we are done */
|
||||
@ -440,7 +439,7 @@ static int csi2dc_init_cfg(struct v4l2_subdev *csi2dc_sd,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *v4l2_try_fmt =
|
||||
v4l2_subdev_get_try_format(csi2dc_sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
v4l2_try_fmt->height = 480;
|
||||
v4l2_try_fmt->width = 640;
|
||||
|
@ -855,7 +855,7 @@ static void isc_try_fse(struct isc_device *isc,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
struct v4l2_rect *try_crop =
|
||||
v4l2_subdev_get_pad_crop(isc->current_subdev->sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
struct v4l2_subdev_frame_size_enum fse = {
|
||||
.which = V4L2_SUBDEV_FORMAT_TRY,
|
||||
};
|
||||
|
@ -33,8 +33,8 @@ static int isc_scaler_get_fmt(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *v4l2_try_fmt;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
v4l2_try_fmt = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
format->pad);
|
||||
v4l2_try_fmt = v4l2_subdev_state_get_format(sd_state,
|
||||
format->pad);
|
||||
format->format = *v4l2_try_fmt;
|
||||
|
||||
return 0;
|
||||
@ -74,12 +74,12 @@ static int isc_scaler_set_fmt(struct v4l2_subdev *sd,
|
||||
req_fmt->format.code = fmt->mbus_code;
|
||||
|
||||
if (req_fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
v4l2_try_fmt = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
req_fmt->pad);
|
||||
v4l2_try_fmt = v4l2_subdev_state_get_format(sd_state,
|
||||
req_fmt->pad);
|
||||
*v4l2_try_fmt = req_fmt->format;
|
||||
/* Trying on the sink pad makes the source pad change too */
|
||||
v4l2_try_fmt = v4l2_subdev_get_try_format(sd, sd_state,
|
||||
ISC_SCALER_PAD_SOURCE);
|
||||
v4l2_try_fmt = v4l2_subdev_state_get_format(sd_state,
|
||||
ISC_SCALER_PAD_SOURCE);
|
||||
*v4l2_try_fmt = req_fmt->format;
|
||||
|
||||
v4l_bound_align_image(&v4l2_try_fmt->width,
|
||||
@ -149,13 +149,13 @@ static int isc_scaler_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *sd_state)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *v4l2_try_fmt =
|
||||
v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
v4l2_subdev_state_get_format(sd_state, 0);
|
||||
struct v4l2_rect *try_crop;
|
||||
struct isc_device *isc = container_of(sd, struct isc_device, scaler_sd);
|
||||
|
||||
*v4l2_try_fmt = isc->scaler_format[ISC_SCALER_PAD_SOURCE];
|
||||
|
||||
try_crop = v4l2_subdev_get_try_crop(sd, sd_state, 0);
|
||||
try_crop = v4l2_subdev_state_get_crop(sd_state, 0);
|
||||
|
||||
try_crop->top = 0;
|
||||
try_crop->left = 0;
|
||||
|
@ -954,7 +954,7 @@ static int mipi_csis_s_stream(struct v4l2_subdev *sd, int enable)
|
||||
|
||||
state = v4l2_subdev_lock_and_get_active_state(sd);
|
||||
|
||||
format = v4l2_subdev_get_pad_format(sd, state, CSIS_PAD_SINK);
|
||||
format = v4l2_subdev_state_get_format(state, CSIS_PAD_SINK);
|
||||
csis_fmt = find_csis_format(format->code);
|
||||
|
||||
ret = mipi_csis_calculate_params(csis, csis_fmt);
|
||||
@ -1002,7 +1002,7 @@ static int mipi_csis_enum_mbus_code(struct v4l2_subdev *sd,
|
||||
if (code->index > 0)
|
||||
return -EINVAL;
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, code->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, code->pad);
|
||||
code->code = fmt->code;
|
||||
return 0;
|
||||
}
|
||||
@ -1069,7 +1069,7 @@ static int mipi_csis_set_fmt(struct v4l2_subdev *sd,
|
||||
&sdformat->format.height, 1,
|
||||
CSIS_MAX_PIX_HEIGHT, 0, 0);
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, sdformat->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, sdformat->pad);
|
||||
|
||||
fmt->code = csis_fmt->code;
|
||||
fmt->width = sdformat->format.width;
|
||||
@ -1083,7 +1083,7 @@ static int mipi_csis_set_fmt(struct v4l2_subdev *sd,
|
||||
sdformat->format = *fmt;
|
||||
|
||||
/* Propagate the format from sink to source. */
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, CSIS_PAD_SOURCE);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, CSIS_PAD_SOURCE);
|
||||
*fmt = sdformat->format;
|
||||
|
||||
/* The format on the source pad might change due to unpacking. */
|
||||
@ -1104,7 +1104,7 @@ static int mipi_csis_get_frame_desc(struct v4l2_subdev *sd, unsigned int pad,
|
||||
return -EINVAL;
|
||||
|
||||
state = v4l2_subdev_lock_and_get_active_state(sd);
|
||||
fmt = v4l2_subdev_get_pad_format(sd, state, CSIS_PAD_SOURCE);
|
||||
fmt = v4l2_subdev_state_get_format(state, CSIS_PAD_SOURCE);
|
||||
csis_fmt = find_csis_format(fmt->code);
|
||||
v4l2_subdev_unlock_state(state);
|
||||
|
||||
|
@ -542,8 +542,8 @@ static void imx7_csi_configure(struct imx7_csi *csi,
|
||||
} else {
|
||||
const struct v4l2_mbus_framefmt *sink_fmt;
|
||||
|
||||
sink_fmt = v4l2_subdev_get_pad_format(&csi->sd, sd_state,
|
||||
IMX7_CSI_PAD_SINK);
|
||||
sink_fmt = v4l2_subdev_state_get_format(sd_state,
|
||||
IMX7_CSI_PAD_SINK);
|
||||
|
||||
cr1 = BIT_SOF_POL | BIT_REDGE | BIT_HSYNC_POL | BIT_FCC
|
||||
| BIT_MCLKDIV(1) | BIT_MCLKEN;
|
||||
@ -1739,7 +1739,7 @@ static int imx7_csi_init_cfg(struct v4l2_subdev *sd,
|
||||
|
||||
for (i = 0; i < IMX7_CSI_PADS_NUM; i++) {
|
||||
struct v4l2_mbus_framefmt *mf =
|
||||
v4l2_subdev_get_pad_format(sd, sd_state, i);
|
||||
v4l2_subdev_state_get_format(sd_state, i);
|
||||
|
||||
mf->code = IMX7_CSI_DEF_MBUS_CODE;
|
||||
mf->width = IMX7_CSI_DEF_PIX_WIDTH;
|
||||
@ -1763,7 +1763,7 @@ static int imx7_csi_enum_mbus_code(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *in_fmt;
|
||||
int ret = 0;
|
||||
|
||||
in_fmt = v4l2_subdev_get_pad_format(sd, sd_state, IMX7_CSI_PAD_SINK);
|
||||
in_fmt = v4l2_subdev_state_get_format(sd_state, IMX7_CSI_PAD_SINK);
|
||||
|
||||
switch (code->pad) {
|
||||
case IMX7_CSI_PAD_SINK:
|
||||
@ -1842,7 +1842,7 @@ static void imx7_csi_try_fmt(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *in_fmt;
|
||||
u32 code;
|
||||
|
||||
in_fmt = v4l2_subdev_get_pad_format(sd, sd_state, IMX7_CSI_PAD_SINK);
|
||||
in_fmt = v4l2_subdev_state_get_format(sd_state, IMX7_CSI_PAD_SINK);
|
||||
|
||||
switch (sdformat->pad) {
|
||||
case IMX7_CSI_PAD_SRC:
|
||||
@ -1892,7 +1892,7 @@ static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
|
||||
|
||||
imx7_csi_try_fmt(sd, sd_state, sdformat, &cc);
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, sdformat->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, sdformat->pad);
|
||||
|
||||
*fmt = sdformat->format;
|
||||
|
||||
@ -1903,8 +1903,8 @@ static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
|
||||
format.format = sdformat->format;
|
||||
imx7_csi_try_fmt(sd, sd_state, &format, &outcc);
|
||||
|
||||
outfmt = v4l2_subdev_get_pad_format(sd, sd_state,
|
||||
IMX7_CSI_PAD_SRC);
|
||||
outfmt = v4l2_subdev_state_get_format(sd_state,
|
||||
IMX7_CSI_PAD_SRC);
|
||||
*outfmt = format.format;
|
||||
}
|
||||
|
||||
|
@ -263,10 +263,10 @@ int mxc_isi_pipe_enable(struct mxc_isi_pipe *pipe)
|
||||
/* Configure the pipeline. */
|
||||
state = v4l2_subdev_lock_and_get_active_state(sd);
|
||||
|
||||
sink_fmt = v4l2_subdev_get_try_format(sd, state, MXC_ISI_PIPE_PAD_SINK);
|
||||
src_fmt = v4l2_subdev_get_try_format(sd, state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
compose = v4l2_subdev_get_try_compose(sd, state, MXC_ISI_PIPE_PAD_SINK);
|
||||
crop = *v4l2_subdev_get_try_crop(sd, state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
sink_fmt = v4l2_subdev_state_get_format(state, MXC_ISI_PIPE_PAD_SINK);
|
||||
src_fmt = v4l2_subdev_state_get_format(state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
compose = v4l2_subdev_state_get_compose(state, MXC_ISI_PIPE_PAD_SINK);
|
||||
crop = *v4l2_subdev_state_get_crop(state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
|
||||
sink_info = mxc_isi_bus_format_by_code(sink_fmt->code,
|
||||
MXC_ISI_PIPE_PAD_SINK);
|
||||
@ -322,7 +322,7 @@ mxc_isi_pipe_get_pad_format(struct mxc_isi_pipe *pipe,
|
||||
struct v4l2_subdev_state *state,
|
||||
unsigned int pad)
|
||||
{
|
||||
return v4l2_subdev_get_try_format(&pipe->sd, state, pad);
|
||||
return v4l2_subdev_state_get_format(state, pad);
|
||||
}
|
||||
|
||||
static struct v4l2_rect *
|
||||
@ -330,7 +330,7 @@ mxc_isi_pipe_get_pad_crop(struct mxc_isi_pipe *pipe,
|
||||
struct v4l2_subdev_state *state,
|
||||
unsigned int pad)
|
||||
{
|
||||
return v4l2_subdev_get_try_crop(&pipe->sd, state, pad);
|
||||
return v4l2_subdev_state_get_crop(state, pad);
|
||||
}
|
||||
|
||||
static struct v4l2_rect *
|
||||
@ -338,7 +338,7 @@ mxc_isi_pipe_get_pad_compose(struct mxc_isi_pipe *pipe,
|
||||
struct v4l2_subdev_state *state,
|
||||
unsigned int pad)
|
||||
{
|
||||
return v4l2_subdev_get_try_compose(&pipe->sd, state, pad);
|
||||
return v4l2_subdev_state_get_compose(state, pad);
|
||||
}
|
||||
|
||||
static int mxc_isi_pipe_init_cfg(struct v4l2_subdev *sd,
|
||||
@ -832,8 +832,8 @@ int mxc_isi_pipe_acquire(struct mxc_isi_pipe *pipe,
|
||||
int ret;
|
||||
|
||||
state = v4l2_subdev_lock_and_get_active_state(sd);
|
||||
sink_fmt = v4l2_subdev_get_try_format(sd, state, MXC_ISI_PIPE_PAD_SINK);
|
||||
src_fmt = v4l2_subdev_get_try_format(sd, state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
sink_fmt = v4l2_subdev_state_get_format(state, MXC_ISI_PIPE_PAD_SINK);
|
||||
src_fmt = v4l2_subdev_state_get_format(state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
v4l2_subdev_unlock_state(state);
|
||||
|
||||
sink_info = mxc_isi_bus_format_by_code(sink_fmt->code,
|
||||
|
@ -713,7 +713,7 @@ static int mxc_isi_video_validate_format(struct mxc_isi_video *video)
|
||||
|
||||
info = mxc_isi_format_by_fourcc(video->pix.pixelformat,
|
||||
MXC_ISI_VIDEO_CAP);
|
||||
format = v4l2_subdev_get_try_format(sd, state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
format = v4l2_subdev_state_get_format(state, MXC_ISI_PIPE_PAD_SOURCE);
|
||||
|
||||
if (format->code != info->mbus_code ||
|
||||
format->width != video->pix.width ||
|
||||
|
@ -296,7 +296,7 @@ static int imx8mq_mipi_csi_calc_hs_settle(struct csi_state *state,
|
||||
|
||||
/* Calculate the line rate from the pixel rate. */
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(&state->sd, sd_state, MIPI_CSI2_PAD_SINK);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, MIPI_CSI2_PAD_SINK);
|
||||
csi2_fmt = find_csi2_format(fmt->code);
|
||||
|
||||
link_freq = v4l2_get_link_freq(state->src_sd->ctrl_handler,
|
||||
@ -443,8 +443,9 @@ static int imx8mq_mipi_csi_init_cfg(struct v4l2_subdev *sd,
|
||||
struct v4l2_mbus_framefmt *fmt_sink;
|
||||
struct v4l2_mbus_framefmt *fmt_source;
|
||||
|
||||
fmt_sink = v4l2_subdev_get_pad_format(sd, sd_state, MIPI_CSI2_PAD_SINK);
|
||||
fmt_source = v4l2_subdev_get_pad_format(sd, sd_state, MIPI_CSI2_PAD_SOURCE);
|
||||
fmt_sink = v4l2_subdev_state_get_format(sd_state, MIPI_CSI2_PAD_SINK);
|
||||
fmt_source = v4l2_subdev_state_get_format(sd_state,
|
||||
MIPI_CSI2_PAD_SOURCE);
|
||||
|
||||
fmt_sink->code = MEDIA_BUS_FMT_SGBRG10_1X10;
|
||||
fmt_sink->width = MIPI_CSI2_DEF_PIX_WIDTH;
|
||||
@ -477,7 +478,7 @@ static int imx8mq_mipi_csi_enum_mbus_code(struct v4l2_subdev *sd,
|
||||
if (code->index > 0)
|
||||
return -EINVAL;
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, code->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, code->pad);
|
||||
code->code = fmt->code;
|
||||
return 0;
|
||||
}
|
||||
@ -514,7 +515,7 @@ static int imx8mq_mipi_csi_set_fmt(struct v4l2_subdev *sd,
|
||||
if (!csi2_fmt)
|
||||
csi2_fmt = &imx8mq_mipi_csi_formats[0];
|
||||
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, sdformat->pad);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, sdformat->pad);
|
||||
|
||||
fmt->code = csi2_fmt->code;
|
||||
fmt->width = sdformat->format.width;
|
||||
@ -523,7 +524,7 @@ static int imx8mq_mipi_csi_set_fmt(struct v4l2_subdev *sd,
|
||||
sdformat->format = *fmt;
|
||||
|
||||
/* Propagate the format from sink to source. */
|
||||
fmt = v4l2_subdev_get_pad_format(sd, sd_state, MIPI_CSI2_PAD_SOURCE);
|
||||
fmt = v4l2_subdev_state_get_format(sd_state, MIPI_CSI2_PAD_SOURCE);
|
||||
*fmt = sdformat->format;
|
||||
|
||||
return 0;
|
||||
|
@ -276,8 +276,7 @@ __csid_get_format(struct csid_device *csid,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_format(&csid->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
|
||||
return &csid->fmt[pad];
|
||||
}
|
||||
|
@ -325,8 +325,7 @@ __csiphy_get_format(struct csiphy_device *csiphy,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_format(&csiphy->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
|
||||
return &csiphy->fmt[pad];
|
||||
}
|
||||
|
@ -879,8 +879,7 @@ __ispif_get_format(struct ispif_line *line,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_format(&line->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
|
||||
return &line->fmt[pad];
|
||||
}
|
||||
|
@ -828,8 +828,7 @@ __vfe_get_format(struct vfe_line *line,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_format(&line->subdev, sd_state,
|
||||
pad);
|
||||
return v4l2_subdev_state_get_format(sd_state, pad);
|
||||
|
||||
return &line->fmt[pad];
|
||||
}
|
||||
@ -848,8 +847,8 @@ __vfe_get_compose(struct vfe_line *line,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_compose(&line->subdev, sd_state,
|
||||
MSM_VFE_PAD_SINK);
|
||||
return v4l2_subdev_state_get_compose(sd_state,
|
||||
MSM_VFE_PAD_SINK);
|
||||
|
||||
return &line->compose;
|
||||
}
|
||||
@ -868,8 +867,7 @@ __vfe_get_crop(struct vfe_line *line,
|
||||
enum v4l2_subdev_format_whence which)
|
||||
{
|
||||
if (which == V4L2_SUBDEV_FORMAT_TRY)
|
||||
return v4l2_subdev_get_try_crop(&line->subdev, sd_state,
|
||||
MSM_VFE_PAD_SRC);
|
||||
return v4l2_subdev_state_get_crop(sd_state, MSM_VFE_PAD_SRC);
|
||||
|
||||
return &line->crop;
|
||||
}
|
||||
|
@ -282,7 +282,7 @@ static int risp_set_pad_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
|
||||
isp->mf = format->format;
|
||||
} else {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
*framefmt = format->format;
|
||||
}
|
||||
|
||||
@ -302,7 +302,7 @@ static int risp_get_pad_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
format->format = isp->mf;
|
||||
else
|
||||
format->format = *v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
format->format = *v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
mutex_unlock(&isp->lock);
|
||||
|
||||
|
@ -1185,7 +1185,7 @@ static int rcsi2_set_pad_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
|
||||
priv->mf = format->format;
|
||||
} else {
|
||||
framefmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
framefmt = v4l2_subdev_state_get_format(sd_state, 0);
|
||||
*framefmt = format->format;
|
||||
}
|
||||
|
||||
@ -1205,7 +1205,7 @@ static int rcsi2_get_pad_format(struct v4l2_subdev *sd,
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
|
||||
format->format = priv->mf;
|
||||
else
|
||||
format->format = *v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
format->format = *v4l2_subdev_state_get_format(sd_state, 0);
|
||||
|
||||
mutex_unlock(&priv->lock);
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user