Hi, On Sun, Jun 5, 2022 at 9:47 PM Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> wrote: > > Panels usually call drm_connector_set_panel_orientation(), which is > later than drm/kms driver calling drm_dev_register(). This leads to a > WARN(). > > The orientation property is known earlier. For example, some panels > parse the property through device tree during probe. > > Add an API to return the property from panel to drm/kms driver, so the > drivers are able to call drm_connector_set_panel_orientation() before > drm_dev_register(). > > Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> > Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > v2->v3: no change > --- > drivers/gpu/drm/drm_panel.c | 8 ++++++++ > include/drm/drm_panel.h | 10 ++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c > index f634371c717a..4a512ca80673 100644 > --- a/drivers/gpu/drm/drm_panel.c > +++ b/drivers/gpu/drm/drm_panel.c > @@ -223,6 +223,14 @@ int drm_panel_get_modes(struct drm_panel *panel, > } > EXPORT_SYMBOL(drm_panel_get_modes); > > +enum drm_panel_orientation drm_panel_get_orientation(struct drm_panel *panel) > +{ > + if (panel && panel->funcs && panel->funcs->get_orientation) > + return panel->funcs->get_orientation(panel); > + > + return DRM_MODE_PANEL_ORIENTATION_UNKNOWN; > +} > +EXPORT_SYMBOL(drm_panel_get_orientation); > #ifdef CONFIG_OF nit: there used to be a blank line before the #ifdef but there no longer is after your patch. Other than that... Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>