All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	 linux-media@vger.kernel.org
Cc: Jacopo Mondi <jacopo.mondi@ideasonboard.com>,
	Hans Verkuil	 <hans@jjverkuil.nl>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
		linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v3 62/76] media: hantro: Access v4l2_fh from file->private_data
Date: Mon, 11 Aug 2025 10:36:43 -0400	[thread overview]
Message-ID: <ab8d8470e9bcc9532d48ccd3287cf242e790dcad.camel@collabora.com> (raw)
In-Reply-To: <20250810013100.29776-63-laurent.pinchart+renesas@ideasonboard.com>


[-- Attachment #1.1: Type: text/plain, Size: 5795 bytes --]

Le dimanche 10 août 2025 à 04:30 +0300, Laurent Pinchart a écrit :
> To prepare for the introduction of video_device_state as second argument
> of the v4l2_ioctl_ops handler, access the v4l2_fh from
> file->private_data instead of using void *priv.
> 
> The file->private_data is initialized to point to the v4l2_fh
> by the usage of v4l2_fh_init() in the v4l2_file_operations.open()
> handler.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>

Acked-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>


> ---
> Changes since v1:
> 
> - Update file-to-ctx macro due to removal of fh-to-ctx macro
> ---
>  drivers/media/platform/verisilicon/hantro.h   |  7 +-----
>  .../media/platform/verisilicon/hantro_v4l2.c  | 22 +++++++++----------
>  2 files changed, 12 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/media/platform/verisilicon/hantro.h
> b/drivers/media/platform/verisilicon/hantro.h
> index 5b85c8a44706..e0fdc4535b2d 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -382,14 +382,9 @@ extern int hantro_debug;
>  	pr_err("%s:%d: " fmt, __func__, __LINE__, ##args)
>  
>  /* Structure access helpers. */
> -static __always_inline struct hantro_ctx *fh_to_ctx(struct v4l2_fh *fh)
> -{
> -	return container_of(fh, struct hantro_ctx, fh);
> -}
> -
>  static __always_inline struct hantro_ctx *file_to_ctx(struct file *filp)
>  {
> -	return fh_to_ctx(file_to_v4l2_fh(filp));
> +	return container_of(file_to_v4l2_fh(filp), struct hantro_ctx, fh);
>  }
>  
>  /* Register accessors. */
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c
> b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index 7c3515cf7d64..6bcd892e7bb4 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.c
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c
> @@ -185,7 +185,7 @@ static int vidioc_querycap(struct file *file, void *priv,
>  static int vidioc_enum_framesizes(struct file *file, void *priv,
>  				  struct v4l2_frmsizeenum *fsize)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	const struct hantro_fmt *fmt;
>  
>  	fmt = hantro_find_format(ctx, fsize->pixel_format);
> @@ -217,7 +217,7 @@ static int vidioc_enum_fmt(struct file *file, void *priv,
>  			   struct v4l2_fmtdesc *f, bool capture)
>  
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	const struct hantro_fmt *fmt, *formats;
>  	unsigned int num_fmts, i, j = 0;
>  	bool skip_mode_none, enum_all_formats;
> @@ -297,7 +297,7 @@ static int vidioc_g_fmt_out_mplane(struct file *file, void
> *priv,
>  				   struct v4l2_format *f)
>  {
>  	struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  
>  	vpu_debug(4, "f->type = %d\n", f->type);
>  
> @@ -310,7 +310,7 @@ static int vidioc_g_fmt_cap_mplane(struct file *file, void
> *priv,
>  				   struct v4l2_format *f)
>  {
>  	struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  
>  	vpu_debug(4, "f->type = %d\n", f->type);
>  
> @@ -398,13 +398,13 @@ static int hantro_try_fmt(const struct hantro_ctx *ctx,
>  static int vidioc_try_fmt_cap_mplane(struct file *file, void *priv,
>  				     struct v4l2_format *f)
>  {
> -	return hantro_try_fmt(fh_to_ctx(priv), &f->fmt.pix_mp, f->type);
> +	return hantro_try_fmt(file_to_ctx(file), &f->fmt.pix_mp, f->type);
>  }
>  
>  static int vidioc_try_fmt_out_mplane(struct file *file, void *priv,
>  				     struct v4l2_format *f)
>  {
> -	return hantro_try_fmt(fh_to_ctx(priv), &f->fmt.pix_mp, f->type);
> +	return hantro_try_fmt(file_to_ctx(file), &f->fmt.pix_mp, f->type);
>  }
>  
>  static void
> @@ -648,19 +648,19 @@ static int hantro_set_fmt_cap(struct hantro_ctx *ctx,
>  static int
>  vidioc_s_fmt_out_mplane(struct file *file, void *priv, struct v4l2_format *f)
>  {
> -	return hantro_set_fmt_out(fh_to_ctx(priv), &f->fmt.pix_mp,
> HANTRO_AUTO_POSTPROC);
> +	return hantro_set_fmt_out(file_to_ctx(file), &f->fmt.pix_mp,
> HANTRO_AUTO_POSTPROC);
>  }
>  
>  static int
>  vidioc_s_fmt_cap_mplane(struct file *file, void *priv, struct v4l2_format *f)
>  {
> -	return hantro_set_fmt_cap(fh_to_ctx(priv), &f->fmt.pix_mp);
> +	return hantro_set_fmt_cap(file_to_ctx(file), &f->fmt.pix_mp);
>  }
>  
>  static int vidioc_g_selection(struct file *file, void *priv,
>  			      struct v4l2_selection *sel)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  
>  	/* Crop only supported on source. */
>  	if (!ctx->is_encoder ||
> @@ -691,7 +691,7 @@ static int vidioc_g_selection(struct file *file, void
> *priv,
>  static int vidioc_s_selection(struct file *file, void *priv,
>  			      struct v4l2_selection *sel)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	struct v4l2_rect *rect = &sel->r;
>  	struct vb2_queue *vq;
>  
> @@ -738,7 +738,7 @@ static const struct v4l2_event hantro_eos_event = {
>  static int vidioc_encoder_cmd(struct file *file, void *priv,
>  			      struct v4l2_encoder_cmd *ec)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	int ret;
>  
>  	ret = v4l2_m2m_ioctl_try_encoder_cmd(file, priv, ec);

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	 linux-media@vger.kernel.org
Cc: Jacopo Mondi <jacopo.mondi@ideasonboard.com>,
	Hans Verkuil	 <hans@jjverkuil.nl>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
		linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v3 62/76] media: hantro: Access v4l2_fh from file->private_data
Date: Mon, 11 Aug 2025 10:36:43 -0400	[thread overview]
Message-ID: <ab8d8470e9bcc9532d48ccd3287cf242e790dcad.camel@collabora.com> (raw)
In-Reply-To: <20250810013100.29776-63-laurent.pinchart+renesas@ideasonboard.com>

[-- Attachment #1: Type: text/plain, Size: 5795 bytes --]

Le dimanche 10 août 2025 à 04:30 +0300, Laurent Pinchart a écrit :
> To prepare for the introduction of video_device_state as second argument
> of the v4l2_ioctl_ops handler, access the v4l2_fh from
> file->private_data instead of using void *priv.
> 
> The file->private_data is initialized to point to the v4l2_fh
> by the usage of v4l2_fh_init() in the v4l2_file_operations.open()
> handler.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>

Acked-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>


> ---
> Changes since v1:
> 
> - Update file-to-ctx macro due to removal of fh-to-ctx macro
> ---
>  drivers/media/platform/verisilicon/hantro.h   |  7 +-----
>  .../media/platform/verisilicon/hantro_v4l2.c  | 22 +++++++++----------
>  2 files changed, 12 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/media/platform/verisilicon/hantro.h
> b/drivers/media/platform/verisilicon/hantro.h
> index 5b85c8a44706..e0fdc4535b2d 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -382,14 +382,9 @@ extern int hantro_debug;
>  	pr_err("%s:%d: " fmt, __func__, __LINE__, ##args)
>  
>  /* Structure access helpers. */
> -static __always_inline struct hantro_ctx *fh_to_ctx(struct v4l2_fh *fh)
> -{
> -	return container_of(fh, struct hantro_ctx, fh);
> -}
> -
>  static __always_inline struct hantro_ctx *file_to_ctx(struct file *filp)
>  {
> -	return fh_to_ctx(file_to_v4l2_fh(filp));
> +	return container_of(file_to_v4l2_fh(filp), struct hantro_ctx, fh);
>  }
>  
>  /* Register accessors. */
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c
> b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index 7c3515cf7d64..6bcd892e7bb4 100644
> --- a/drivers/media/platform/verisilicon/hantro_v4l2.c
> +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c
> @@ -185,7 +185,7 @@ static int vidioc_querycap(struct file *file, void *priv,
>  static int vidioc_enum_framesizes(struct file *file, void *priv,
>  				  struct v4l2_frmsizeenum *fsize)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	const struct hantro_fmt *fmt;
>  
>  	fmt = hantro_find_format(ctx, fsize->pixel_format);
> @@ -217,7 +217,7 @@ static int vidioc_enum_fmt(struct file *file, void *priv,
>  			   struct v4l2_fmtdesc *f, bool capture)
>  
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	const struct hantro_fmt *fmt, *formats;
>  	unsigned int num_fmts, i, j = 0;
>  	bool skip_mode_none, enum_all_formats;
> @@ -297,7 +297,7 @@ static int vidioc_g_fmt_out_mplane(struct file *file, void
> *priv,
>  				   struct v4l2_format *f)
>  {
>  	struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  
>  	vpu_debug(4, "f->type = %d\n", f->type);
>  
> @@ -310,7 +310,7 @@ static int vidioc_g_fmt_cap_mplane(struct file *file, void
> *priv,
>  				   struct v4l2_format *f)
>  {
>  	struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  
>  	vpu_debug(4, "f->type = %d\n", f->type);
>  
> @@ -398,13 +398,13 @@ static int hantro_try_fmt(const struct hantro_ctx *ctx,
>  static int vidioc_try_fmt_cap_mplane(struct file *file, void *priv,
>  				     struct v4l2_format *f)
>  {
> -	return hantro_try_fmt(fh_to_ctx(priv), &f->fmt.pix_mp, f->type);
> +	return hantro_try_fmt(file_to_ctx(file), &f->fmt.pix_mp, f->type);
>  }
>  
>  static int vidioc_try_fmt_out_mplane(struct file *file, void *priv,
>  				     struct v4l2_format *f)
>  {
> -	return hantro_try_fmt(fh_to_ctx(priv), &f->fmt.pix_mp, f->type);
> +	return hantro_try_fmt(file_to_ctx(file), &f->fmt.pix_mp, f->type);
>  }
>  
>  static void
> @@ -648,19 +648,19 @@ static int hantro_set_fmt_cap(struct hantro_ctx *ctx,
>  static int
>  vidioc_s_fmt_out_mplane(struct file *file, void *priv, struct v4l2_format *f)
>  {
> -	return hantro_set_fmt_out(fh_to_ctx(priv), &f->fmt.pix_mp,
> HANTRO_AUTO_POSTPROC);
> +	return hantro_set_fmt_out(file_to_ctx(file), &f->fmt.pix_mp,
> HANTRO_AUTO_POSTPROC);
>  }
>  
>  static int
>  vidioc_s_fmt_cap_mplane(struct file *file, void *priv, struct v4l2_format *f)
>  {
> -	return hantro_set_fmt_cap(fh_to_ctx(priv), &f->fmt.pix_mp);
> +	return hantro_set_fmt_cap(file_to_ctx(file), &f->fmt.pix_mp);
>  }
>  
>  static int vidioc_g_selection(struct file *file, void *priv,
>  			      struct v4l2_selection *sel)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  
>  	/* Crop only supported on source. */
>  	if (!ctx->is_encoder ||
> @@ -691,7 +691,7 @@ static int vidioc_g_selection(struct file *file, void
> *priv,
>  static int vidioc_s_selection(struct file *file, void *priv,
>  			      struct v4l2_selection *sel)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	struct v4l2_rect *rect = &sel->r;
>  	struct vb2_queue *vq;
>  
> @@ -738,7 +738,7 @@ static const struct v4l2_event hantro_eos_event = {
>  static int vidioc_encoder_cmd(struct file *file, void *priv,
>  			      struct v4l2_encoder_cmd *ec)
>  {
> -	struct hantro_ctx *ctx = fh_to_ctx(priv);
> +	struct hantro_ctx *ctx = file_to_ctx(file);
>  	int ret;
>  
>  	ret = v4l2_m2m_ioctl_try_encoder_cmd(file, priv, ec);

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2025-08-11 16:42 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-10  1:29 [PATCH v3 00/76] media: Rationalise usage of v4l2_fh Laurent Pinchart
2025-08-10  1:29 ` Laurent Pinchart
2025-08-10  1:29 ` Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 01/76] media: pci: saa7164: Store v4l2_fh pointer in file->private_data Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 02/76] media: imagination: " Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 03/76] media: ti: vpe: " Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 04/76] media: usb: hdpvr: " Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 05/76] media: usb: pvrusb2: " Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 06/76] media: usb: uvcvideo: " Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 07/76] media: staging: most: " Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 08/76] media: Wrap file->private_data access with a helper function Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 09/76] media: Replace file->private_data access with file_to_v4l2_fh() Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 10/76] media: nvidia: tegra-vde: Replace file->private_data access Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 11/76] media: Replace file->private_data access with custom functions Laurent Pinchart
2025-08-10  1:29   ` Laurent Pinchart
2025-08-10  1:29   ` Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 12/76] media: pci: ivtv: Don't create fake v4l2_fh Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 13/76] media: amphion: Make some vpu_v4l2 functions static Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 14/76] media: amphion: Delete v4l2_fh synchronously in .release() Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 15/76] media: visl: Drop visl_v4l2fh_to_ctx() function Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 16/76] media: v4l2-fh: Move piece of documentation to correct function Laurent Pinchart
2025-08-10  1:29 ` [PATCH v3 17/76] media: rcar-vin: Do not set file->private_data Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 18/76] media: rzg2l-cru: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 19/76] media: camss: Replace .open() file operation with v4l2_fh_open() Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 20/76] media: camss: Remove custom .release fop() Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 21/76] media: chips-media: wave5: Pass file pointer to wave5_cleanup_instance() Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 22/76] media: qcom: iris: Pass file pointer to iris_v4l2_fh_(de)init() Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 23/76] media: qcom: iris: Set file->private_data in iris_v4l2_fh_(de)init() Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 24/76] media: qcom: iris: Drop unused argument to iris_get_inst() Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 25/76] media: qcom: venus: Pass file pointer to venus_close_common() Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 26/76] media: Set file->private_data in v4l2_fh_add() Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 27/76] media: Reset file->private_data to NULL in v4l2_fh_del() Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 28/76] media: ipu6: isys: Don't set V4L2_FL_USES_V4L2_FH manually Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 29/76] media: staging: ipu7: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 30/76] media: v4l2-ctrls: Move v4l2_fh retrieval after V4L2_FL_USES_V4L2_FH check Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 31/76] media: v4l2-dev: Make open and release file operations mandatory Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 32/76] media: Drop V4L2_FL_USES_V4L2_FH checks Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 33/76] media: zoran: Remove zoran_fh structure Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 34/76] media: zoran: Rename __fh to fh Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 35/76] media: v4l2-ioctl: Access v4l2_fh from private_data Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 36/76] media: allegro: Access v4l2_fh from file Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 37/76] media: meson-ge2d: " Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 38/76] media: coda: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 39/76] media: wave5: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 40/76] media: m2m-deinterlace: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 41/76] media: mtk: jpeg: Access v4l2_fh from file->private_data Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 42/76] media: mtk_mdp_m2m: Access v4l2_fh from file Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 43/76] media: mtk: mdp3: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 44/76] media: mtk: vcodec: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 45/76] media: tegra-vde: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 46/76] media: imx-jpeg: " Laurent Pinchart
2025-08-11 15:05   ` Frank Li
2025-08-10  1:30 ` [PATCH v3 47/76] media: imx-isi: " Laurent Pinchart
2025-08-11 15:05   ` Frank Li
2025-08-10  1:30 ` [PATCH v3 48/76] media: nxp: mx2: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 49/76] media: renesas: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 50/76] media: rockhip: rga: " Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 51/76] media: rockchip: rkvdec: " Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 52/76] media: exynos-gsc: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 53/76] media: exynos4-is: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 54/76] media: s3c-camif: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 55/76] media: s5p-g2d: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 56/76] media: s5p-jpeg: " Laurent Pinchart
2025-08-12  6:13   ` Andrzej Pietrasiewicz
2025-08-12  7:51     ` Laurent Pinchart
2025-08-13 10:45       ` Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 57/76] media: s5p-mfc: Store s5p_mfc_ctx in vb2_queue.drv_priv Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 58/76] media: s5p-mfc: Access v4l2_fh from file Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 59/76] media: bdisp: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 60/76] media: st: delta: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 61/76] media: stm32: dma2d: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 62/76] media: hantro: Access v4l2_fh from file->private_data Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-11 14:36   ` Nicolas Dufresne [this message]
2025-08-11 14:36     ` Nicolas Dufresne
2025-08-10  1:30 ` [PATCH v3 63/76] media: omap3isp: Access v4l2_fh from file Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 64/76] media: cx18: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 65/76] media: ivtv: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 66/76] media: usb: hdpvr: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 67/76] media: usb: uvc: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 68/76] media: staging: imx: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 69/76] media: v4l2-ioctl: Stop passing fh pointer to ioctl handlers Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 70/76] media: v4l2-ioctl: Push NULL fh argument down to ioctl wrappers Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 71/76] media: test-drivers: Rename second ioctl handlers argument to 'void *priv' Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 72/76] media: uvcvideo: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 73/76] media: v4l2-pci-skeleton: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 74/76] media: v4l2-core: " Laurent Pinchart
2025-08-10  1:30 ` [PATCH v3 75/76] media: v4l2: " Laurent Pinchart
2025-08-10  1:30   ` Laurent Pinchart
2025-08-12  5:52   ` Jai Luthra
2025-08-12  5:52     ` Jai Luthra
2025-08-10  1:30 ` [PATCH v3 76/76] media: staging: " Laurent Pinchart

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=ab8d8470e9bcc9532d48ccd3287cf242e790dcad.camel@collabora.com \
    --to=nicolas.dufresne@collabora.com \
    --cc=benjamin.gaignard@collabora.com \
    --cc=hans@jjverkuil.nl \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mchehab@kernel.org \
    --cc=p.zabel@pengutronix.de \
    /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.