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

Reply via email to