diff options
-rw-r--r-- | drivers/video/omap2/displays/panel-generic-dpi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c index 8529980bcc5..1a6ffd11cb5 100644 --- a/drivers/video/omap2/displays/panel-generic-dpi.c +++ b/drivers/video/omap2/displays/panel-generic-dpi.c @@ -243,6 +243,9 @@ struct panel_drv_data { struct panel_config *panel_config; }; +static bool generic_dpi_panel_is_detected(struct omap_dss_device *dssdev, + bool force); + static inline struct panel_generic_dpi_data *get_panel_data(const struct omap_dss_device *dssdev) { @@ -353,6 +356,13 @@ static int generic_dpi_panel_enable(struct omap_dss_device *dssdev) { int r = 0; + /* Avoid enabling the panel if there is none around */ + if (!generic_dpi_panel_is_detected(dssdev, false)) { + printk(KERN_ERR "Not enabling generic panel as no " + "connector is detected\n"); + return 1; + } + r = generic_dpi_panel_power_on(dssdev); if (r) return r; |