* [PATCH v2 1/6] drm/bridge: dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
@ 2026-01-09 10:02 ` Luca Ceresoli
2026-01-09 10:02 ` [PATCH v2 2/6] drm/meson/dw-hdmi: " Luca Ceresoli
` (5 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-09 10:02 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc,
Luca Ceresoli
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
is put when done by using the drm_bridge::next_bridge pointer.
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 3b77e73ac0ea..ee88c0e793b0 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -132,7 +132,6 @@ struct dw_hdmi_phy_data {
struct dw_hdmi {
struct drm_connector connector;
struct drm_bridge bridge;
- struct drm_bridge *next_bridge;
unsigned int version;
@@ -2912,7 +2911,7 @@ static int dw_hdmi_bridge_attach(struct drm_bridge *bridge,
struct dw_hdmi *hdmi = bridge->driver_private;
if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
- return drm_bridge_attach(encoder, hdmi->next_bridge,
+ return drm_bridge_attach(encoder, hdmi->bridge.next_bridge,
bridge, flags);
return dw_hdmi_connector_create(hdmi);
@@ -3318,9 +3317,9 @@ static int dw_hdmi_parse_dt(struct dw_hdmi *hdmi)
if (!remote)
return -ENODEV;
- hdmi->next_bridge = of_drm_find_bridge(remote);
+ hdmi->bridge.next_bridge = of_drm_find_and_get_bridge(remote);
of_node_put(remote);
- if (!hdmi->next_bridge)
+ if (!hdmi->bridge.next_bridge)
return -EPROBE_DEFER;
return 0;
--
2.52.0
^ permalink raw reply related [flat|nested] 16+ messages in thread* [PATCH v2 2/6] drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
2026-01-09 10:02 ` [PATCH v2 1/6] drm/bridge: dw-hdmi: convert to of_drm_find_and_get_bridge() Luca Ceresoli
@ 2026-01-09 10:02 ` Luca Ceresoli
2026-01-09 10:13 ` Neil Armstrong
2026-01-12 22:21 ` Martin Blumenstingl
2026-01-09 10:02 ` [PATCH v2 3/6] drm/imx/dw-hdmi: " Luca Ceresoli
` (4 subsequent siblings)
6 siblings, 2 replies; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-09 10:02 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc,
Luca Ceresoli
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
is put when done.
dw_hdmi->bridge is used only in dw_hdmi_top_thread_irq(), so in order to
avoid potential use-after-free ensure the irq is freed before putting the
dw_hdmi->bridge reference.
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
drivers/gpu/drm/meson/meson_dw_hdmi.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
index 0d7c68b29dff..fef1702acb14 100644
--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
@@ -778,7 +778,7 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master,
if (IS_ERR(meson_dw_hdmi->hdmi))
return PTR_ERR(meson_dw_hdmi->hdmi);
- meson_dw_hdmi->bridge = of_drm_find_bridge(pdev->dev.of_node);
+ meson_dw_hdmi->bridge = of_drm_find_and_get_bridge(pdev->dev.of_node);
DRM_DEBUG_DRIVER("HDMI controller initialized\n");
@@ -789,8 +789,12 @@ static void meson_dw_hdmi_unbind(struct device *dev, struct device *master,
void *data)
{
struct meson_dw_hdmi *meson_dw_hdmi = dev_get_drvdata(dev);
+ struct platform_device *pdev = to_platform_device(dev);
+ int irq = platform_get_irq(pdev, 0);
+ devm_free_irq(dev, irq, meson_dw_hdmi);
dw_hdmi_unbind(meson_dw_hdmi->hdmi);
+ drm_bridge_put(meson_dw_hdmi->bridge);
}
static const struct component_ops meson_dw_hdmi_ops = {
--
2.52.0
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [PATCH v2 2/6] drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 ` [PATCH v2 2/6] drm/meson/dw-hdmi: " Luca Ceresoli
@ 2026-01-09 10:13 ` Neil Armstrong
2026-01-12 22:21 ` Martin Blumenstingl
1 sibling, 0 replies; 16+ messages in thread
From: Neil Armstrong @ 2026-01-09 10:13 UTC (permalink / raw)
To: Luca Ceresoli, Andrzej Hajda, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc
On 1/9/26 11:02, Luca Ceresoli wrote:
> of_drm_find_bridge() is deprecated. Move to its replacement
> of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
> is put when done.
>
> dw_hdmi->bridge is used only in dw_hdmi_top_thread_irq(), so in order to
> avoid potential use-after-free ensure the irq is freed before putting the
> dw_hdmi->bridge reference.
>
> Acked-by: Maxime Ripard <mripard@kernel.org>
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> ---
> drivers/gpu/drm/meson/meson_dw_hdmi.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
> index 0d7c68b29dff..fef1702acb14 100644
> --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
> +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
> @@ -778,7 +778,7 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master,
> if (IS_ERR(meson_dw_hdmi->hdmi))
> return PTR_ERR(meson_dw_hdmi->hdmi);
>
> - meson_dw_hdmi->bridge = of_drm_find_bridge(pdev->dev.of_node);
> + meson_dw_hdmi->bridge = of_drm_find_and_get_bridge(pdev->dev.of_node);
>
> DRM_DEBUG_DRIVER("HDMI controller initialized\n");
>
> @@ -789,8 +789,12 @@ static void meson_dw_hdmi_unbind(struct device *dev, struct device *master,
> void *data)
> {
> struct meson_dw_hdmi *meson_dw_hdmi = dev_get_drvdata(dev);
> + struct platform_device *pdev = to_platform_device(dev);
> + int irq = platform_get_irq(pdev, 0);
>
> + devm_free_irq(dev, irq, meson_dw_hdmi);
> dw_hdmi_unbind(meson_dw_hdmi->hdmi);
> + drm_bridge_put(meson_dw_hdmi->bridge);
> }
>
> static const struct component_ops meson_dw_hdmi_ops = {
>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks,
Neil
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [PATCH v2 2/6] drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 ` [PATCH v2 2/6] drm/meson/dw-hdmi: " Luca Ceresoli
2026-01-09 10:13 ` Neil Armstrong
@ 2026-01-12 22:21 ` Martin Blumenstingl
2026-01-13 17:30 ` Luca Ceresoli
1 sibling, 1 reply; 16+ messages in thread
From: Martin Blumenstingl @ 2026-01-12 22:21 UTC (permalink / raw)
To: Luca Ceresoli
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Philipp Zabel, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Chun-Kuang Hu,
Matthias Brugger, AngeloGioacchino Del Regno, Inki Dae,
Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski, Alim Akhtar,
Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm, Marek Szyprowski, Hui Pu,
Thomas Petazzoni, dri-devel, linux-kernel, linux-amlogic,
linux-arm-kernel, imx, linux-mediatek, linux-samsung-soc,
linux-renesas-soc
Hi Luca,
On Fri, Jan 9, 2026 at 11:03 AM Luca Ceresoli <luca.ceresoli@bootlin.com> wrote:
>
> of_drm_find_bridge() is deprecated. Move to its replacement
> of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
> is put when done.
>
> dw_hdmi->bridge is used only in dw_hdmi_top_thread_irq(), so in order to
> avoid potential use-after-free ensure the irq is freed before putting the
> dw_hdmi->bridge reference.
>
> Acked-by: Maxime Ripard <mripard@kernel.org>
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
[...]
> @@ -789,8 +789,12 @@ static void meson_dw_hdmi_unbind(struct device *dev, struct device *master,
> void *data)
> {
> struct meson_dw_hdmi *meson_dw_hdmi = dev_get_drvdata(dev);
> + struct platform_device *pdev = to_platform_device(dev);
> + int irq = platform_get_irq(pdev, 0);
>
> + devm_free_irq(dev, irq, meson_dw_hdmi);
I have one question (so I can understand things better):
is there a particular reason why you went with free'ing the IRQ
instead of "just" masking it (so the hardware won't fire anymore of
those IRQs)?
Best regards,
Martin
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [PATCH v2 2/6] drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-12 22:21 ` Martin Blumenstingl
@ 2026-01-13 17:30 ` Luca Ceresoli
2026-01-19 21:24 ` Martin Blumenstingl
0 siblings, 1 reply; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-13 17:30 UTC (permalink / raw)
To: Martin Blumenstingl
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Philipp Zabel, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Chun-Kuang Hu,
Matthias Brugger, AngeloGioacchino Del Regno, Inki Dae,
Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski, Alim Akhtar,
Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm, Marek Szyprowski, Hui Pu,
Thomas Petazzoni, dri-devel, linux-kernel, linux-amlogic,
linux-arm-kernel, imx, linux-mediatek, linux-samsung-soc,
linux-renesas-soc
Hello Martin,
On Mon Jan 12, 2026 at 11:21 PM CET, Martin Blumenstingl wrote:
> Hi Luca,
>
> On Fri, Jan 9, 2026 at 11:03 AM Luca Ceresoli <luca.ceresoli@bootlin.com> wrote:
>>
>> of_drm_find_bridge() is deprecated. Move to its replacement
>> of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
>> is put when done.
>>
>> dw_hdmi->bridge is used only in dw_hdmi_top_thread_irq(), so in order to
>> avoid potential use-after-free ensure the irq is freed before putting the
>> dw_hdmi->bridge reference.
>>
>> Acked-by: Maxime Ripard <mripard@kernel.org>
>> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
>
> [...]
>> @@ -789,8 +789,12 @@ static void meson_dw_hdmi_unbind(struct device *dev, struct device *master,
>> void *data)
>> {
>> struct meson_dw_hdmi *meson_dw_hdmi = dev_get_drvdata(dev);
>> + struct platform_device *pdev = to_platform_device(dev);
>> + int irq = platform_get_irq(pdev, 0);
>>
>> + devm_free_irq(dev, irq, meson_dw_hdmi);
> I have one question (so I can understand things better):
> is there a particular reason why you went with free'ing the IRQ
> instead of "just" masking it (so the hardware won't fire anymore of
> those IRQs)?
One reason is symmetry: _bind requests the irq, so _unbind does the
reverse.
Another is I don't have the hardware, so I wanted my changes to be as small
and clear as possible.
In principle one could request/free the irq in probe/remove and then
enable/disable it in bind/unbind. Whether it would be a good or bad idea I
don't know, but surely it would be more complex and I wouldn't want to do
it without any chance to test it on hardware.
Also, that would only optimize the case of multiple bind/unbind cycles,
which are not quite realistic without bridge hotplug. And brigde hotplug
does not exist yet in mainline, and when it will arrive it will be used
only for a few use cases.
I hope this answers your question.
Best regards,
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [PATCH v2 2/6] drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-13 17:30 ` Luca Ceresoli
@ 2026-01-19 21:24 ` Martin Blumenstingl
0 siblings, 0 replies; 16+ messages in thread
From: Martin Blumenstingl @ 2026-01-19 21:24 UTC (permalink / raw)
To: Luca Ceresoli
Cc: Neil Armstrong, Kevin Hilman, Jerome Brunet, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc
Hi Luca,
On Tue, Jan 13, 2026 at 6:31 PM Luca Ceresoli <luca.ceresoli@bootlin.com> wrote:
[...]
> >> @@ -789,8 +789,12 @@ static void meson_dw_hdmi_unbind(struct device *dev, struct device *master,
> >> void *data)
> >> {
> >> struct meson_dw_hdmi *meson_dw_hdmi = dev_get_drvdata(dev);
> >> + struct platform_device *pdev = to_platform_device(dev);
> >> + int irq = platform_get_irq(pdev, 0);
> >>
> >> + devm_free_irq(dev, irq, meson_dw_hdmi);
> > I have one question (so I can understand things better):
> > is there a particular reason why you went with free'ing the IRQ
> > instead of "just" masking it (so the hardware won't fire anymore of
> > those IRQs)?
>
> One reason is symmetry: _bind requests the irq, so _unbind does the
> reverse.
>
> Another is I don't have the hardware, so I wanted my changes to be as small
> and clear as possible.
Understood, thanks!
> In principle one could request/free the irq in probe/remove and then
> enable/disable it in bind/unbind. Whether it would be a good or bad idea I
> don't know, but surely it would be more complex and I wouldn't want to do
> it without any chance to test it on hardware.
>
> Also, that would only optimize the case of multiple bind/unbind cycles,
> which are not quite realistic without bridge hotplug. And brigde hotplug
> does not exist yet in mainline, and when it will arrive it will be used
> only for a few use cases.
>
> I hope this answers your question.
Yes, I was curious whether you considered devm_free_irq() as the only
"correct" approach (in this case I would have recommended a comment)
or whether other approaches are fine too.
This is useful knowledge for me in case we ever need to restructure the driver.
Best regards,
Martin
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 3/6] drm/imx/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
2026-01-09 10:02 ` [PATCH v2 1/6] drm/bridge: dw-hdmi: convert to of_drm_find_and_get_bridge() Luca Ceresoli
2026-01-09 10:02 ` [PATCH v2 2/6] drm/meson/dw-hdmi: " Luca Ceresoli
@ 2026-01-09 10:02 ` Luca Ceresoli
2026-01-13 11:20 ` Philipp Zabel
2026-01-13 15:45 ` Maxime Ripard
2026-01-09 10:02 ` [PATCH v2 4/6] drm/mediatek: mtk_hdmi*: " Luca Ceresoli
` (3 subsequent siblings)
6 siblings, 2 replies; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-09 10:02 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc,
Luca Ceresoli
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
is put when done.
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changes in v2:
- add missing drm_bridge_put() on component_add() failure
- reorder lines in dw_hdmi_imx_remove()
---
drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c b/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c
index 07e5f96202d4..398f3cce5532 100644
--- a/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c
+++ b/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c
@@ -241,7 +241,7 @@ static int dw_hdmi_imx_probe(struct platform_device *pdev)
if (IS_ERR(hdmi->hdmi))
return PTR_ERR(hdmi->hdmi);
- hdmi->bridge = of_drm_find_bridge(np);
+ hdmi->bridge = of_drm_find_and_get_bridge(np);
if (!hdmi->bridge) {
dev_err(hdmi->dev, "Unable to find bridge\n");
dw_hdmi_remove(hdmi->hdmi);
@@ -249,8 +249,10 @@ static int dw_hdmi_imx_probe(struct platform_device *pdev)
}
ret = component_add(&pdev->dev, &dw_hdmi_imx_ops);
- if (ret)
+ if (ret) {
+ drm_bridge_put(hdmi->bridge);
dw_hdmi_remove(hdmi->hdmi);
+ }
return ret;
}
@@ -260,6 +262,7 @@ static void dw_hdmi_imx_remove(struct platform_device *pdev)
struct imx_hdmi *hdmi = platform_get_drvdata(pdev);
component_del(&pdev->dev, &dw_hdmi_imx_ops);
+ drm_bridge_put(hdmi->bridge);
dw_hdmi_remove(hdmi->hdmi);
}
--
2.52.0
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [PATCH v2 3/6] drm/imx/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 ` [PATCH v2 3/6] drm/imx/dw-hdmi: " Luca Ceresoli
@ 2026-01-13 11:20 ` Philipp Zabel
2026-01-13 15:45 ` Maxime Ripard
1 sibling, 0 replies; 16+ messages in thread
From: Philipp Zabel @ 2026-01-13 11:20 UTC (permalink / raw)
To: Luca Ceresoli, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Kevin Hilman, Jerome Brunet, Martin Blumenstingl,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc
On Fr, 2026-01-09 at 11:02 +0100, Luca Ceresoli wrote:
> of_drm_find_bridge() is deprecated. Move to its replacement
> of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
> is put when done.
>
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
regards
Philipp
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 3/6] drm/imx/dw-hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 ` [PATCH v2 3/6] drm/imx/dw-hdmi: " Luca Ceresoli
2026-01-13 11:20 ` Philipp Zabel
@ 2026-01-13 15:45 ` Maxime Ripard
1 sibling, 0 replies; 16+ messages in thread
From: Maxime Ripard @ 2026-01-13 15:45 UTC (permalink / raw)
To: Luca Ceresoli
Cc: dri-devel, imx, linux-amlogic, linux-arm-kernel, linux-kernel,
linux-mediatek, linux-renesas-soc, linux-samsung-soc, Alim Akhtar,
Andrzej Hajda, AngeloGioacchino Del Regno, Chun-Kuang Hu,
David Airlie, Fabio Estevam, Geert Uytterhoeven, Hui Pu, Inki Dae,
Jernej Skrabec, Jerome Brunet, Jonas Karlman, Kevin Hilman,
Kieran Bingham, Krzysztof Kozlowski, Kyungmin Park,
Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
Magnus Damm, Marek Szyprowski, Martin Blumenstingl,
Matthias Brugger, Maxime Ripard, Neil Armstrong,
Pengutronix Kernel Team, Philipp Zabel, Robert Foss, Sascha Hauer,
Seung-Woo Kim, Shawn Guo, Simona Vetter, Thomas Petazzoni,
Thomas Zimmermann, Tomi Valkeinen
On Fri, 9 Jan 2026 11:02:52 +0100, Luca Ceresoli wrote:
> of_drm_find_bridge() is deprecated. Move to its replacement
> of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
> is put when done.
>
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
>
> [ ... ]
Acked-by: Maxime Ripard <mripard@kernel.org>
Thanks!
Maxime
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 4/6] drm/mediatek: mtk_hdmi*: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
` (2 preceding siblings ...)
2026-01-09 10:02 ` [PATCH v2 3/6] drm/imx/dw-hdmi: " Luca Ceresoli
@ 2026-01-09 10:02 ` Luca Ceresoli
2026-01-09 10:02 ` [PATCH v2 5/6] drm/exynos: hdmi: " Luca Ceresoli
` (2 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-09 10:02 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc,
Luca Ceresoli
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
is put when done by using the drm_bridge::next_bridge pointer.
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
drivers/gpu/drm/mediatek/mtk_hdmi.c | 4 ++--
drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 4 ++--
drivers/gpu/drm/mediatek/mtk_hdmi_common.h | 1 -
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c | 4 ++--
4 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index 0face4dcaa36..1ea259854780 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -986,8 +986,8 @@ static int mtk_hdmi_bridge_attach(struct drm_bridge *bridge,
return -EINVAL;
}
- if (hdmi->next_bridge) {
- ret = drm_bridge_attach(encoder, hdmi->next_bridge,
+ if (hdmi->bridge.next_bridge) {
+ ret = drm_bridge_attach(encoder, hdmi->bridge.next_bridge,
bridge, flags);
if (ret)
return ret;
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_common.c b/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
index e78eb0876f16..40ded86dbea3 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
@@ -315,8 +315,8 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi, struct platform_device
return -EINVAL;
if (!of_device_is_compatible(remote, "hdmi-connector")) {
- hdmi->next_bridge = of_drm_find_bridge(remote);
- if (!hdmi->next_bridge) {
+ hdmi->bridge.next_bridge = of_drm_find_and_get_bridge(remote);
+ if (!hdmi->bridge.next_bridge) {
dev_err(dev, "Waiting for external bridge\n");
of_node_put(remote);
return -EPROBE_DEFER;
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_common.h b/drivers/gpu/drm/mediatek/mtk_hdmi_common.h
index de5e064585f8..cace3c5dc067 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_common.h
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_common.h
@@ -150,7 +150,6 @@ struct mtk_hdmi_conf {
struct mtk_hdmi {
struct drm_bridge bridge;
- struct drm_bridge *next_bridge;
struct drm_connector *curr_conn;/* current connector (only valid when 'enabled') */
struct device *dev;
const struct mtk_hdmi_conf *conf;
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_v2.c b/drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
index c272e1e74b7d..2adeece499b6 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
@@ -940,8 +940,8 @@ static int mtk_hdmi_v2_bridge_attach(struct drm_bridge *bridge,
DRM_ERROR("The flag DRM_BRIDGE_ATTACH_NO_CONNECTOR must be supplied\n");
return -EINVAL;
}
- if (hdmi->next_bridge) {
- ret = drm_bridge_attach(encoder, hdmi->next_bridge, bridge, flags);
+ if (hdmi->bridge.next_bridge) {
+ ret = drm_bridge_attach(encoder, hdmi->bridge.next_bridge, bridge, flags);
if (ret)
return ret;
}
--
2.52.0
^ permalink raw reply related [flat|nested] 16+ messages in thread* [PATCH v2 5/6] drm/exynos: hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
` (3 preceding siblings ...)
2026-01-09 10:02 ` [PATCH v2 4/6] drm/mediatek: mtk_hdmi*: " Luca Ceresoli
@ 2026-01-09 10:02 ` Luca Ceresoli
2026-01-13 15:45 ` Maxime Ripard
2026-01-09 10:02 ` [PATCH v2 6/6] drm: rcar-du: lvds: " Luca Ceresoli
2026-01-21 13:09 ` [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
6 siblings, 1 reply; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-09 10:02 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc,
Luca Ceresoli
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
is put when done.
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
drivers/gpu/drm/exynos/exynos_hdmi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 01813e11e6c6..bfcf2fa62fe1 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1779,7 +1779,7 @@ static int hdmi_bridge_init(struct hdmi_context *hdata)
return -EINVAL;
}
- hdata->bridge = of_drm_find_bridge(np);
+ hdata->bridge = of_drm_find_and_get_bridge(np);
of_node_put(np);
if (!hdata->bridge)
@@ -2096,6 +2096,8 @@ static void hdmi_remove(struct platform_device *pdev)
put_device(&hdata->ddc_adpt->dev);
+ drm_bridge_put(hdata->bridge);
+
mutex_destroy(&hdata->mutex);
}
--
2.52.0
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [PATCH v2 5/6] drm/exynos: hdmi: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 ` [PATCH v2 5/6] drm/exynos: hdmi: " Luca Ceresoli
@ 2026-01-13 15:45 ` Maxime Ripard
0 siblings, 0 replies; 16+ messages in thread
From: Maxime Ripard @ 2026-01-13 15:45 UTC (permalink / raw)
To: Luca Ceresoli
Cc: dri-devel, imx, linux-amlogic, linux-arm-kernel, linux-kernel,
linux-mediatek, linux-renesas-soc, linux-samsung-soc, Alim Akhtar,
Andrzej Hajda, AngeloGioacchino Del Regno, Chun-Kuang Hu,
David Airlie, Fabio Estevam, Geert Uytterhoeven, Hui Pu, Inki Dae,
Jernej Skrabec, Jerome Brunet, Jonas Karlman, Kevin Hilman,
Kieran Bingham, Krzysztof Kozlowski, Kyungmin Park,
Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
Magnus Damm, Marek Szyprowski, Martin Blumenstingl,
Matthias Brugger, Maxime Ripard, Neil Armstrong,
Pengutronix Kernel Team, Philipp Zabel, Robert Foss, Sascha Hauer,
Seung-Woo Kim, Shawn Guo, Simona Vetter, Thomas Petazzoni,
Thomas Zimmermann, Tomi Valkeinen
On Fri, 9 Jan 2026 11:02:54 +0100, Luca Ceresoli wrote:
> of_drm_find_bridge() is deprecated. Move to its replacement
> of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
> is put when done.
>
> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
>
> [ ... ]
Acked-by: Maxime Ripard <mripard@kernel.org>
Thanks!
Maxime
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 6/6] drm: rcar-du: lvds: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
` (4 preceding siblings ...)
2026-01-09 10:02 ` [PATCH v2 5/6] drm/exynos: hdmi: " Luca Ceresoli
@ 2026-01-09 10:02 ` Luca Ceresoli
2026-01-13 15:45 ` Maxime Ripard
2026-01-21 13:09 ` [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
6 siblings, 1 reply; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-09 10:02 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc,
Luca Ceresoli
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
is put when done.
Since the companion bridge pointer is used by .atomic_enable, putting its
reference in the remove function would be dangerous. Use .destroy to put it
on final deallocation.
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c b/drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c
index 001b3543924a..227818e37390 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c
@@ -633,6 +633,13 @@ static bool rcar_lvds_mode_fixup(struct drm_bridge *bridge,
return true;
}
+static void rcar_lvds_destroy(struct drm_bridge *bridge)
+{
+ struct rcar_lvds *lvds = bridge_to_rcar_lvds(bridge);
+
+ drm_bridge_put(lvds->companion);
+}
+
static int rcar_lvds_attach(struct drm_bridge *bridge,
struct drm_encoder *encoder,
enum drm_bridge_attach_flags flags)
@@ -648,6 +655,7 @@ static int rcar_lvds_attach(struct drm_bridge *bridge,
static const struct drm_bridge_funcs rcar_lvds_bridge_ops = {
.attach = rcar_lvds_attach,
+ .destroy = rcar_lvds_destroy,
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
.atomic_reset = drm_atomic_helper_bridge_reset,
@@ -740,7 +748,7 @@ static int rcar_lvds_parse_dt_companion(struct rcar_lvds *lvds)
goto done;
}
- lvds->companion = of_drm_find_bridge(companion);
+ lvds->companion = of_drm_find_and_get_bridge(companion);
if (!lvds->companion) {
ret = -EPROBE_DEFER;
goto done;
--
2.52.0
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [PATCH v2 6/6] drm: rcar-du: lvds: convert to of_drm_find_and_get_bridge()
2026-01-09 10:02 ` [PATCH v2 6/6] drm: rcar-du: lvds: " Luca Ceresoli
@ 2026-01-13 15:45 ` Maxime Ripard
0 siblings, 0 replies; 16+ messages in thread
From: Maxime Ripard @ 2026-01-13 15:45 UTC (permalink / raw)
To: Luca Ceresoli
Cc: dri-devel, imx, linux-amlogic, linux-arm-kernel, linux-kernel,
linux-mediatek, linux-renesas-soc, linux-samsung-soc, Alim Akhtar,
Andrzej Hajda, AngeloGioacchino Del Regno, Chun-Kuang Hu,
David Airlie, Fabio Estevam, Geert Uytterhoeven, Hui Pu, Inki Dae,
Jernej Skrabec, Jerome Brunet, Jonas Karlman, Kevin Hilman,
Kieran Bingham, Krzysztof Kozlowski, Kyungmin Park,
Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
Magnus Damm, Marek Szyprowski, Martin Blumenstingl,
Matthias Brugger, Maxime Ripard, Neil Armstrong,
Pengutronix Kernel Team, Philipp Zabel, Robert Foss, Sascha Hauer,
Seung-Woo Kim, Shawn Guo, Simona Vetter, Thomas Petazzoni,
Thomas Zimmermann, Tomi Valkeinen
On Fri, 9 Jan 2026 11:02:55 +0100, Luca Ceresoli wrote:
> of_drm_find_bridge() is deprecated. Move to its replacement
> of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
> is put when done.
>
> Since the companion bridge pointer is used by .atomic_enable, putting its
>
> [ ... ]
Acked-by: Maxime Ripard <mripard@kernel.org>
Thanks!
Maxime
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3
2026-01-09 10:02 [PATCH v2 0/6] drm/bridge: convert users of of_drm_find_bridge(), part 3 Luca Ceresoli
` (5 preceding siblings ...)
2026-01-09 10:02 ` [PATCH v2 6/6] drm: rcar-du: lvds: " Luca Ceresoli
@ 2026-01-21 13:09 ` Luca Ceresoli
6 siblings, 0 replies; 16+ messages in thread
From: Luca Ceresoli @ 2026-01-21 13:09 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Philipp Zabel, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Chun-Kuang Hu, Matthias Brugger, AngeloGioacchino Del Regno,
Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
Alim Akhtar, Laurent Pinchart, Tomi Valkeinen, Kieran Bingham,
Geert Uytterhoeven, Magnus Damm, Luca Ceresoli
Cc: Marek Szyprowski, Hui Pu, Thomas Petazzoni, dri-devel,
linux-kernel, linux-amlogic, linux-arm-kernel, imx,
linux-mediatek, linux-samsung-soc, linux-renesas-soc
On Fri, 09 Jan 2026 11:02:49 +0100, Luca Ceresoli wrote:
> This series converts many DRM drivers from the now deprecated
> of_drm_find_bridge() to its replacement of_drm_find_and_get_bridge() which
> allows correct bridge refcounting. Where applicable it also converts
> per-driver "next_bridge" pointers to the unified drm_bridge::next_bridge
> which puts the reference automatically on bridge deallocation.
>
> This is part of the work to support hotplug of DRM bridges. The grand plan
> was discussed in [0].
>
> [...]
Applied, thanks!
[1/6] drm/bridge: dw-hdmi: convert to of_drm_find_and_get_bridge()
commit: 4e7fd5aa3f3939dfcd8b0578de57f1cc00d6c31c
[2/6] drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge()
commit: 9afbf7a9cce584e3ce7b709ea5654f2721b00694
[3/6] drm/imx/dw-hdmi: convert to of_drm_find_and_get_bridge()
commit: 6dfebeee296cbb3296f06c28f3b2d053ec8374e7
[4/6] drm/mediatek: mtk_hdmi*: convert to of_drm_find_and_get_bridge()
commit: 4ace6fbcd25f5ef275c91b93424e715f96197e50
[5/6] drm/exynos: hdmi: convert to of_drm_find_and_get_bridge()
commit: 2db0d298f22d685e0c9f7f66ab6470f12a0255b6
[6/6] drm: rcar-du: lvds: convert to of_drm_find_and_get_bridge()
commit: 95d628c9e4738c070ba780488efbab894e583646
Best regards,
--
Luca Ceresoli <luca.ceresoli@bootlin.com>
^ permalink raw reply [flat|nested] 16+ messages in thread