Hi Liu, Luca, sorry for the delayed response, I was at the EW26.
On 26-03-10, Luca Ceresoli wrote: > Hi Liu, Marco, > > On Tue Mar 10, 2026 at 3:57 AM CET, Liu Ying wrote: > > Hi Marco, Luca, > > > > On Tue, Mar 03, 2026 at 11:34:27AM +0100, Marco Felsch wrote: > > > > [...] > > > >> + next_bridge = devm_drm_of_get_bridge(dev, dev->of_node, 1, 0); > >> + if (IS_ERR(next_bridge)) > >> + return dev_err_probe(dev, PTR_ERR(next_bridge), > >> + "failed to get next bridge\n"); > >> + pdfc->dev = dev; > >> + pdfc->bridge.of_node = dev->of_node; > >> + pdfc->bridge.type = DRM_MODE_CONNECTOR_DPI; > >> + pdfc->bridge.next_bridge = next_bridge; > > > > When I was reviewing another patch[1], I was aware of the necessity of > > calling drm_bridge_get() for next_bridge to balance the next bridge's > > refcount put from __drm_bridge_free() for this bridge. I'd be good if > > Luca may confirm this is correct. Sorry for bringing this up late. > > Indeed you have a good point. At which stage did you faced this issue? During driver probe, because of EPROBE_DEFER? That's the reason for having the local next_bridge variable since I faced with the same issue. In other words this driver is correct and it's on purpose to not assign it directly. Albeit I could/should have added a comment. > After re-checking devm_drm_of_get_bridge(), as I wrote on the other thread > you pointed to, you should call drm_bridge_get(): > > - pdfc->bridge.next_bridge = next_bridge; > + pdfc->bridge.next_bridge = drm_bridge_get(next_bridge); > > Marco, you can keep my R-by if you resend with just this change. > > Sorry about the confusion here. > > As mention on the other thread, devm_drm_of_get_bridge() is unable to > support bridge hotplug. So it should be deprecated, but as of now there is > no alternative. Sorry I need a bit more context. What's the issue? How can I trigger the issue? Why is bridge hotplug required at this stage? Why is only this bridge affecte by the hotplug issue? Regards, Marco > > Luca > > -- > Luca Ceresoli, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com > -- #gernperDu #CallMeByMyFirstName Pengutronix e.K. | | Steuerwalder Str. 21 | https://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
