OMAP: DSS2: Move DPI & SDI init into DSS plat driver
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 2 Mar 2011 10:47:54 +0000 (12:47 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 11 Mar 2011 13:46:28 +0000 (15:46 +0200)
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>
drivers/video/omap2/dss/core.c
drivers/video/omap2/dss/dss.c

index acefe50209fc7fc78ef9e7d5f23dcfdba87e228b..8cfedae982110789bcc179e3c69d7bb73e0ae8c1 100644 (file)
@@ -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();
index 4025a14c5bc120589eccff5daec5f2c7028a0a7c..e5da050bcf8576febc373c692a6926d9152d1562 100644 (file)
@@ -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();