<debugfs>/omapdss/dispc_irq for DISPC interrupts, and
          <debugfs>/omapdss/dsi_irq for DSI interrupts.
 
+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
 
 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
 
        }
 #endif
 
+#ifdef CONFIG_OMAP2_DSS_DPI
        r = dpi_init(pdev);
        if (r) {
                DSSERR("Failed to initialize dpi\n");
                goto fail0;
        }
+#endif
 
        r = dispc_init();
        if (r) {
        venc_exit();
 #endif
        dispc_exit();
+#ifdef CONFIG_OMAP2_DSS_DPI
        dpi_exit();
+#endif
 #ifdef CONFIG_OMAP2_DSS_RFBI
        rfbi_exit();
 #endif
 
        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
        }
 
        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);