OMAPDSS: hide manager's enable/disable()
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 4 Nov 2011 08:22:46 +0000 (10:22 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 2 Dec 2011 06:54:31 +0000 (08:54 +0200)
omap_overlay_manager struct contains enable() and disable() functions.
However, these are only meant to be used from inside omapdss, and thus
it's bad to expose the functions.

This patch adds dss_mgr_enable() and dss_mgr_disable() functions to
apply.c, which handle enabling and disabling the output.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/apply.c
drivers/video/omap2/dss/dpi.c
drivers/video/omap2/dss/dsi.c
drivers/video/omap2/dss/dss.h
drivers/video/omap2/dss/hdmi.c
drivers/video/omap2/dss/manager.c
drivers/video/omap2/dss/sdi.c
drivers/video/omap2/dss/venc.c
include/video/omapdss.h

index c634c986293d39cedf9d0f50a44b1d128319b1cf..414cbd907239db603b0b98da609b271f9336fe86 100644 (file)
@@ -424,7 +424,7 @@ void dss_mgr_start_update(struct omap_overlay_manager *mgr)
                mc->shadow_dirty = false;
        }
 
-       mgr->enable(mgr);
+       dispc_mgr_enable(mgr->id, true);
 }
 
 static void dss_apply_irq_handler(void *data, u32 mask)
@@ -654,3 +654,13 @@ int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
        return r;
 }
 
+void dss_mgr_enable(struct omap_overlay_manager *mgr)
+{
+       dispc_mgr_enable(mgr->id, true);
+}
+
+void dss_mgr_disable(struct omap_overlay_manager *mgr)
+{
+       dispc_mgr_enable(mgr->id, false);
+}
+
index 976ac23dcd0cc3e25f3b400d62e20899911b966d..79c4df3c9a881b319da36d8a7c1bc2a27af68bbb 100644 (file)
@@ -223,7 +223,7 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
 
        mdelay(2);
 
-       dssdev->manager->enable(dssdev->manager);
+       dss_mgr_enable(dssdev->manager);
 
        return 0;
 
@@ -249,7 +249,7 @@ EXPORT_SYMBOL(omapdss_dpi_display_enable);
 
 void omapdss_dpi_display_disable(struct omap_dss_device *dssdev)
 {
-       dssdev->manager->disable(dssdev->manager);
+       dss_mgr_disable(dssdev->manager);
 
        if (dpi_use_dsi_pll(dssdev)) {
                dss_select_dispc_clk_source(OMAP_DSS_CLK_SRC_FCK);
index 101e3b8e178b9564d45b49fcd2bf2f24b59f82f0..9358afa2a77e3ee4ac5d675247c78974a5468431 100644 (file)
@@ -4010,7 +4010,7 @@ int dsi_video_mode_enable(struct omap_dss_device *dssdev, int channel)
        dsi_vc_enable(dsidev, channel, true);
        dsi_if_enable(dsidev, true);
 
-       dssdev->manager->enable(dssdev->manager);
+       dss_mgr_enable(dssdev->manager);
 
        return 0;
 }
@@ -4029,7 +4029,7 @@ void dsi_video_mode_disable(struct omap_dss_device *dssdev, int channel)
        dsi_vc_enable(dsidev, channel, true);
        dsi_if_enable(dsidev, true);
 
-       dssdev->manager->disable(dssdev->manager);
+       dss_mgr_disable(dssdev->manager);
 }
 EXPORT_SYMBOL(dsi_video_mode_disable);
 
index e6f961aa4362dfeb1b51e0519eafcebb732e46cc..03c724475bcca3d9809f28204008ce74b5f5ca94 100644 (file)
@@ -169,6 +169,8 @@ int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr);
 int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl);
 void dss_mgr_start_update(struct omap_overlay_manager *mgr);
 int omap_dss_mgr_apply(struct omap_overlay_manager *mgr);
+void dss_mgr_enable(struct omap_overlay_manager *mgr);
+void dss_mgr_disable(struct omap_overlay_manager *mgr);
 
 /* display */
 int dss_suspend_all_devices(void);
index c56378c555b0907255048e32384c1b5b191bc14f..e245a2bbba9db147307f1e63767ac9b66bc52ee6 100644 (file)
@@ -333,7 +333,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
        if (r)
                return r;
 
