From: Paul Kocialkowski <paulk@sys-base.io>
To: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: "Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Devarsh Thakkar" <devarsht@ti.com>,
"Benoit Parrot" <bparrot@ti.com>,
"Hans Verkuil" <hverkuil@kernel.org>,
"Mike Isely" <isely@pobox.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Hans de Goede" <hansg@kernel.org>,
"Parthiban Veerasooran" <parthiban.veerasooran@microchip.com>,
"Christian Gromm" <christian.gromm@microchip.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Alex Shi" <alexs@kernel.org>,
"Yanteng Si" <si.yanteng@linux.dev>,
"Dongliang Mu" <dzm91@hust.edu.cn>,
"Jonathan Corbet" <corbet@lwn.net>,
"Tomasz Figa" <tfiga@chromium.org>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Andy Walls" <awalls@md.metrocast.net>,
"Michael Tretter" <m.tretter@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Bin Liu" <bin.liu@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Dmitry Osipenko" <digetx@gmail.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Mirela Rabulea" <mirela.rabulea@nxp.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
"Michal Simek" <michal.simek@amd.com>,
"Ming Qian" <ming.qian@nxp.com>, "Zhou Peng" <eagle.zhou@nxp.com>,
"Xavier Roumegue" <xavier.roumegue@oss.nxp.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Vikash Garodia" <quic_vgarodia@quicinc.com>,
"Dikshita Agarwal" <quic_dikshita@quicinc.com>,
"Abhinav Kumar" <abhinav.kumar@linux.dev>,
"Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
"Sylwester Nawrocki" <sylvester.nawrocki@gmail.com>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Chen-Yu Tsai" <wens@csie.org>,
"Samuel Holland" <samuel@sholland.org>,
"Daniel Almeida" <daniel.almeida@collabora.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Nas Chung" <nas.chung@chipsnmedia.com>,
"Jackson Lee" <jackson.lee@chipsnmedia.com>,
"Minghsiu Tsai" <minghsiu.tsai@mediatek.com>,
"Houlong Wei" <houlong.wei@mediatek.com>,
"Andrew-CT Chen" <andrew-ct.chen@mediatek.com>,
"Tiffany Lin" <tiffany.lin@mediatek.com>,
"Yunfei Dong" <yunfei.dong@mediatek.com>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Magnus Damm" <magnus.damm@gmail.com>,
"Mikhail Ulyanov" <mikhail.ulyanov@cogentembedded.com>,
"Jacob Chen" <jacob-chen@iotwrt.com>,
"Ezequiel Garcia" <ezequiel@vanguardiasur.com.ar>,
"Heiko Stuebner" <heiko@sntech.de>,
"Detlev Casanova" <detlev.casanova@collabora.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Sylwester Nawrocki" <s.nawrocki@samsung.com>,
"Łukasz Stelmach" <l.stelmach@samsung.com>,
"Andrzej Pietrasiewicz" <andrzejtp2010@gmail.com>,
"Jacek Anaszewski" <jacek.anaszewski@gmail.com>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Fabien Dessenne" <fabien.dessenne@foss.st.com>,
"Hugues Fruchet" <hugues.fruchet@foss.st.com>,
"Jean-Christophe Trotin" <jean-christophe.trotin@foss.st.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Nicolas Dufresne" <nicolas.dufresne@collabora.com>,
"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
"Steve Longerbeam" <slongerbeam@gmail.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
"Robert Foss" <rfoss@kernel.org>,
"Todor Tomov" <todor.too@gmail.com>,
"Vladimir Zapolskiy" <vladimir.zapolskiy@linaro.org>,
"Corentin Labbe" <clabbe@baylibre.com>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Bingbu Cao" <bingbu.cao@intel.com>,
"Tianshu Qiu" <tian.shu.qiu@intel.com>,
"Stanislaw Gruszka" <stanislaw.gruszka@linux.intel.com>,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-staging@lists.linux.dev, linux-doc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-tegra@vger.kernel.org,
imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org,
linux-arm-msm@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-sunxi@lists.linux.dev, linux-usb@vger.kernel.org,
linux-amlogic@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
mjpeg-users@lists.sourceforge.net
Subject: Re: [PATCH 54/65] media: hantro: Access v4l2_fh from file->private_data
Date: Mon, 4 Aug 2025 23:59:25 +0200 [thread overview]
Message-ID: <aJEtPd_-IzQZVBfl@shepard> (raw)
In-Reply-To: <20250802-media-private-data-v1-54-eb140ddd6a9d@ideasonboard.com>
[-- Attachment #1: Type: text/plain, Size: 6069 bytes --]
Hi,
Very nice cleanup, glad to see this abstracted away from drivers!
Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>
All the best,
Paul
On Sat 02 Aug 25, 11:23, Jacopo Mondi wrote:
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> 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.
>
> While at it remove the only left user of fh_to_ctx() and remove
> the macro completely.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
> drivers/media/platform/verisilicon/hantro.h | 5 -----
> drivers/media/platform/verisilicon/hantro_v4l2.c | 22 +++++++++++-----------
> 2 files changed, 11 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/media/platform/verisilicon/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> index 0f10714f1953945472e11d8c8ad87f8ec009b39f..e0fdc4535b2d73c5260057b0a89aee67a4732dd2 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -382,11 +382,6 @@ 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 container_of(file_to_v4l2_fh(filp), struct hantro_ctx, fh);
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index 7c3515cf7d64a090adfb8d8aff368f9a617f8c8a..6bcd892e7bb49c654aae5841664d68c1692064bd 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);
>
> --
> 2.49.0
>
--
Paul Kocialkowski,
Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/
Expert in multimedia, graphics and embedded hardware support with Linux.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Paul Kocialkowski <paulk@sys-base.io>
To: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: "Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Devarsh Thakkar" <devarsht@ti.com>,
"Benoit Parrot" <bparrot@ti.com>,
"Hans Verkuil" <hverkuil@kernel.org>,
"Mike Isely" <isely@pobox.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Hans de Goede" <hansg@kernel.org>,
"Parthiban Veerasooran" <parthiban.veerasooran@microchip.com>,
"Christian Gromm" <christian.gromm@microchip.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Alex Shi" <alexs@kernel.org>,
"Yanteng Si" <si.yanteng@linux.dev>,
"Dongliang Mu" <dzm91@hust.edu.cn>,
"Jonathan Corbet" <corbet@lwn.net>,
"Tomasz Figa" <tfiga@chromium.org>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Andy Walls" <awalls@md.metrocast.net>,
"Michael Tretter" <m.tretter@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Bin Liu" <bin.liu@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Dmitry Osipenko" <digetx@gmail.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Mirela Rabulea" <mirela.rabulea@nxp.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
"Michal Simek" <michal.simek@amd.com>,
"Ming Qian" <ming.qian@nxp.com>, "Zhou Peng" <eagle.zhou@nxp.com>,
"Xavier Roumegue" <xavier.roumegue@oss.nxp.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Vikash Garodia" <quic_vgarodia@quicinc.com>,
"Dikshita Agarwal" <quic_dikshita@quicinc.com>,
"Abhinav Kumar" <abhinav.kumar@linux.dev>,
"Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
"Sylwester Nawrocki" <sylvester.nawrocki@gmail.com>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Chen-Yu Tsai" <wens@csie.org>,
"Samuel Holland" <samuel@sholland.org>,
"Daniel Almeida" <daniel.almeida@collabora.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Nas Chung" <nas.chung@chipsnmedia.com>,
"Jackson Lee" <jackson.lee@chipsnmedia.com>,
"Minghsiu Tsai" <minghsiu.tsai@mediatek.com>,
"Houlong Wei" <houlong.wei@mediatek.com>,
"Andrew-CT Chen" <andrew-ct.chen@mediatek.com>,
"Tiffany Lin" <tiffany.lin@mediatek.com>,
"Yunfei Dong" <yunfei.dong@mediatek.com>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Magnus Damm" <magnus.damm@gmail.com>,
"Mikhail Ulyanov" <mikhail.ulyanov@cogentembedded.com>,
"Jacob Chen" <jacob-chen@iotwrt.com>,
"Ezequiel Garcia" <ezequiel@vanguardiasur.com.ar>,
"Heiko Stuebner" <heiko@sntech.de>,
"Detlev Casanova" <detlev.casanova@collabora.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Sylwester Nawrocki" <s.nawrocki@samsung.com>,
"Łukasz Stelmach" <l.stelmach@samsung.com>,
"Andrzej Pietrasiewicz" <andrzejtp2010@gmail.com>,
"Jacek Anaszewski" <jacek.anaszewski@gmail.com>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Fabien Dessenne" <fabien.dessenne@foss.st.com>,
"Hugues Fruchet" <hugues.fruchet@foss.st.com>,
"Jean-Christophe Trotin" <jean-christophe.trotin@foss.st.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Nicolas Dufresne" <nicolas.dufresne@collabora.com>,
"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
"Steve Longerbeam" <slongerbeam@gmail.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
"Robert Foss" <rfoss@kernel.org>,
"Todor Tomov" <todor.too@gmail.com>,
"Vladimir Zapolskiy" <vladimir.zapolskiy@linaro.org>,
"Corentin Labbe" <clabbe@baylibre.com>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Bingbu Cao" <bingbu.cao@intel.com>,
"Tianshu Qiu" <tian.shu.qiu@intel.com>,
"Stanislaw Gruszka" <stanislaw.gruszka@linux.intel.com>,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-staging@lists.linux.dev, linux-doc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-tegra@vger.kernel.org,
imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org,
linux-arm-msm@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-sunxi@lists.linux.dev, linux-usb@vger.kernel.org,
linux-amlogic@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
mjpeg-users@lists.sourceforge.net
Subject: Re: [PATCH 54/65] media: hantro: Access v4l2_fh from file->private_data
Date: Mon, 4 Aug 2025 23:59:25 +0200 [thread overview]
Message-ID: <aJEtPd_-IzQZVBfl@shepard> (raw)
In-Reply-To: <20250802-media-private-data-v1-54-eb140ddd6a9d@ideasonboard.com>
[-- Attachment #1.1: Type: text/plain, Size: 6069 bytes --]
Hi,
Very nice cleanup, glad to see this abstracted away from drivers!
Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>
All the best,
Paul
On Sat 02 Aug 25, 11:23, Jacopo Mondi wrote:
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> 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.
>
> While at it remove the only left user of fh_to_ctx() and remove
> the macro completely.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
> drivers/media/platform/verisilicon/hantro.h | 5 -----
> drivers/media/platform/verisilicon/hantro_v4l2.c | 22 +++++++++++-----------
> 2 files changed, 11 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/media/platform/verisilicon/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> index 0f10714f1953945472e11d8c8ad87f8ec009b39f..e0fdc4535b2d73c5260057b0a89aee67a4732dd2 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -382,11 +382,6 @@ 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 container_of(file_to_v4l2_fh(filp), struct hantro_ctx, fh);
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index 7c3515cf7d64a090adfb8d8aff368f9a617f8c8a..6bcd892e7bb49c654aae5841664d68c1692064bd 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);
>
> --
> 2.49.0
>
--
Paul Kocialkowski,
Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/
Expert in multimedia, graphics and embedded hardware support with Linux.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
WARNING: multiple messages have this Message-ID (diff)
From: Paul Kocialkowski <paulk@sys-base.io>
To: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: "Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Devarsh Thakkar" <devarsht@ti.com>,
"Benoit Parrot" <bparrot@ti.com>,
"Hans Verkuil" <hverkuil@kernel.org>,
"Mike Isely" <isely@pobox.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Hans de Goede" <hansg@kernel.org>,
"Parthiban Veerasooran" <parthiban.veerasooran@microchip.com>,
"Christian Gromm" <christian.gromm@microchip.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Alex Shi" <alexs@kernel.org>,
"Yanteng Si" <si.yanteng@linux.dev>,
"Dongliang Mu" <dzm91@hust.edu.cn>,
"Jonathan Corbet" <corbet@lwn.net>,
"Tomasz Figa" <tfiga@chromium.org>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Andy Walls" <awalls@md.metrocast.net>,
"Michael Tretter" <m.tretter@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Bin Liu" <bin.liu@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Dmitry Osipenko" <digetx@gmail.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Mirela Rabulea" <mirela.rabulea@nxp.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
"Michal Simek" <michal.simek@amd.com>,
"Ming Qian" <ming.qian@nxp.com>, "Zhou Peng" <eagle.zhou@nxp.com>,
"Xavier Roumegue" <xavier.roumegue@oss.nxp.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Vikash Garodia" <quic_vgarodia@quicinc.com>,
"Dikshita Agarwal" <quic_dikshita@quicinc.com>,
"Abhinav Kumar" <abhinav.kumar@linux.dev>,
"Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
"Sylwester Nawrocki" <sylvester.nawrocki@gmail.com>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Chen-Yu Tsai" <wens@csie.org>,
"Samuel Holland" <samuel@sholland.org>,
"Daniel Almeida" <daniel.almeida@collabora.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Nas Chung" <nas.chung@chipsnmedia.com>,
"Jackson Lee" <jackson.lee@chipsnmedia.com>,
"Minghsiu Tsai" <minghsiu.tsai@mediatek.com>,
"Houlong Wei" <houlong.wei@mediatek.com>,
"Andrew-CT Chen" <andrew-ct.chen@mediatek.com>,
"Tiffany Lin" <tiffany.lin@mediatek.com>,
"Yunfei Dong" <yunfei.dong@mediatek.com>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Magnus Damm" <magnus.damm@gmail.com>,
"Mikhail Ulyanov" <mikhail.ulyanov@cogentembedded.com>,
"Jacob Chen" <jacob-chen@iotwrt.com>,
"Ezequiel Garcia" <ezequiel@vanguardiasur.com.ar>,
"Heiko Stuebner" <heiko@sntech.de>,
"Detlev Casanova" <detlev.casanova@collabora.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Sylwester Nawrocki" <s.nawrocki@samsung.com>,
"Łukasz Stelmach" <l.stelmach@samsung.com>,
"Andrzej Pietrasiewicz" <andrzejtp2010@gmail.com>,
"Jacek Anaszewski" <jacek.anaszewski@gmail.com>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Fabien Dessenne" <fabien.dessenne@foss.st.com>,
"Hugues Fruchet" <hugues.fruchet@foss.st.com>,
"Jean-Christophe Trotin" <jean-christophe.trotin@foss.st.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Nicolas Dufresne" <nicolas.dufresne@collabora.com>,
"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
"Steve Longerbeam" <slongerbeam@gmail.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
"Robert Foss" <rfoss@kernel.org>,
"Todor Tomov" <todor.too@gmail.com>,
"Vladimir Zapolskiy" <vladimir.zapolskiy@linaro.org>,
"Corentin Labbe" <clabbe@baylibre.com>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Bingbu Cao" <bingbu.cao@intel.com>,
"Tianshu Qiu" <tian.shu.qiu@intel.com>,
"Stanislaw Gruszka" <stanislaw.gruszka@linux.intel.com>,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-staging@lists.linux.dev, linux-doc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-tegra@vger.kernel.org,
imx@lists.linux.dev, linux-renesas-soc@vger.kernel.org,
linux-arm-msm@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-sunxi@lists.linux.dev, linux-usb@vger.kernel.org,
linux-amlogic@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
mjpeg-users@lists.sourceforge.net
Subject: Re: [PATCH 54/65] media: hantro: Access v4l2_fh from file->private_data
Date: Mon, 4 Aug 2025 23:59:25 +0200 [thread overview]
Message-ID: <aJEtPd_-IzQZVBfl@shepard> (raw)
In-Reply-To: <20250802-media-private-data-v1-54-eb140ddd6a9d@ideasonboard.com>
[-- Attachment #1.1: Type: text/plain, Size: 6069 bytes --]
Hi,
Very nice cleanup, glad to see this abstracted away from drivers!
Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>
All the best,
Paul
On Sat 02 Aug 25, 11:23, Jacopo Mondi wrote:
> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> 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.
>
> While at it remove the only left user of fh_to_ctx() and remove
> the macro completely.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
> drivers/media/platform/verisilicon/hantro.h | 5 -----
> drivers/media/platform/verisilicon/hantro_v4l2.c | 22 +++++++++++-----------
> 2 files changed, 11 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/media/platform/verisilicon/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> index 0f10714f1953945472e11d8c8ad87f8ec009b39f..e0fdc4535b2d73c5260057b0a89aee67a4732dd2 100644
> --- a/drivers/media/platform/verisilicon/hantro.h
> +++ b/drivers/media/platform/verisilicon/hantro.h
> @@ -382,11 +382,6 @@ 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 container_of(file_to_v4l2_fh(filp), struct hantro_ctx, fh);
> diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
> index 7c3515cf7d64a090adfb8d8aff368f9a617f8c8a..6bcd892e7bb49c654aae5841664d68c1692064bd 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);
>
> --
> 2.49.0
>
--
Paul Kocialkowski,
Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/
Expert in multimedia, graphics and embedded hardware support with Linux.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 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
next prev parent reply other threads:[~2025-08-04 22:00 UTC|newest]
Thread overview: 304+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-02 9:22 [PATCH 00/65] media: Rationalise usage of v4l2_fh Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 01/65] media: pci: saa7164: Store v4l2_fh pointer in file->private_data Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 02/65] media: imagination: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 03/65] media: ti: vpe: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 04/65] media: usb: hdpvr: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 05/65] media: usb: pvrusb2: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 06/65] media: usb: uvcvideo: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 07/65] media: staging: most: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 08/65] media: Wrap file->private_data access with a helper function Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 09/65] media: Replace file->private_data access with file_to_v4l2_fh() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 10/65] media: nvidia: tegra-vde: Replace file->private_data access Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 11/65] media: Replace file->private_data access with custom functions Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-06 8:16 ` Hans Verkuil
2025-08-06 8:16 ` Hans Verkuil
2025-08-06 8:16 ` Hans Verkuil
2025-08-06 9:48 ` Laurent Pinchart
2025-08-06 9:48 ` Laurent Pinchart
2025-08-06 9:48 ` Laurent Pinchart
2025-08-06 10:23 ` Hans Verkuil
2025-08-06 10:23 ` Hans Verkuil
2025-08-06 10:23 ` Hans Verkuil
2025-08-18 14:10 ` Lukasz Stelmach
2025-08-18 14:10 ` Lukasz Stelmach
2025-08-18 14:10 ` Lukasz Stelmach
2025-08-02 9:22 ` [PATCH 12/65] media: pci: ivtv: Don't create fake v4l2_fh Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 13/65] media: amphion: Make some vpu_v4l2 functions static Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-05 1:34 ` [EXT] " Ming Qian
2025-08-05 1:34 ` Ming Qian
2025-08-05 1:34 ` Ming Qian
2025-08-02 9:22 ` [PATCH 14/65] media: amphion: Delete v4l2_fh synchronously in .release() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-05 1:43 ` [EXT] " Ming Qian
2025-08-05 1:43 ` Ming Qian
2025-08-05 1:43 ` Ming Qian
2025-08-02 9:22 ` [PATCH 15/65] media: visl: Drop visl_v4l2fh_to_ctx() function Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 16/65] media: v4l2-fh: Move piece of documentation to correct function Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 17/65] media: rcar-vin: Do not set file->private_data Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 13:26 ` Niklas Söderlund
2025-08-02 13:26 ` Niklas Söderlund
2025-08-02 13:26 ` Niklas Söderlund
2025-08-02 9:22 ` [PATCH 18/65] media: rzg2l-cru: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-04 10:01 ` Tommaso Merciai
2025-08-04 10:01 ` Tommaso Merciai
2025-08-04 10:01 ` Tommaso Merciai
2025-08-02 9:22 ` [PATCH 19/65] media: camss: Replace .open() file operation with v4l2_fh_open() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-24 19:04 ` Vladimir Zapolskiy
2025-08-24 19:04 ` Vladimir Zapolskiy
2025-08-24 19:04 ` Vladimir Zapolskiy
2025-08-02 9:22 ` [PATCH 20/65] media: camss: Remove custom .release fop() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-24 19:07 ` Vladimir Zapolskiy
2025-08-24 19:07 ` Vladimir Zapolskiy
2025-08-24 19:07 ` Vladimir Zapolskiy
2025-08-02 9:22 ` [PATCH 21/65] media: chips-media: wave5: Pass file pointer to wave5_cleanup_instance() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 22/65] media: qcom: iris: Pass file pointer to iris_v4l2_fh_(de)init() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 23/65] media: qcom: iris: Set file->private_data in iris_v4l2_fh_(de)init() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 24/65] media: qcom: iris: Drop unused argument to iris_get_inst() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 25/65] media: qcom: venus: Pass file pointer to venus_close_common() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 26/65] media: Set file->private_data in v4l2_fh_add() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 27/65] media: Reset file->private_data to NULL in v4l2_fh_del() Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-06 12:45 ` Hans Verkuil
2025-08-06 12:45 ` Hans Verkuil
2025-08-06 12:45 ` Hans Verkuil
2025-08-07 8:50 ` Laurent Pinchart
2025-08-07 8:50 ` Laurent Pinchart
2025-08-07 8:50 ` Laurent Pinchart
2025-08-07 17:00 ` Laurent Pinchart
2025-08-07 17:00 ` Laurent Pinchart
2025-08-07 17:00 ` Laurent Pinchart
2025-08-07 20:25 ` Laurent Pinchart
2025-08-07 20:25 ` Laurent Pinchart
2025-08-07 20:25 ` Laurent Pinchart
2025-08-07 20:51 ` Hans Verkuil
2025-08-07 20:51 ` Hans Verkuil
2025-08-07 20:51 ` Hans Verkuil
2025-08-08 6:30 ` Laurent Pinchart
2025-08-08 6:30 ` Laurent Pinchart
2025-08-08 6:30 ` Laurent Pinchart
2025-08-18 14:12 ` Lukasz Stelmach
2025-08-18 14:12 ` Lukasz Stelmach
2025-08-18 14:12 ` Lukasz Stelmach
2025-08-02 9:22 ` [PATCH 28/65] media: v4l2-ioctl: Access v4l2_fh from private_data Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 29/65] media: allegro: Access v4l2_fh from file Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-05 7:39 ` Michael Tretter
2025-08-05 7:39 ` Michael Tretter
2025-08-05 7:39 ` Michael Tretter
2025-08-02 9:22 ` [PATCH 30/65] media: meson-ge2d: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 31/65] media: coda: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 32/65] media: wave5: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 33/65] media: m2m-deinterlace: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 34/65] media: mtk: jpeg: Access v4l2_fh from file->private_data Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 35/65] media: mtk_mdp_m2m: Access v4l2_fh from file Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 36/65] media: mtk: mdp3: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` [PATCH 37/65] media: mtk: vcodec: " Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:22 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 38/65] media: tegra-vde: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 39/65] media: imx-jpeg: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-05 1:58 ` [EXT] " Ming Qian
2025-08-05 1:58 ` Ming Qian
2025-08-05 1:58 ` Ming Qian
2025-08-02 9:23 ` [PATCH 40/65] media: imx-isi: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 41/65] media: nxp: mx2: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 42/65] media: renesas: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-05 9:59 ` Kieran Bingham
2025-08-05 9:59 ` Kieran Bingham
2025-08-05 9:59 ` Kieran Bingham
2025-08-02 9:23 ` [PATCH 43/65] media: rockhip: rga: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 44/65] media: rockchip: rkvdec: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 16:02 ` Detlev Casanova
2025-08-02 16:02 ` Detlev Casanova
2025-08-02 16:02 ` Detlev Casanova
2025-08-02 9:23 ` [PATCH 45/65] media: exynos-gsc: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 46/65] media: exynos4-is: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 47/65] media: s3c-camif: Set queue owner using file Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 48/65] media: s5p-g2d: Access v4l2_fh from file Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 49/65] media: s5p-jpeg: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-03 18:02 ` Andrzej Pietrasiewicz
2025-08-02 9:23 ` [PATCH 50/65] media: s5p-mfc: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 51/65] media: bdisp: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 52/65] media: st: delta: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 53/65] media: stm32: dma2d: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 54/65] media: hantro: Access v4l2_fh from file->private_data Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-04 21:59 ` Paul Kocialkowski [this message]
2025-08-04 21:59 ` Paul Kocialkowski
2025-08-04 21:59 ` Paul Kocialkowski
2025-08-02 9:23 ` [PATCH 55/65] media: omap3isp: Access v4l2_fh from file Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 56/65] media: cx18: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 57/65] media: ivtv: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 58/65] media: zoran: Remove access to __fh Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-07 6:58 ` Hans Verkuil
2025-08-07 6:58 ` Hans Verkuil
2025-08-07 6:58 ` Hans Verkuil
2025-08-07 12:31 ` Laurent Pinchart
2025-08-07 12:31 ` Laurent Pinchart
2025-08-07 12:31 ` Laurent Pinchart
2025-08-07 13:18 ` Hans Verkuil
2025-08-07 13:18 ` Hans Verkuil
2025-08-07 13:18 ` Hans Verkuil
2025-08-02 9:23 ` [PATCH 59/65] media: usb: hdpvr: Access v4l2_fh from file Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 60/65] media: usb: uvc: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 61/65] media: staging: imx: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 62/65] media: v4l2-ctrls: Move v4l2_fh retrieval after V4L2_FL_USES_V4L2_FH check Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` [PATCH 63/65] media: ipu6: isys: Don't set V4L2_FL_USES_V4L2_FH manually Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-08 1:01 ` Cao, Bingbu
2025-08-08 1:01 ` Cao, Bingbu
2025-08-08 1:01 ` Cao, Bingbu
2025-08-08 7:22 ` Sakari Ailus
2025-08-08 7:22 ` Sakari Ailus
2025-08-08 7:22 ` Sakari Ailus
2025-08-02 9:23 ` [PATCH 64/65] media: staging: ipu7: " Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-07 9:07 ` Sakari Ailus
2025-08-07 9:07 ` Sakari Ailus
2025-08-07 9:07 ` Sakari Ailus
2025-08-07 17:01 ` Laurent Pinchart
2025-08-07 17:01 ` Laurent Pinchart
2025-08-07 17:01 ` Laurent Pinchart
2025-08-08 7:22 ` Sakari Ailus
2025-08-08 7:22 ` Sakari Ailus
2025-08-08 7:22 ` Sakari Ailus
2025-08-02 9:23 ` [PATCH 65/65] media: v4l2-ioctl: Stop passing fh pointer to ioctl handlers Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-02 9:23 ` Jacopo Mondi
2025-08-07 7:26 ` Hans Verkuil
2025-08-07 7:26 ` Hans Verkuil
2025-08-07 7:26 ` Hans Verkuil
2025-08-07 7:58 ` Hans Verkuil
2025-08-07 7:58 ` Hans Verkuil
2025-08-07 7:58 ` Hans Verkuil
2025-08-07 20:33 ` Laurent Pinchart
2025-08-07 20:33 ` Laurent Pinchart
2025-08-07 20:33 ` Laurent Pinchart
2025-08-07 20:55 ` Hans Verkuil
2025-08-07 20:55 ` Hans Verkuil
2025-08-07 20:55 ` Hans Verkuil
2025-08-08 7:00 ` Laurent Pinchart
2025-08-08 7:00 ` Laurent Pinchart
2025-08-08 7:00 ` 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=aJEtPd_-IzQZVBfl@shepard \
--to=paulk@sys-base.io \
--cc=abhinav.kumar@linux.dev \
--cc=alexandre.torgue@foss.st.com \
--cc=alexs@kernel.org \
--cc=alim.akhtar@samsung.com \
--cc=andrew-ct.chen@mediatek.com \
--cc=andrzej.hajda@intel.com \
--cc=andrzejtp2010@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=awalls@md.metrocast.net \
--cc=benjamin.gaignard@collabora.com \
--cc=bin.liu@mediatek.com \
--cc=bingbu.cao@intel.com \
--cc=bparrot@ti.com \
--cc=bryan.odonoghue@linaro.org \
--cc=christian.gromm@microchip.com \
--cc=clabbe@baylibre.com \
--cc=corbet@lwn.net \
--cc=daniel.almeida@collabora.com \
--cc=detlev.casanova@collabora.com \
--cc=devarsht@ti.com \
--cc=digetx@gmail.com \
--cc=dzm91@hust.edu.cn \
--cc=eagle.zhou@nxp.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=fabien.dessenne@foss.st.com \
--cc=festevam@gmail.com \
--cc=geert+renesas@glider.be \
--cc=gregkh@linuxfoundation.org \
--cc=hansg@kernel.org \
--cc=heiko@sntech.de \
--cc=houlong.wei@mediatek.com \
--cc=hugues.fruchet@foss.st.com \
--cc=hverkuil@kernel.org \
--cc=imx@lists.linux.dev \
--cc=isely@pobox.com \
--cc=jacek.anaszewski@gmail.com \
--cc=jackson.lee@chipsnmedia.com \
--cc=jacob-chen@iotwrt.com \
--cc=jacopo.mondi@ideasonboard.com \
--cc=jbrunet@baylibre.com \
--cc=jean-christophe.trotin@foss.st.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=kernel@pengutronix.de \
--cc=khilman@baylibre.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=krzk@kernel.org \
--cc=l.stelmach@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux-sunxi@lists.linux.dev \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=m.tretter@pengutronix.de \
--cc=magnus.damm@gmail.com \
--cc=martin.blumenstingl@googlemail.com \
--cc=matthias.bgg@gmail.com \
--cc=mchehab@kernel.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=michal.simek@amd.com \
--cc=mikhail.ulyanov@cogentembedded.com \
--cc=ming.qian@nxp.com \
--cc=minghsiu.tsai@mediatek.com \
--cc=mirela.rabulea@nxp.com \
--cc=mjpeg-users@lists.sourceforge.net \
--cc=mripard@kernel.org \
--cc=nas.chung@chipsnmedia.com \
--cc=neil.armstrong@linaro.org \
--cc=nicolas.dufresne@collabora.com \
--cc=niklas.soderlund@ragnatech.se \
--cc=p.zabel@pengutronix.de \
--cc=parthiban.veerasooran@microchip.com \
--cc=quic_dikshita@quicinc.com \
--cc=quic_vgarodia@quicinc.com \
--cc=rfoss@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=s.nawrocki@samsung.com \
--cc=sakari.ailus@linux.intel.com \
--cc=samuel@sholland.org \
--cc=shawnguo@kernel.org \
--cc=si.yanteng@linux.dev \
--cc=slongerbeam@gmail.com \
--cc=stanislaw.gruszka@linux.intel.com \
--cc=sylvester.nawrocki@gmail.com \
--cc=tfiga@chromium.org \
--cc=thierry.reding@gmail.com \
--cc=tian.shu.qiu@intel.com \
--cc=tiffany.lin@mediatek.com \
--cc=todor.too@gmail.com \
--cc=vladimir.zapolskiy@linaro.org \
--cc=wens@csie.org \
--cc=xavier.roumegue@oss.nxp.com \
--cc=yunfei.dong@mediatek.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.