summaryrefslogtreecommitdiff
path: root/drivers/video/omap2/dss
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-03-02 13:47:54 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-03-11 16:46:28 +0300
commit587b5e8269fab583e4e9d2d6bbdc77b289ac78a7 (patch)
treefa322cec486f29d4f31a38e31c2f6bfc82370f1b /drivers/video/omap2/dss
parent277b2881c3c0d97e214487fbd677b0590fb4acf3 (diff)
downloadlinux-587b5e8269fab583e4e9d2d6bbdc77b289ac78a7.tar.xz
OMAP: DSS2: Move DPI & SDI init into DSS plat driver
DPI and SDI are different from the other interfaces as they are not hwmods and there is not platform driver for them. They could be said to be a part of DSS or DISPC modules, although it's not a clear definition. This patch moves DPI and SDI initialization into DSS platform driver, making the code more consistent: omap_dss_probe() only initializes platform drivers now. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss')
-rw-r--r--drivers/video/omap2/dss/core.c19
-rw-r--r--drivers/video/omap2/dss/dss.c17
2 files changed, 16 insertions, 20 deletions
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
index acefe50209fc..8cfedae98211 100644
--- a/drivers/video/omap2/dss/core.c
+++ b/drivers/video/omap2/dss/core.c
@@ -191,12 +191,6 @@ static int omap_dss_probe(struct platform_device *pdev)
goto err_rfbi;
}
- r = dpi_init();
- if (r) {
- DSSERR("Failed to initialize dpi\n");
- goto err_dpi;
- }
-
r = dispc_init_platform_driver();
if (r) {
DSSERR("Failed to initialize dispc platform driver\n");
@@ -210,12 +204,6 @@ static int omap_dss_probe(struct platform_device *pdev)
}
if (cpu_is_omap34xx()) {
- r = sdi_init();
- if (r) {
- DSSERR("Failed to initialize SDI\n");
- goto err_sdi;
- }
-
r = dsi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize DSI platform driver\n");
@@ -255,15 +243,10 @@ err_debugfs:
if (cpu_is_omap34xx())
dsi_uninit_platform_driver();
err_dsi:
- if (cpu_is_omap34xx())
- sdi_exit();
-err_sdi:
venc_uninit_platform_driver();
err_venc:
dispc_uninit_platform_driver();
err_dispc:
- dpi_exit();
-err_dpi:
rfbi_uninit_platform_driver();
err_rfbi:
dss_uninit_platform_driver();
@@ -281,11 +264,9 @@ static int omap_dss_remove(struct platform_device *pdev)
venc_uninit_platform_driver();
dispc_uninit_platform_driver();
- dpi_exit();
rfbi_uninit_platform_driver();
if (cpu_is_omap34xx()) {
dsi_uninit_platform_driver();
- sdi_exit();
}
dss_uninit_platform_driver();
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index 4025a14c5bc1..e5da050bcf85 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -970,9 +970,24 @@ static int omap_dsshw_probe(struct platform_device *pdev)
goto err_dss;
}
+ r = dpi_init();
+ if (r) {
+ DSSERR("Failed to initialize DPI\n");
+ goto err_dpi;
+ }
+
+ r = sdi_init();
+ if (r) {
+ DSSERR("Failed to initialize SDI\n");
+ goto err_sdi;
+ }
+
dss_clk_disable_all_no_ctx();
return 0;
-
+err_sdi:
+ dpi_exit();
+err_dpi:
+ dss_exit();
err_dss:
dss_clk_disable_all_no_ctx();
dss_put_clocks();