summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/omapdrm/dss/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss/output.c')
-rw-r--r--drivers/gpu/drm/omapdrm/dss/output.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c
index 2a53025c2fde..10a9ee5cdc61 100644
--- a/drivers/gpu/drm/omapdrm/dss/output.c
+++ b/drivers/gpu/drm/omapdrm/dss/output.c
@@ -22,6 +22,8 @@
#include <linux/of.h>
#include <linux/of_graph.h>
+#include <drm/drm_panel.h>
+
#include "dss.h"
#include "omapdss.h"
@@ -37,6 +39,9 @@ int omapdss_device_init_output(struct omap_dss_device *out)
out->next = omapdss_find_device_by_node(remote_node);
out->bridge = of_drm_find_bridge(remote_node);
+ out->panel = of_drm_find_panel(remote_node);
+ if (IS_ERR(out->panel))
+ out->panel = NULL;
of_node_put(remote_node);
@@ -47,7 +52,7 @@ int omapdss_device_init_output(struct omap_dss_device *out)
return -EINVAL;
}
- return out->next || out->bridge ? 0 : -EPROBE_DEFER;
+ return out->next || out->bridge || out->panel ? 0 : -EPROBE_DEFER;
}
EXPORT_SYMBOL(omapdss_device_init_output);