-       dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 0);
+       dss_mgr_disable(dssdev->manager);
 
        p = &dssdev->panel.timings;
 
@@ -387,7 +387,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
 
        hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 1);
 
-       dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 1);
+       dss_mgr_enable(dssdev->manager);
 
        return 0;
 err:
@@ -397,7 +397,7 @@ err:
 
 static void hdmi_power_off(struct omap_dss_device *dssdev)
 {
-       dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 0);
+       dss_mgr_disable(dssdev->manager);
 
        hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 0);
        hdmi.ip_data.ops->phy_disable(&hdmi.ip_data);
index f9e691b4ba4a53cb990bfdca61647bd07fae8fda..780a307c815e67de394800cf555b985c9f699435 100644 (file)
@@ -585,18 +585,6 @@ static void omap_dss_mgr_get_info(struct omap_overlay_manager *mgr,
        *info = mgr->info;
 }
 
-static int dss_mgr_enable(struct omap_overlay_manager *mgr)
-{
-       dispc_mgr_enable(mgr->id, 1);
-       return 0;
-}
-
-static int dss_mgr_disable(struct omap_overlay_manager *mgr)
-{
-       dispc_mgr_enable(mgr->id, 0);
-       return 0;
-}
-
 static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
 {
        ++num_managers;
@@ -640,9 +628,6 @@ int dss_init_overlay_managers(struct platform_device *pdev)
                mgr->wait_for_go = &dss_mgr_wait_for_go;
                mgr->wait_for_vsync = &dss_mgr_wait_for_vsync;
 
-               mgr->enable = &dss_mgr_enable;
-               mgr->disable = &dss_mgr_disable;
-
                mgr->caps = 0;
                mgr->supported_displays =
                        dss_feat_get_supported_displays(mgr->id);
index 40305ad7841e26971ca8e88035af7385a85ce260..02da8beb730479d4de055dc9f3fe310d15e8f827 100644 (file)
@@ -123,7 +123,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
                goto err_sdi_enable;
        mdelay(2);
 
-       dssdev->manager->enable(dssdev->manager);
+       dss_mgr_enable(dssdev->manager);
 
        return 0;
 
@@ -145,7 +145,7 @@ EXPORT_SYMBOL(omapdss_sdi_display_enable);
 
 void omapdss_sdi_display_disable(struct omap_dss_device *dssdev)
 {
-       dssdev->manager->disable(dssdev->manager);
+       dss_mgr_disable(dssdev->manager);
 
        dss_sdi_disable();
 
index 7533458ba4d24effd08aced87cff7c2ff47eb418..101fcd77a50d8b7845c2c664688851aa9f57633c 100644 (file)
@@ -447,7 +447,7 @@ static void venc_power_on(struct omap_dss_device *dssdev)
        if (dssdev->platform_enable)
                dssdev->platform_enable(dssdev);
 
-       dssdev->manager->enable(dssdev->manager);
+       dss_mgr_enable(dssdev->manager);
 }
 
 static void venc_power_off(struct omap_dss_device *dssdev)
@@ -455,7 +455,7 @@ static void venc_power_off(struct omap_dss_device *dssdev)
        venc_write_reg(VENC_OUTPUT_CONTROL, 0);
        dss_set_dac_pwrdn_bgz(0);
 
-       dssdev->manager->disable(dssdev->manager);
+       dss_mgr_disable(dssdev->manager);
 
        if (dssdev->platform_disable)
                dssdev->platform_disable(dssdev);
index 60bf4260253b38c50604c26e12bdc0a448d95123..04741cd4c32a516a10c070ea35948ce61789bfd2 100644 (file)
@@ -448,9 +448,6 @@ struct omap_overlay_manager {
        int (*apply)(struct omap_overlay_manager *mgr);
        int (*wait_for_go)(struct omap_overlay_manager *mgr);
        int (*wait_for_vsync)(struct omap_overlay_manager *mgr);
-
-       int (*enable)(struct omap_overlay_manager *mgr);
-       int (*disable)(struct omap_overlay_manager *mgr);
 };
 
 struct omap_dss_device {