}
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))
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 */
}
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;