All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-media@vger.kernel.org, hverkuil@xs4all.nl,
	tomi.valkeinen@ideasonboard.com, jacopo.mondi@ideasonboard.com,
	bingbu.cao@intel.com, hongju.wang@intel.com
Subject: Re: [PATCH v3 6/8] media: v4l: subdev: Switch to stream-aware state functions
Date: Tue, 24 Oct 2023 01:13:39 +0300	[thread overview]
Message-ID: <20231023221339.GE18687@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20231023174408.803874-7-sakari.ailus@linux.intel.com>

Hi Sakari,

Thank you for the patch.

On Mon, Oct 23, 2023 at 08:44:06PM +0300, Sakari Ailus wrote:
> 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.

Strange, I wonder why.

> Further local variables have been
> removed as they became unused as a result of the other changes. 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

I can imagine git am getting confused :-)

> @@ -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 b/drivers/media/i2c/s5k5baf.c a/drivers/media/i2c/s5k5baf.c
> index a36b310b32e1..3f3005cca9d0 100644
> --- b/drivers/media/i2c/s5k5baf.c
> +++ a/drivers/media/i2c/s5k5baf.c
> @@ -1473,12 +1473,10 @@ 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)
> +				v4l2_subdev_state_get_crop(sd_state, PAD_CIS),
> +				v4l2_subdev_state_get_compose(sd_state,
> +							      PAD_CIS),

