From: Paul Cercueil <paul.cercueil@bootlin.com>
To: "Luca Ceresoli" <luca.ceresoli@bootlin.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>, "Frank Li" <Frank.Li@nxp.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Icenowy Zheng" <zhengxingda@iscas.ac.cn>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
"Maíra Canal" <mcanal@igalia.com>,
"Raspberry Pi Kernel Maintenance" <kernel-list@raspberrypi.com>,
"Geert Uytterhoeven" <geert+renesas@glider.be>
Cc: Arnd Bergmann <arnd@kernel.org>,
Doug Anderson <dianders@chromium.org>,
Hui Pu <Hui.Pu@gehealthcare.com>,
Ian Ray <ian.ray@gehealthcare.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
dri-devel@lists.freedesktop.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH v2 4/7] drm/bridge: dw-mipi-dsi2: stop using deprecated devm_drm_of_get_bridge()
Date: Thu, 01 Oct 2026 10:10:40 +0200 [thread overview]
Message-ID: <3fdc30dfdddfb5f529398541aefe92ae86a07b3e.camel@bootlin.com> (raw)
In-Reply-To: <20260929-drm-fix-of_get_bridge-build-regression-v2-4-6da431d8f180@bootlin.com>
Hi Luca (and not Lucas, sorry),
Le mardi 29 septembre 2026 à 15:39 +0200, Luca Ceresoli a écrit :
> devm_drm_of_get_bridge() is deprecated, switch to
> of_drm_get_bridge_by_endpoint(). As of_drm_get_bridge_by_endpoint() returns
> a refcounted bridge, ensure it is put by using bridge.next_bridge.
>
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Paul Cercueil <paul.cercueil@bootlin.com>
With one nitpick below.
>
> ---
>
> Changes in v2:
> - fix bridge reference leak on attach error and detach paths
> ---
> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
> b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
> index 7fd2f1e60654..eb7d5713bd28 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
> @@ -192,7 +192,6 @@ struct cmd_header {
> struct dw_mipi_dsi2 {
> struct drm_bridge bridge;
> struct mipi_dsi_host dsi_host;
> - struct drm_bridge *panel_bridge;
> struct device *dev;
> struct regmap *regmap;
> struct clk *pclk;
> @@ -528,12 +527,12 @@ static int dw_mipi_dsi2_host_attach(struct mipi_dsi_host
> *host,
> dsi2->format = device->format;
> dsi2->mode_flags = device->mode_flags;
>
> - bridge = devm_drm_of_get_bridge(dsi2->dev, dsi2->dev->of_node, 1, 0);
> + bridge = of_drm_get_bridge_by_endpoint(dsi2->dev->of_node, 1, 0);
> if (IS_ERR(bridge))
> return PTR_ERR(bridge);
>
> bridge->pre_enable_prev_first = true;
> - dsi2->panel_bridge = bridge;
> + dsi2->bridge.next_bridge = bridge;
>
> drm_bridge_add(&dsi2->bridge);
>
> @@ -547,6 +546,7 @@ static int dw_mipi_dsi2_host_attach(struct mipi_dsi_host
> *host,
>
> err_remove_bridge:
> drm_bridge_remove(&dsi2->bridge);
> + drm_bridge_clear_and_put(&dsi2->bridge.next_bridge);
> return ret;
> }
>
> @@ -564,8 +564,7 @@ static int dw_mipi_dsi2_host_detach(struct mipi_dsi_host
> *host,
> }
>
> drm_bridge_remove(&dsi2->bridge);
> -
> - drm_of_panel_bridge_remove(host->dev->of_node, 1, 0);
> + drm_bridge_clear_and_put(&dsi2->bridge.next_bridge);
>
> return 0;
> }
> @@ -884,7 +883,7 @@ static int dw_mipi_dsi2_bridge_attach(struct drm_bridge
> *bridge,
> encoder->encoder_type = DRM_MODE_ENCODER_DSI;
>
> /* Attach the panel-bridge to the dsi bridge */
> - return drm_bridge_attach(encoder, dsi2->panel_bridge, bridge,
> + return drm_bridge_attach(encoder, dsi2->bridge.next_bridge, bridge,
> flags);
Same remark as for the patch 3/7, it would look a bit better to have the
'bridge' moved to the second line.
Cheers,
-Paul
next prev parent reply other threads:[~2026-10-01 8:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 13:39 [PATCH v2 0/7] drm: remove deprecated *_of_get_bridge() from non-OF drivers (fixes build regression) Luca Ceresoli
2026-09-29 13:39 ` [PATCH v2 1/7] drm/imx/lcdc: stop using deprecated devm_drm_of_get_bridge() Luca Ceresoli
2026-10-01 8:02 ` Paul Cercueil
2026-09-29 13:39 ` [PATCH v2 2/7] drm: verisilicon: " Luca Ceresoli
2026-09-29 14:42 ` Icenowy Zheng
2026-09-29 21:26 ` Luca Ceresoli
2026-10-01 8:04 ` Paul Cercueil
2026-09-29 13:39 ` [PATCH v2 3/7] drm/bridge: dw-mipi-dsi: " Luca Ceresoli
2026-09-29 13:55 ` sashiko-bot
2026-09-30 19:35 ` Luca Ceresoli
2026-10-01 8:07 ` Paul Cercueil
2026-09-29 13:39 ` [PATCH v2 4/7] drm/bridge: dw-mipi-dsi2: " Luca Ceresoli
2026-10-01 8:10 ` Paul Cercueil [this message]
2026-09-29 13:39 ` [PATCH v2 5/7] drm/vc4: dpi: stop using deprecated drmm_of_get_bridge() Luca Ceresoli
2026-10-01 8:22 ` Paul Cercueil
2026-10-01 8:31 ` Luca Ceresoli
2026-09-29 13:39 ` [PATCH v2 6/7] drm/vc4: dsi: " Luca Ceresoli
2026-09-29 13:54 ` sashiko-bot
2026-10-01 8:56 ` Paul Cercueil
2026-10-01 9:02 ` Paul Cercueil
2026-09-29 13:39 ` [PATCH v2 7/7] drm: renesas: shmobile: stop using deprecated devm_drm_of_get_bridge() Luca Ceresoli
2026-10-01 9:00 ` Paul Cercueil
2026-10-01 15:49 ` [PATCH v2 0/7] drm: remove deprecated *_of_get_bridge() from non-OF drivers (fixes build regression) Luca Ceresoli
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=3fdc30dfdddfb5f529398541aefe92ae86a07b3e.camel@bootlin.com \
--to=paul.cercueil@bootlin.com \
--cc=Frank.Li@nxp.com \
--cc=Hui.Pu@gehealthcare.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=arnd@kernel.org \
--cc=dave.stevenson@raspberrypi.com \
--cc=dianders@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=geert+renesas@glider.be \
--cc=ian.ray@gehealthcare.com \
--cc=imx@lists.linux.dev \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kernel-list@raspberrypi.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=luca.ceresoli@bootlin.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mcanal@igalia.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=rfoss@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=simona@ffwll.ch \
--cc=thomas.petazzoni@bootlin.com \
--cc=tzimmermann@suse.de \
--cc=zhengxingda@iscas.ac.cn \
/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.