On Thu Dec 18, 2025 at 2:34 PM CET, Ludovic Desroches wrote: > The switch from devm_kzalloc() + drm_panel_init() to > devm_drm_panel_alloc() introduced a regression. > > Several panel descriptors do not set connector_type. For those panels, > panel_simple_probe() used to compute a connector type (currently DPI as a > fallback) and pass that value to drm_panel_init(). After the conversion > to devm_drm_panel_alloc(), the call unconditionally used > desc->connector_type instead, ignoring the computed fallback and > potentially passing DRM_MODE_CONNECTOR_Unknown, which > drm_panel_bridge_add() does not allow. > > Move the connector_type validation / fallback logic before the > devm_drm_panel_alloc() call and pass the computed connector_type to > devm_drm_panel_alloc(), so panels without an explicit connector_type > once again get the DPI default. > > Signed-off-by: Ludovic Desroches <[email protected]> > Fixes: de04bb0089a9 ("drm/panel/panel-simple: Use the new allocation in place > of devm_kzalloc()") > Cc: [email protected]
Reviewed-by: Luca Ceresoli <[email protected]> Side note: this function is very long, it would be nice e.g. to move the big mistake-checking switch (connector_type) to a function. Of course that would be a separate series, after this fix is done. Luca -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
