summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorAndy Doan <andy.doan@linaro.org>2011-07-24 20:59:11 +0100
committerAndy Green <andy.green@linaro.org>2011-08-25 07:37:35 +0100
commita414288455705638948c53528d5d6ebbda716d44 (patch)
tree9854d05e2e3d30b3c4a5cc3eae05655a96d760c3 /drivers/video
parent47e62b51d58097787db33a2b11b3e2e3257adf72 (diff)
OMAP: DSS: ensure default panel is enabled
In the event a panel is not probable (no i2c_bus_num), we should make sure that the default panel passed to the kernel marked enabled Adapted to be more paranoid and work in Panda case. Signed-off-by: Andy Doan <andy.doan@linaro.org> Signed-off-by: Andy Green <andy.green@linaro.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/displays/panel-generic-dpi.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
index 1a6ffd11cb5..273df3f7041 100644
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
@@ -308,6 +308,7 @@ static int generic_dpi_panel_probe(struct omap_dss_device *dssdev)
struct panel_config *panel_config = NULL;
struct panel_drv_data *drv_data = NULL;
int i;
+ const char *default_disp_name;
dev_dbg(&dssdev->dev, "probe\n");
@@ -338,6 +339,16 @@ static int generic_dpi_panel_probe(struct omap_dss_device *dssdev)
dev_set_drvdata(&dssdev->dev, drv_data);
+ default_disp_name = omap_dss_get_def_disp();
+
+ if (!panel_data->i2c_bus_num && dssdev->name && default_disp_name &&
+ strcmp(dssdev->name, default_disp_name) == 0) {
+ dev_dbg(&dssdev->dev, "manually enabling %s",
+ dssdev->name);
+ dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
+ dssdev->activate_after_resume = true;
+ }
+
return 0;
}