A single line would be more readable I think.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> +				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
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
>  drivers/media/i2c/adv7180.c                   |   4 +-
>  drivers/media/i2c/adv748x/adv748x-afe.c       |   6 +-
>  drivers/media/i2c/adv748x/adv748x-csi2.c      |   2 +-
>  drivers/media/i2c/adv748x/adv748x-hdmi.c      |   6 +-
>  drivers/media/i2c/adv7511-v4l2.c              |   4 +-
>  drivers/media/i2c/adv7604.c                   |   4 +-
>  drivers/media/i2c/adv7842.c                   |   4 +-
>  drivers/media/i2c/ar0521.c                    |   5 +-
>  drivers/media/i2c/ccs/ccs-core.c              |  22 ++--
>  drivers/media/i2c/et8ek8/et8ek8_driver.c      |   3 +-
>  drivers/media/i2c/hi556.c                     |  13 +--
>  drivers/media/i2c/hi846.c                     |  11 +-
>  drivers/media/i2c/hi847.c                     |   9 +-
>  drivers/media/i2c/imx208.c                    |   9 +-
>  drivers/media/i2c/imx214.c                    |   4 +-
>  drivers/media/i2c/imx219.c                    |  12 +-
>  drivers/media/i2c/imx258.c                    |   9 +-
>  drivers/media/i2c/imx290.c                    |   8 +-
>  drivers/media/i2c/imx296.c                    |  18 +--
>  drivers/media/i2c/imx319.c                    |   7 +-
>  drivers/media/i2c/imx334.c                    |   4 +-
>  drivers/media/i2c/imx335.c                    |   4 +-
>  drivers/media/i2c/imx355.c                    |   7 +-
>  drivers/media/i2c/imx412.c                    |   4 +-
>  drivers/media/i2c/imx415.c                    |   6 +-
>  drivers/media/i2c/isl7998x.c                  |   6 +-
>  drivers/media/i2c/max9286.c                   |   4 +-
>  drivers/media/i2c/mt9m001.c                   |   4 +-
>  drivers/media/i2c/mt9m111.c                   |   4 +-
>  drivers/media/i2c/mt9m114.c                   |  58 +++++-----
>  drivers/media/i2c/mt9p031.c                   |   6 +-
>  drivers/media/i2c/mt9v032.c                   |  10 +-
>  drivers/media/i2c/mt9v111.c                   |   2 +-
>  drivers/media/i2c/og01a1b.c                   |  10 +-
>  drivers/media/i2c/ov01a10.c                   |   2 +-
>  drivers/media/i2c/ov02a10.c                   |   6 +-
>  drivers/media/i2c/ov08d10.c                   |   9 +-
>  drivers/media/i2c/ov08x40.c                   |   7 +-
>  drivers/media/i2c/ov13858.c                   |  10 +-
>  drivers/media/i2c/ov13b10.c                   |  10 +-
>  drivers/media/i2c/ov2640.c                    |   4 +-
>  drivers/media/i2c/ov2659.c                    |   6 +-
>  drivers/media/i2c/ov2680.c                    |   6 +-
>  drivers/media/i2c/ov2685.c                    |   4 +-
>  drivers/media/i2c/ov2740.c                    |   4 +-
>  drivers/media/i2c/ov4689.c                    |   2 +-
>  drivers/media/i2c/ov5640.c                    |   9 +-
>  drivers/media/i2c/ov5645.c                    |   4 +-
>  drivers/media/i2c/ov5647.c                    |  12 +-
>  drivers/media/i2c/ov5648.c                    |   6 +-
>  drivers/media/i2c/ov5670.c                    |  13 +--
>  drivers/media/i2c/ov5675.c                    |   9 +-
>  drivers/media/i2c/ov5693.c                    |   4 +-
>  drivers/media/i2c/ov5695.c                    |   8 +-
>  drivers/media/i2c/ov7251.c                    |   4 +-
>  drivers/media/i2c/ov7670.c                    |   7 +-
>  drivers/media/i2c/ov7740.c                    |   7 +-
>  drivers/media/i2c/ov8856.c                    |   9 +-
>  drivers/media/i2c/ov8858.c                    |   6 +-
>  drivers/media/i2c/ov8865.c                    |   8 +-
>  drivers/media/i2c/ov9282.c                    |   6 +-
>  drivers/media/i2c/ov9650.c                    |   7 +-
>  drivers/media/i2c/ov9734.c                    |   9 +-
>  drivers/media/i2c/s5c73m3/s5c73m3-core.c      |  37 +++----
>  drivers/media/i2c/s5k5baf.c                   |  32 +++---
>  drivers/media/i2c/s5k6a3.c                    |   8 +-
>  drivers/media/i2c/st-mipid02.c                |  11 +-
>  drivers/media/i2c/st-vgxy61.c                 |   5 +-
>  drivers/media/i2c/tc358746.c                  |  12 +-
>  drivers/media/i2c/tda1997x.c                  |   6 +-
>  drivers/media/i2c/tvp5150.c                   |   2 +-
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c      |  10 +-
>  drivers/media/pci/intel/ivsc/mei_csi.c        |   4 +-
>  drivers/media/platform/cadence/cdns-csi2rx.c  |   4 +-
>  drivers/media/platform/cadence/cdns-csi2tx.c  |   3 +-
>  .../platform/microchip/microchip-csi2dc.c     |  15 ++-
>  .../platform/microchip/microchip-isc-scaler.c |  16 +--
>  drivers/media/platform/nxp/imx-mipi-csis.c    |  10 +-
>  drivers/media/platform/nxp/imx7-media-csi.c   |  16 +--
>  .../platform/nxp/imx8-isi/imx8-isi-pipe.c     |  18 +--
>  .../platform/nxp/imx8-isi/imx8-isi-video.c    |   2 +-
>  drivers/media/platform/nxp/imx8mq-mipi-csi2.c |  13 ++-
>  .../media/platform/qcom/camss/camss-csid.c    |   3 +-
>  .../media/platform/qcom/camss/camss-csiphy.c  |   3 +-
>  .../media/platform/qcom/camss/camss-ispif.c   |   3 +-
>  drivers/media/platform/qcom/camss/camss-vfe.c |  10 +-
>  drivers/media/platform/renesas/rcar-isp.c     |   4 +-
>  .../platform/renesas/rcar-vin/rcar-csi2.c     |   4 +-
>  .../platform/renesas/rzg2l-cru/rzg2l-csi2.c   |   6 +-
>  .../platform/renesas/rzg2l-cru/rzg2l-ip.c     |   6 +-
>  .../media/platform/renesas/vsp1/vsp1_brx.c    |   2 +-
>  .../media/platform/renesas/vsp1/vsp1_entity.c |   8 +-
>  .../media/platform/renesas/vsp1/vsp1_rwpf.c   |   3 +-
>  .../platform/rockchip/rkisp1/rkisp1-csi.c     |  16 ++-
>  .../platform/rockchip/rkisp1/rkisp1-isp.c     | 103 +++++++++---------
>  .../platform/rockchip/rkisp1/rkisp1-resizer.c |  53 ++++-----
>  .../samsung/exynos4-is/fimc-capture.c         |  12 +-
>  .../platform/samsung/exynos4-is/fimc-isp.c    |  24 ++--
>  .../platform/samsung/exynos4-is/fimc-lite.c   |  16 ++-
>  .../platform/samsung/exynos4-is/mipi-csis.c   |   3 +-
>  .../samsung/s3c-camif/camif-capture.c         |   8 +-
>  .../platform/sunxi/sun4i-csi/sun4i_v4l2.c     |   8 +-
>  .../sunxi/sun6i-csi/sun6i_csi_bridge.c        |   8 +-
>  .../sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c   |   8 +-
>  .../sun8i_a83t_mipi_csi2.c                    |   8 +-
>  drivers/media/platform/ti/cal/cal-camerarx.c  |  18 ++-
>  drivers/media/platform/ti/cal/cal-video.c     |   2 +-
>  drivers/media/platform/ti/omap3isp/ispccdc.c  |   7 +-
>  drivers/media/platform/ti/omap3isp/ispccp2.c  |   3 +-
>  drivers/media/platform/ti/omap3isp/ispcsi2.c  |   3 +-
>  .../media/platform/ti/omap3isp/isppreview.c   |   6 +-
>  .../media/platform/ti/omap3isp/ispresizer.c   |   5 +-
>  drivers/media/platform/video-mux.c            |  18 +--
>  .../media/platform/xilinx/xilinx-csi2rxss.c   |   5 +-
>  drivers/media/platform/xilinx/xilinx-tpg.c    |   9 +-
>  drivers/media/platform/xilinx/xilinx-vip.c    |   4 +-
>  .../media/test-drivers/vimc/vimc-debayer.c    |  10 +-
>  drivers/media/test-drivers/vimc/vimc-scaler.c |   9 +-
>  drivers/media/test-drivers/vimc/vimc-sensor.c |   6 +-
>  .../media/atomisp/i2c/atomisp-gc0310.c        |   2 +-
>  .../staging/media/atomisp/pci/atomisp_csi2.c  |   3 +-
>  .../media/atomisp/pci/atomisp_subdev.c        |   6 +-
>  drivers/staging/media/imx/imx-ic-prp.c        |   4 +-
>  drivers/staging/media/imx/imx-ic-prpencvf.c   |   4 +-
>  drivers/staging/media/imx/imx-media-csi.c     |   8 +-
>  drivers/staging/media/imx/imx-media-utils.c   |   2 +-
>  drivers/staging/media/imx/imx-media-vdic.c    |   2 +-
>  drivers/staging/media/imx/imx6-mipi-csi2.c    |   2 +-
>  drivers/staging/media/ipu3/ipu3-v4l2.c        |  14 +--
>  drivers/staging/media/omap4iss/iss_csi2.c     |   3 +-
>  drivers/staging/media/omap4iss/iss_ipipe.c    |   3 +-
>  drivers/staging/media/omap4iss/iss_ipipeif.c  |   3 +-
>  drivers/staging/media/omap4iss/iss_resizer.c  |   3 +-
>  .../media/sunxi/sun6i-isp/sun6i_isp_proc.c    |   8 +-
>  134 files changed, 555 insertions(+), 647 deletions(-)

