On Fri, 02 Jan 2015, Shobhit Kumar <shobhit.kumar@xxxxxxxxx> wrote: > For scenarios where OF is not available, we can use panel identification by > name. > > Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> > --- > drivers/gpu/drm/drm_panel.c | 18 ++++++++++++++++++ > include/drm/drm_panel.h | 3 +++ > 2 files changed, 21 insertions(+) > > diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c > index 2ef988e..773ebd6 100644 > --- a/drivers/gpu/drm/drm_panel.c > +++ b/drivers/gpu/drm/drm_panel.c > @@ -95,6 +95,24 @@ struct drm_panel *of_drm_find_panel(struct device_node *np) > EXPORT_SYMBOL(of_drm_find_panel); > #endif > > +struct drm_panel *name_drm_find_panel(const char *name) > +{ > + struct drm_panel *panel; > + > + mutex_lock(&panel_lock); > + > + list_for_each_entry(panel, &panel_list, list) { > + if (strcmp(panel->name, name) == 0) { > + mutex_unlock(&panel_lock); > + return panel; > + } > + } > + > + mutex_unlock(&panel_lock); > + return NULL; > +} > +EXPORT_SYMBOL(name_drm_find_panel); This patch needs to be sent to drm-devel. The name should probably be something like drm_find_panel_by_name. I have a slightly uneasy feeling about handing out drm_panel pointers (both from here and of_drm_find_panel) without refcounting. If the panel driver gets removed, whoever called the find functions will have a dangling pointer. I supposed this will be discussed on drm-devel. BR, Jani. > + > MODULE_AUTHOR("Thierry Reding <treding@xxxxxxxxxx>"); > MODULE_DESCRIPTION("DRM panel infrastructure"); > MODULE_LICENSE("GPL and additional rights"); > diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h > index 1fbcc96..b120b5d 100644 > --- a/include/drm/drm_panel.h > +++ b/include/drm/drm_panel.h > @@ -74,6 +74,7 @@ struct drm_panel { > struct drm_device *drm; > struct drm_connector *connector; > struct device *dev; > + char name[NAME_MAX]; > > const struct drm_panel_funcs *funcs; > > @@ -137,4 +138,6 @@ static inline struct drm_panel *of_drm_find_panel(struct device_node *np) > } > #endif > > +struct drm_panel *name_drm_find_panel(const char *name); > + > #endif > -- > 1.9.1 > -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx