Hi, On Sat, May 26, 2018 at 08:24:34PM +0300, Laurent Pinchart wrote: > The omapdss_component_is_loaded() function test whether a component is > loaded by checking whether it is present in the displays list or the > outputs list. Simplify the implementation by checking for the component > in the global omap_dss_device list. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> -- Sebastian > drivers/gpu/drm/omapdrm/dss/base.c | 22 +++++++++++++++++++--- > drivers/gpu/drm/omapdrm/dss/display.c | 18 ------------------ > drivers/gpu/drm/omapdrm/dss/omapdss.h | 3 --- > drivers/gpu/drm/omapdrm/dss/output.c | 13 ------------- > 4 files changed, 19 insertions(+), 37 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c > index 18b72d7c717a..63fe0a717884 100644 > --- a/drivers/gpu/drm/omapdrm/dss/base.c > +++ b/drivers/gpu/drm/omapdrm/dss/base.c > @@ -71,6 +71,24 @@ void omapdss_device_unregister(struct omap_dss_device *dssdev) > mutex_unlock(&omapdss_devices_lock); > } > > +static bool omapdss_device_is_registered(struct device_node *node) > +{ > + struct omap_dss_device *dssdev; > + bool found = false; > + > + mutex_lock(&omapdss_devices_lock); > + > + list_for_each_entry(dssdev, &omapdss_devices_list, list) { > + if (dssdev->dev->of_node == node) { > + found = true; > + break; > + } > + } > + > + mutex_unlock(&omapdss_devices_lock); > + return found; > +} > + > /* ----------------------------------------------------------------------------- > * Components Handling > */ > @@ -157,9 +175,7 @@ static bool omapdss_component_is_loaded(struct omapdss_comp_node *comp) > { > if (comp->dss_core_component) > return true; > - if (omapdss_component_is_display(comp->node)) > - return true; > - if (omapdss_component_is_output(comp->node)) > + if (omapdss_device_is_registered(comp->node)) > return true; > > return false; > diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c > index eacbbf45f737..383512c8a466 100644 > --- a/drivers/gpu/drm/omapdrm/dss/display.c > +++ b/drivers/gpu/drm/omapdrm/dss/display.c > @@ -72,24 +72,6 @@ void omapdss_unregister_display(struct omap_dss_device *dssdev) > } > EXPORT_SYMBOL(omapdss_unregister_display); > > -bool omapdss_component_is_display(struct device_node *node) > -{ > - struct omap_dss_device *dssdev; > - bool found = false; > - > - mutex_lock(&panel_list_mutex); > - list_for_each_entry(dssdev, &panel_list, panel_list) { > - if (dssdev->dev->of_node == node) { > - found = true; > - goto out; > - } > - } > -out: > - mutex_unlock(&panel_list_mutex); > - return found; > -} > -EXPORT_SYMBOL(omapdss_component_is_display); > - > struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev) > { > if (!try_module_get(dssdev->owner)) > diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h > index e029613509a1..1ccf0c67d308 100644 > --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h > +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h > @@ -737,9 +737,6 @@ struct dispc_ops { > struct dispc_device *dispc_get_dispc(struct dss_device *dss); > const struct dispc_ops *dispc_get_ops(struct dss_device *dss); > > -bool omapdss_component_is_display(struct device_node *node); > -bool omapdss_component_is_output(struct device_node *node); > - > bool omapdss_stack_is_ready(void); > void omapdss_gather_components(struct device *dev); > > diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c > index 1a2d24906edd..7f18153a1bde 100644 > --- a/drivers/gpu/drm/omapdrm/dss/output.c > +++ b/drivers/gpu/drm/omapdrm/dss/output.c > @@ -109,19 +109,6 @@ void omapdss_unregister_output(struct omap_dss_device *out) > } > EXPORT_SYMBOL(omapdss_unregister_output); > > -bool omapdss_component_is_output(struct device_node *node) > -{ > - struct omap_dss_device *out; > - > - list_for_each_entry(out, &output_list, output_list) { > - if (out->dev->of_node == node) > - return true; > - } > - > - return false; > -} > -EXPORT_SYMBOL(omapdss_component_is_output); > - > struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id) > { > struct omap_dss_device *out; > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel