OMAP: DSS2: move run_test()
authorTomi Valkeinen <tomi.valkeinen@nokia.com>
Fri, 8 Jan 2010 14:21:28 +0000 (16:21 +0200)
committerTomi Valkeinen <tomi.valkeinen@nokia.com>
Wed, 24 Feb 2010 12:31:26 +0000 (14:31 +0200)
Move run_test() from omap_dss_device to omap_dss_driver.

This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
arch/arm/plat-omap/include/plat/display.h
drivers/video/omap2/displays/panel-taal.c
drivers/video/omap2/dss/dsi.c
drivers/video/omap2/omapfb/omapfb-ioctl.c

index 0022f6c..fa27d68 100644 (file)
@@ -495,7 +495,6 @@ struct omap_dss_device {
        bool (*get_mirror)(struct omap_dss_device *dssdev);
        int (*set_mirror)(struct omap_dss_device *dssdev, bool enable);
 
-       int (*run_test)(struct omap_dss_device *dssdev, int test);
        int (*memory_read)(struct omap_dss_device *dssdev,
                        void *buf, size_t size,
                        u16 x, u16 y, u16 w, u16 h);
index 0aaaa8a..e6d0954 100644 (file)
@@ -820,17 +820,23 @@ static int taal_run_test(struct omap_dss_device *dssdev, int test_num)
        u8 id1, id2, id3;
        int r;
 
+       dsi_bus_lock();
+
        r = taal_dcs_read_1(DCS_GET_ID1, &id1);
        if (r)
-               return r;
+               goto err;
        r = taal_dcs_read_1(DCS_GET_ID2, &id2);
        if (r)
-               return r;
+               goto err;
        r = taal_dcs_read_1(DCS_GET_ID3, &id3);
        if (r)
-               return r;
+               goto err;
 
+       dsi_bus_unlock();
        return 0;
+err:
+       dsi_bus_unlock();
+       return r;
 }
 
 static int taal_memory_read(struct omap_dss_device *dssdev,
index 65c062f..f01c9ca 100644 (file)
@@ -3584,43 +3584,6 @@ static bool dsi_display_get_mirror(struct omap_dss_device *dssdev)
        return dssdev->driver->get_mirror(dssdev);
 }
 
-static int dsi_display_run_test(struct omap_dss_device *dssdev, int test_num)
-{
-       int r;
-
-       if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
-               return -EIO;
-
-       DSSDBGF("%d", test_num);
-
-       dsi_bus_lock();
-
-       /* run test first in low speed mode */
-       omapdss_dsi_vc_enable_hs(0, 0);
-
-       if (dssdev->driver->run_test) {
-               r = dssdev->driver->run_test(dssdev, test_num);
-               if (r)
-                       goto end;
-       }
-
-       /* then in high speed */
-       omapdss_dsi_vc_enable_hs(0, 1);
-
-       if (dssdev->driver->run_test) {
-               r = dssdev->driver->run_test(dssdev, test_num);
-               if (r)
-                       goto end;
-       }
-
-end:
-       omapdss_dsi_vc_enable_hs(0, 1);
-
-       dsi_bus_unlock();
-
-       return r;
-}
-
 static int dsi_display_memory_read(struct omap_dss_device *dssdev,
                void *buf, size_t size,
                u16 x, u16 y, u16 w, u16 h)
@@ -3683,7 +3646,6 @@ int dsi_init_display(struct omap_dss_device *dssdev)
        dssdev->get_mirror = dsi_display_get_mirror;
        dssdev->set_mirror = dsi_display_set_mirror;
 
-       dssdev->run_test = dsi_display_run_test;
        dssdev->memory_read = dsi_display_memory_read;
 
        /* XXX these should be figured out dynamically */
index 33fc145..6dc9b5c 100644 (file)
@@ -670,12 +670,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
                        r = -EFAULT;
                        break;
                }
-               if (!display || !display->run_test) {
+               if (!display || !display->driver->run_test) {
                        r = -EINVAL;
                        break;
                }
 
-               r = display->run_test(display, p.test_num);
+               r = display->driver->run_test(display, p.test_num);
 
                break;
 
@@ -685,12 +685,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
                        r = -EFAULT;
                        break;
                }
-               if (!display || !display->run_test) {
+               if (!display || !display->driver->run_test) {
                        r = -EINVAL;
                        break;
                }
 
-               r = display->run_test(display, p.test_num);
+               r = display->driver->run_test(display, p.test_num);
 
                break;