We are removing the uses of 'struct omap_overlay_manager'. This patch
changes SDI driver to use 'omap_channel' instead.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
---
 drivers/gpu/drm/omapdrm/dss/sdi.c | 33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c 
b/drivers/gpu/drm/omapdrm/dss/sdi.c
index dee40ba9a296..cd6d3bfb041d 100644
--- a/drivers/gpu/drm/omapdrm/dss/sdi.c
+++ b/drivers/gpu/drm/omapdrm/dss/sdi.c
@@ -114,7 +114,7 @@ static int sdi_calc_clock_div(unsigned long pclk,

 static void sdi_config_lcd_manager(struct omap_dss_device *dssdev)
 {
-       struct omap_overlay_manager *mgr = sdi.output.manager;
+       enum omap_channel channel = dssdev->dispc_channel;

        sdi.mgr_config.io_pad_mode = DSS_IO_PAD_MODE_BYPASS;

@@ -124,12 +124,13 @@ static void sdi_config_lcd_manager(struct omap_dss_device 
*dssdev)
        sdi.mgr_config.video_port_width = 24;
        sdi.mgr_config.lcden_sig_polarity = 1;

-       dss_mgr_set_lcd_config(mgr->id, &sdi.mgr_config);
+       dss_mgr_set_lcd_config(channel, &sdi.mgr_config);
 }

 static int sdi_display_enable(struct omap_dss_device *dssdev)
 {
        struct omap_dss_device *out = &sdi.output;
+       enum omap_channel channel = dssdev->dispc_channel;
        struct omap_video_timings *t = &sdi.timings;
        unsigned long fck;
        struct dispc_clock_info dispc_cinfo;
@@ -169,7 +170,7 @@ static int sdi_display_enable(struct omap_dss_device 
*dssdev)
        }


-       dss_mgr_set_timings(out->manager->id, t);
+       dss_mgr_set_timings(channel, t);

        r = dss_set_fck_rate(fck);
        if (r)
@@ -188,7 +189,7 @@ static int sdi_display_enable(struct omap_dss_device 
*dssdev)
         * need to care about the shadow register mechanism for pck-free. The
         * exact reason for this is unknown.
         */
-       dispc_mgr_set_clock_div(out->manager->id, &sdi.mgr_config.clock_info);
+       dispc_mgr_set_clock_div(channel, &sdi.mgr_config.clock_info);

        dss_sdi_init(sdi.datapairs);
        r = dss_sdi_enable();
@@ -196,7 +197,7 @@ static int sdi_display_enable(struct omap_dss_device 
*dssdev)
                goto err_sdi_enable;
        mdelay(2);

-       r = dss_mgr_enable(out->manager->id);
+       r = dss_mgr_enable(channel);
        if (r)
                goto err_mgr_enable;

@@ -216,9 +217,9 @@ err_reg_enable:

 static void sdi_display_disable(struct omap_dss_device *dssdev)
 {
-       struct omap_overlay_manager *mgr = sdi.output.manager;
+       enum omap_channel channel = dssdev->dispc_channel;

-       dss_mgr_disable(mgr->id);
+       dss_mgr_disable(channel);

        dss_sdi_disable();

@@ -242,9 +243,9 @@ static void sdi_get_timings(struct omap_dss_device *dssdev,
 static int sdi_check_timings(struct omap_dss_device *dssdev,
                        struct omap_video_timings *timings)
 {
-       struct omap_overlay_manager *mgr = sdi.output.manager;
+       enum omap_channel channel = dssdev->dispc_channel;

-       if (!dispc_mgr_timings_ok(mgr->id, timings))
+       if (!dispc_mgr_timings_ok(channel, timings))
                return -EINVAL;

        if (timings->pixelclock == 0)
@@ -280,18 +281,14 @@ static int sdi_init_regulator(void)
 static int sdi_connect(struct omap_dss_device *dssdev,
                struct omap_dss_device *dst)
 {
-       struct omap_overlay_manager *mgr;
+       enum omap_channel channel = dssdev->dispc_channel;
        int r;

        r = sdi_init_regulator();
        if (r)
                return r;

-       mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel);
-       if (!mgr)
-               return -ENODEV;
-
-       r = dss_mgr_connect(mgr->id, dssdev);
+       r = dss_mgr_connect(channel, dssdev);
        if (r)
                return r;

@@ -299,7 +296,7 @@ static int sdi_connect(struct omap_dss_device *dssdev,
        if (r) {
                DSSERR("failed to connect output to new device: %s\n",
                                dst->name);
-               dss_mgr_disconnect(mgr->id, dssdev);
+               dss_mgr_disconnect(channel, dssdev);
                return r;
        }

@@ -309,6 +306,8 @@ static int sdi_connect(struct omap_dss_device *dssdev,
 static void sdi_disconnect(struct omap_dss_device *dssdev,
                struct omap_dss_device *dst)
 {
+       enum omap_channel channel = dssdev->dispc_channel;
+
        WARN_ON(dst != dssdev->dst);

        if (dst != dssdev->dst)
@@ -316,7 +315,7 @@ static void sdi_disconnect(struct omap_dss_device *dssdev,

        omapdss_output_unset_device(dssdev);

-       dss_mgr_disconnect(dssdev->manager->id, dssdev);
+       dss_mgr_disconnect(channel, dssdev);
 }

 static const struct omapdss_sdi_ops sdi_ops = {
-- 
2.5.0

Reply via email to