All panels shall report a connector type. panel-simple has a lot of panels with no connector_type, and for these fall back to DPI as the default.
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Thierry Reding thierry.reding@gmail.com Cc: Sam Ravnborg sam@ravnborg.org --- drivers/gpu/drm/panel/panel-simple.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 80388706057e..13c25ee38dbf 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -451,6 +451,7 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) struct panel_simple *panel; struct display_timing dt; struct device_node *ddc; + int connector_type; int err;
panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL); @@ -495,8 +496,13 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) panel_simple_parse_panel_timing_node(dev, panel, &dt); }
- drm_panel_init(&panel->base, dev, &panel_simple_funcs, - desc->connector_type); + /* Default DRM_MODE_CONNECTOR_DPI if no connector_type is set */ + if (desc->connector_type != 0) + connector_type = desc->connector_type; + else + connector_type = DRM_MODE_CONNECTOR_DPI; + + drm_panel_init(&panel->base, dev, &panel_simple_funcs, connector_type);
err = drm_panel_of_backlight(&panel->base); if (err)