diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 75ce5af3502b3f..fa125167c01814 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -2697,10 +2697,15 @@ int drm_connector_set_orientation_from_panel( { enum drm_panel_orientation orientation; - if (panel && panel->funcs && panel->funcs->get_orientation) + if (panel && panel->funcs && panel->funcs->get_orientation) { orientation = panel->funcs->get_orientation(panel); - else + } else { orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN; + if (panel) { + of_drm_get_panel_orientation(panel->dev->of_node, + &orientation); + } + } return drm_connector_set_panel_orientation(connector, orientation); } diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 035ee7a2f8a0f3..db0797257086ad 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -430,20 +430,12 @@ static int panel_simple_get_timings(struct drm_panel *panel, return p->desc->num_timings; } -static enum drm_panel_orientation panel_simple_get_orientation(struct drm_panel *panel) -{ - //struct panel_simple *p = to_panel_simple(panel); - - return DRM_MODE_PANEL_ORIENTATION_UNKNOWN; -} - static const struct drm_panel_funcs panel_simple_funcs = { .disable = panel_simple_disable, .unprepare = panel_simple_unprepare, .prepare = panel_simple_prepare, .enable = panel_simple_enable, .get_modes = panel_simple_get_modes, - .get_orientation = panel_simple_get_orientation, .get_timings = panel_simple_get_timings, };