From: Roger Quadros <[email protected]>

Patch-mainline: 2.6.35?
Git-repo: 
http://www.gitorious.org/linux-omap-dss2/linux/commit/36b33efe80eb07e3447107c2bdba3c674c10a41a

This allows us to disable DPI on systems that do not have it

Signed-off-by: Roger Quadros <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
---
 drivers/video/omap2/dss/Kconfig   |    6 ++++++
 drivers/video/omap2/dss/Makefile  |    3 ++-
 drivers/video/omap2/dss/core.c    |    4 ++++
 drivers/video/omap2/dss/display.c |    4 ++++
 4 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig
index c63ce76..cbe8ea0 100644
--- a/drivers/video/omap2/dss/Kconfig
+++ b/drivers/video/omap2/dss/Kconfig
@@ -32,6 +32,12 @@ config OMAP2_DSS_COLLECT_IRQ_STATS
        help
          Collect DSS IRQ statistics, printable via debugfs
 
+config OMAP2_DSS_DPI
+       bool "DPI support"
+       default y
+       help
+         DPI Interface. This is the Parallel Display Interface.
+
 config OMAP2_DSS_RFBI
        bool "RFBI support"
         default n
diff --git a/drivers/video/omap2/dss/Makefile b/drivers/video/omap2/dss/Makefile
index 980c72c..d71b5d9 100644
--- a/drivers/video/omap2/dss/Makefile
+++ b/drivers/video/omap2/dss/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_OMAP2_DSS) += omapdss.o
-omapdss-y := core.o dss.o dispc.o dpi.o display.o manager.o overlay.o
+omapdss-y := core.o dss.o dispc.o display.o manager.o overlay.o
+omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o
 omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
 omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
 omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
index 82918ee..0988781 100644
--- a/drivers/video/omap2/dss/core.c
+++ b/drivers/video/omap2/dss/core.c
@@ -473,11 +473,13 @@ static int omap_dss_probe(struct platform_device *pdev)
        }
 #endif
 
+#ifdef CONFIG_OMAP2_DSS_DPI
        r = dpi_init();
        if (r) {
                DSSERR("Failed to initialize dpi\n");
                goto fail0;
        }
+#endif
 
        r = dispc_init();
        if (r) {
@@ -548,7 +550,9 @@ static int omap_dss_remove(struct platform_device *pdev)
        venc_exit();
 #endif
        dispc_exit();
+#ifdef CONFIG_OMAP2_DSS_DPI
        dpi_exit();
+#endif
 #ifdef CONFIG_OMAP2_DSS_RFBI
        rfbi_exit();
 #endif
diff --git a/drivers/video/omap2/dss/display.c 
b/drivers/video/omap2/dss/display.c
index 3b92b84..2150f12 100644
--- a/drivers/video/omap2/dss/display.c
+++ b/drivers/video/omap2/dss/display.c
@@ -405,7 +405,9 @@ void dss_init_device(struct platform_device *pdev,
        int r;
 
        switch (dssdev->type) {
+#ifdef CONFIG_OMAP2_DSS_DPI
        case OMAP_DISPLAY_TYPE_DPI:
+#endif
 #ifdef CONFIG_OMAP2_DSS_RFBI
        case OMAP_DISPLAY_TYPE_DBI:
 #endif
@@ -430,9 +432,11 @@ void dss_init_device(struct platform_device *pdev,
        dssdev->wait_vsync = default_wait_vsync;
 
        switch (dssdev->type) {
+#ifdef CONFIG_OMAP2_DSS_DPI
        case OMAP_DISPLAY_TYPE_DPI:
                r = dpi_init_display(dssdev);
                break;
+#endif
 #ifdef CONFIG_OMAP2_DSS_RFBI
        case OMAP_DISPLAY_TYPE_DBI:
                r = rfbi_init_display(dssdev);
-- 
1.6.0.4

_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to