Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c79e8d6 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Tomi Valkeinen
Browse files

drm/omap: dss: Functions to check components in the display/output list



The functions can be used to check a component (by it's of_node) if it is
part of the omapdss display or output list. If the component is found, it
means that the driver is loaded.

Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent be2d68c6
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -132,6 +132,24 @@ 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))
+3 −0
Original line number Diff line number Diff line
@@ -936,4 +936,7 @@ struct dispc_ops {
void dispc_set_ops(const struct dispc_ops *o);
const struct dispc_ops *dispc_get_ops(void);

bool omapdss_component_is_display(struct device_node *node);
bool omapdss_component_is_output(struct device_node *node);

#endif /* __OMAP_DRM_DSS_H */
+13 −0
Original line number Diff line number Diff line
@@ -107,6 +107,19 @@ 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, 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;