On Mon, Jun 6, 2022 at 10:21 PM Doug Anderson <dianders@xxxxxxxxxxxx> wrote: > > 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. > Added in v4. > Other than that... > > Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>