[snip]

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2023-10-23 22:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-23 17:44 [PATCH v3 0/8] Unify sub-device state access functions Sakari Ailus
2023-10-23 17:44 ` [PATCH v3 1/8] media: v4l: subdev: Store the sub-device in the sub-device state Sakari Ailus
2023-10-23 22:04   ` Laurent Pinchart
2023-10-24  7:35   ` Tomi Valkeinen
2023-10-23 17:44 ` [PATCH v3 2/8] media: v4l: subdev: Also return pads array information on stream functions Sakari Ailus
2023-10-23 22:07   ` Laurent Pinchart
2023-10-23 22:18     ` Sakari Ailus
2023-10-24 14:45   ` Tomi Valkeinen
2023-10-24 18:07     ` Sakari Ailus
2023-10-25  9:32   ` Hans Verkuil
2023-10-25 10:20     ` Sakari Ailus
2023-10-23 17:44 ` [PATCH v3 3/8] media: v4l: subdev: Rename sub-device state information access functions Sakari Ailus
2023-10-24  7:37   ` Tomi Valkeinen
2023-10-23 17:44 ` [PATCH v3 4/8] media: v4l: subdev: v4l2_subdev_state_get_format always returns format now Sakari Ailus
2023-10-24 14:47   ` Tomi Valkeinen
2023-10-23 17:44 ` [PATCH v3 5/8] media: v4l: subdev: Make stream argument optional in state access functions Sakari Ailus
2023-10-23 22:15   ` Laurent Pinchart
2023-10-25  9:53   ` Hans Verkuil
2023-10-25 10:19     ` Sakari Ailus
2023-10-25 10:50       ` Laurent Pinchart
2023-10-25 11:03         ` Sakari Ailus
2023-10-25 11:20       ` Hans Verkuil
2023-10-25 11:30         ` Sakari Ailus
2023-10-23 17:44 ` [PATCH v3 6/8] media: v4l: subdev: Switch to stream-aware state functions Sakari Ailus
2023-10-23 22:13   ` Laurent Pinchart [this message]
2023-10-24  5:54     ` Sakari Ailus
2023-10-24  7:21       ` Laurent Pinchart
2023-10-24  9:20         ` Sakari Ailus
2023-10-23 17:44 ` [PATCH v3 7/8] media: v4l: subdev: Remove stream-unaware sub-device state access Sakari Ailus
2023-10-23 22:14   ` Laurent Pinchart
2023-10-23 17:44 ` [PATCH v3 8/8] media: v4l: subdev: Also assert acquired mutex for non-stream drivers Sakari Ailus
2023-10-23 22:14   ` Laurent Pinchart
2023-10-23 22:33     ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231023221339.GE18687@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=bingbu.cao@intel.com \
    --cc=hongju.wang@intel.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=tomi.valkeinen@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.