On Fri, Jun 12, 2026 at 02:44:43PM +0200, Luca Ceresoli wrote: > On Mon Jun 8, 2026 at 1:46 PM CEST, Maxime Ripard wrote: > > On Tue, May 19, 2026 at 12:37:32PM +0200, Luca Ceresoli wrote: > >> Currently the drm_bridge_connector has an embedded drm_connector, so their > >> allocation lifetimes are tied to each other. This is insufficient to > >> support DRM bridge hotplugging, which requires the connector to be added > >> and removed dynamically at runtime multiple times based on hotplug/unplug > >> events while the drm_bridge_connector is persistent. > >> > >> Moreover the drm_connector is exposed to user space and thus an ongoing > >> operation (e.g. an ioctl) might last for an arbitrarily long time even > >> after the hardware gets removed. This means a new connector might have to > >> be added when the previous one is still referenced by user space. > >> > >> In preparation to handle hotplug, allocate the drm-connector dynamically, > >> to allow: > >> > >> * creating and destroying a connector multiple times during a single > >> drm_bridge_connector lifetime > >> * creating a new connector even though the previous one is still in use > >> and thus still refcounted and not yet freed > >> > >> This commit does not introduce the actions in the two bullets (it will > >> happen in a later commit), it only moves to dynamic APIs for connector > >> allocation and init. > >> > >> Signed-off-by: Luca Ceresoli <[email protected]> > > > > I think this patch should be split in half, with the switch to using > > destroy first, and then the actual move to the dynamically allocated > > connector API. > > Is it doable? drm_connector_dynamic_init() mandates a .destroy callback, > drm_connector_init() forbids it.
drmm_connector_init forbids it. drm_connector_init mandates it. Maxime
signature.asc
Description: PGP signature
