media: v4l: subdev: Switch to stream-aware state functions
authorSakari Ailus <sakari.ailus@linux.intel.com>
Fri, 13 Oct 2023 07:37:10 +0000 (09:37 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Thu, 23 Nov 2023 17:57:47 +0000 (18:57 +0100)
commitbc0e8d91feec72b19199298dca470c5816a52105
treedb45dee196b5e476f763c14f9a6abcab54067686
parent981e0d4c724fae1fbc281b3b25b18b041b793f4d
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>
153 files changed:
drivers/media/i2c/adv7180.c
drivers/media/i2c/adv7183.c
drivers/media/i2c/adv748x/adv748x-afe.c
drivers/media/i2c/adv748x/adv748x-csi2.c
drivers/media/i2c/adv748x/adv748x-hdmi.c
drivers/media/i2c/adv7511-v4l2.c
drivers/media/i2c/adv7604.c
drivers/media/i2c/adv7842.c
drivers/media/i2c/ar0521.c
drivers/media/i2c/ccs/ccs-core.c
drivers/media/i2c/et8ek8/et8ek8_driver.c
drivers/media/i2c/hi556.c
drivers/media/i2c/hi846.c
drivers/media/i2c/hi847.c
drivers/media/i2c/imx208.c
drivers/media/i2c/imx214.c
drivers/media/i2c/imx219.c
drivers/media/i2c/imx258.c
drivers/media/i2c/imx274.c
drivers/media/i2c/imx290.c
drivers/media/i2c/imx296.c
drivers/media/i2c/imx319.c
drivers/media/i2c/imx334.c
drivers/media/i2c/imx335.c
drivers/media/i2c/imx355.c
drivers/media/i2c/imx412.c
drivers/media/i2c/imx415.c
drivers/media/i2c/isl7998x.c
drivers/media/i2c/max9286.c
drivers/media/i2c/mt9m001.c
drivers/media/i2c/mt9m111.c
drivers/media/i2c/mt9m114.c
drivers/media/i2c/mt9p031.c
drivers/media/i2c/mt9t112.c
drivers/media/i2c/mt9v011.c
drivers/media/i2c/mt9v032.c
drivers/media/i2c/mt9v111.c
drivers/media/i2c/og01a1b.c
drivers/media/i2c/ov01a10.c
drivers/media/i2c/ov02a10.c
drivers/media/i2c/ov08d10.c
drivers/media/i2c/ov08x40.c
drivers/media/i2c/ov13858.c
drivers/media/i2c/ov13b10.c
drivers/media/i2c/ov2640.c
drivers/media/i2c/ov2659.c
drivers/media/i2c/ov2680.c
drivers/media/i2c/ov2685.c
drivers/media/i2c/ov2740.c
drivers/media/i2c/ov4689.c
drivers/media/i2c/ov5640.c
drivers/media/i2c/ov5645.c
drivers/media/i2c/ov5647.c
drivers/media/i2c/ov5648.c
drivers/media/i2c/ov5670.c
drivers/media/i2c/ov5675.c
drivers/media/i2c/ov5693.c
drivers/media/i2c/ov5695.c
drivers/media/i2c/ov6650.c
drivers/media/i2c/ov7251.c
drivers/media/i2c/ov7670.c
drivers/media/i2c/ov772x.c
drivers/media/i2c/ov7740.c
drivers/media/i2c/ov8856.c
drivers/media/i2c/ov8858.c
drivers/media/i2c/ov8865.c
drivers/media/i2c/ov9282.c
drivers/media/i2c/ov9640.c
drivers/media/i2c/ov9650.c
drivers/media/i2c/ov9734.c
drivers/media/i2c/rj54n1cb0c.c
drivers/media/i2c/s5c73m3/s5c73m3-core.c
drivers/media/i2c/s5k5baf.c
drivers/media/i2c/s5k6a3.c
drivers/media/i2c/saa6752hs.c
drivers/media/i2c/st-mipid02.c
drivers/media/i2c/st-vgxy61.c
drivers/media/i2c/tc358746.c
drivers/media/i2c/tda1997x.c
drivers/media/i2c/tvp5150.c
drivers/media/i2c/tw9910.c
drivers/media/pci/intel/ipu3/ipu3-cio2.c
drivers/media/pci/intel/ivsc/mei_csi.c
drivers/media/platform/atmel/atmel-isi.c
drivers/media/platform/cadence/cdns-csi2rx.c
drivers/media/platform/cadence/cdns-csi2tx.c
drivers/media/platform/microchip/microchip-csi2dc.c
drivers/media/platform/microchip/microchip-isc-base.c
drivers/media/platform/microchip/microchip-isc-scaler.c
drivers/media/platform/nxp/imx-mipi-csis.c
drivers/media/platform/nxp/imx7-media-csi.c
drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c
drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c
drivers/media/platform/nxp/imx8mq-mipi-csi2.c
drivers/media/platform/qcom/camss/camss-csid.c
drivers/media/platform/qcom/camss/camss-csiphy.c
drivers/media/platform/qcom/camss/camss-ispif.c
drivers/media/platform/qcom/camss/camss-vfe.c
drivers/media/platform/renesas/rcar-isp.c
drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c
drivers/media/platform/renesas/vsp1/vsp1_brx.c
drivers/media/platform/renesas/vsp1/vsp1_entity.c
drivers/media/platform/renesas/vsp1/vsp1_rwpf.c
drivers/media/platform/rockchip/rkisp1/rkisp1-csi.c
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
drivers/media/platform/samsung/exynos4-is/fimc-isp.c
drivers/media/platform/samsung/exynos4-is/fimc-lite.c
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
drivers/media/platform/samsung/s3c-camif/camif-capture.c
drivers/media/platform/sunxi/sun4i-csi/sun4i_v4l2.c
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
drivers/media/platform/ti/cal/cal-camerarx.c
drivers/media/platform/ti/cal/cal-video.c
drivers/media/platform/ti/omap3isp/ispccdc.c
drivers/media/platform/ti/omap3isp/ispccp2.c
drivers/media/platform/ti/omap3isp/ispcsi2.c
drivers/media/platform/ti/omap3isp/isppreview.c
drivers/media/platform/ti/omap3isp/ispresizer.c
drivers/media/platform/video-mux.c
drivers/media/platform/xilinx/xilinx-csi2rxss.c
drivers/media/platform/xilinx/xilinx-tpg.c
drivers/media/platform/xilinx/xilinx-vip.c
drivers/media/test-drivers/vimc/vimc-debayer.c
drivers/media/test-drivers/vimc/vimc-scaler.c
drivers/media/test-drivers/vimc/vimc-sensor.c
drivers/staging/media/atomisp/i2c/atomisp-gc0310.c
drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
drivers/staging/media/atomisp/pci/atomisp_csi2.c
drivers/staging/media/atomisp/pci/atomisp_subdev.c
drivers/staging/media/atomisp/pci/atomisp_tpg.c
drivers/staging/media/deprecated/atmel/atmel-isc-base.c
drivers/staging/media/imx/imx-ic-prp.c
drivers/staging/media/imx/imx-ic-prpencvf.c
drivers/staging/media/imx/imx-media-csi.c
drivers/staging/media/imx/imx-media-utils.c
drivers/staging/media/imx/imx-media-vdic.c
drivers/staging/media/imx/imx6-mipi-csi2.c
drivers/staging/media/ipu3/ipu3-v4l2.c
drivers/staging/media/omap4iss/iss_csi2.c
drivers/staging/media/omap4iss/iss_ipipe.c
drivers/staging/media/omap4iss/iss_ipipeif.c
drivers/staging/media/omap4iss/iss_resizer.c
drivers/staging/media/starfive/camss/stf-isp.c
drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_proc.c
drivers/staging/media/tegra-video/vi.c