OMAPDSS: DPI: Remove cpu_is_xxxx checks
authorChandrabhanu Mahapatra <cmahapatra@ti.com>
Wed, 22 Aug 2012 06:14:06 +0000 (11:44 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 22 Aug 2012 08:43:05 +0000 (11:43 +0300)
The OMAP3 checks have been removed and replaced by a dss feature
FEAT_DPI_USES_VDDS_DSI for cleaner implementation. The patches
"OMAP: DSS2: enable VDDS_DSI when using DPI" (8a2cfea8cc) by Tomi Valkeinen
<tomi.valkeinen@nokia.com> and "ARM: omap: fix oops in
drivers/video/omap2/dss/dpi.c" (4041071571) by Russell King
<rmk+kernel@arm.linux.org.uk> had introduced these checks. As it is evident
from these patches a dependency exists for some DSS pins on VDDS_DSI which is
better shown by dss feature FEAT_DPI_USES_VDDS_DSI.

Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dpi.c
drivers/video/omap2/dss/dss_features.c
drivers/video/omap2/dss/dss_features.h

index f260343e24517c33a5a2325f3805bac76debcd62..25fb8953b80aa202f56fd0c8d1f71d2ffb3dca6b 100644 (file)
@@ -34,6 +34,7 @@
 #include <plat/cpu.h>
 
 #include "dss.h"
+#include "dss_features.h"
 
 static struct {
        struct regulator *vdds_dsi_reg;
@@ -175,7 +176,7 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
 
        mutex_lock(&dpi.lock);
 
-       if (cpu_is_omap34xx() && !dpi.vdds_dsi_reg) {
+       if (dss_has_feature(FEAT_DPI_USES_VDDS_DSI) && !dpi.vdds_dsi_reg) {
                DSSERR("no VDSS_DSI regulator\n");
                r = -ENODEV;
                goto err_no_reg;
@@ -193,7 +194,7 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
                goto err_start_dev;
        }
 
-       if (cpu_is_omap34xx()) {
+       if (dss_has_feature(FEAT_DPI_USES_VDDS_DSI)) {
                r = regulator_enable(dpi.vdds_dsi_reg);
                if (r)
                        goto err_reg_enable;
@@ -239,7 +240,7 @@ err_dsi_pll_init:
 err_get_dsi:
        dispc_runtime_put();
 err_get_dispc:
-       if (cpu_is_omap34xx())
+       if (dss_has_feature(FEAT_DPI_USES_VDDS_DSI))
                regulator_disable(dpi.vdds_dsi_reg);
 err_reg_enable:
        omap_dss_stop_device(dssdev);
@@ -265,7 +266,7 @@ void omapdss_dpi_display_disable(struct omap_dss_device *dssdev)
 
        dispc_runtime_put();
 
-       if (cpu_is_omap34xx())
+       if (dss_has_feature(FEAT_DPI_USES_VDDS_DSI))
                regulator_disable(dpi.vdds_dsi_reg);
 
        omap_dss_stop_device(dssdev);
@@ -362,7 +363,8 @@ static int __init dpi_init_display(struct omap_dss_device *dssdev)
 {
        DSSDBG("init_display\n");
 
-       if (cpu_is_omap34xx() && dpi.vdds_dsi_reg == NULL) {
+       if (dss_has_feature(FEAT_DPI_USES_VDDS_DSI) &&
+                                       dpi.vdds_dsi_reg == NULL) {
                struct regulator *vdds_dsi;
 
                vdds_dsi = dss_get_vdds_dsi();
index 938709724f0cda2f6201c52b9548410e449eab49..2fe39d65502fec775cc66322bfef59f8d273b272 100644 (file)
@@ -373,6 +373,7 @@ static const enum dss_feat_id omap3430_dss_feat_list[] = {
        FEAT_ALPHA_FIXED_ZORDER,
        FEAT_FIFO_MERGE,
        FEAT_OMAP3_DSI_FIFO_BUG,
+       FEAT_DPI_USES_VDDS_DSI,
 };
 
 static const enum dss_feat_id omap3630_dss_feat_list[] = {
index 996ffcbfed58f4991b98ce7c34971dd0a400dba2..26d43a4b9812d4e096a311d3a0c64b2e79aaa485 100644 (file)
@@ -50,6 +50,7 @@ enum dss_feat_id {
        FEAT_DSI_VC_OCP_WIDTH,
        FEAT_DSI_REVERSE_TXCLKESC,
        FEAT_DSI_GNQ,
+       FEAT_DPI_USES_VDDS_DSI,
        FEAT_HDMI_CTS_SWMODE,
        FEAT_HDMI_AUDIO_USE_MCLK,
        FEAT_HANDLE_UV_SEPARATE,