[RESEND][PATCH v2] OMAP: DSS: Adding two APIs for panel-taal: check_timings and set_timings

Mayuresh Janorkar
2011-02-16T13:25:45Z

check_timings and set_timings APIS are not present for panel-taal.

OMAPFB provides a bootarg omapfb.mode for setting mode parameters which include display,
resolution, bits-per-pixel.

OMAPFB expects panel driver to have check_timings and set_timings APIs.
These are checked by omapfb in case we wish to set default mode through bootargs.
e.g.: omapfb.mode="lcd:864x480-16" (display device:width X height - bits per pixel)

omapfb_set_def_mode function in omapfb-main.c essentially needs these functions
otherwise it would return -EINVAL and default mode sent through bootargs
would be ignored.

Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
---
drivers/video/omap2/displays/panel-taal.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index 61026f9..aded08c 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -476,6 +476,31 @@ static void taal_get_timings(struct omap_dss_device *dssdev,
*timings = dssdev->panel.timings;
}

+static void taal_set_timings(struct omap_dss_device *dssdev,
+ struct omap_video_timings *timings)
+{
+ /*
+ * TAAL panel's timing struct has only x_res and y_res
+ * other timing parameters are not set
+ */
+ dssdev->panel.timings.x_res = timings->x_res;
+ dssdev->panel.timings.y_res = timings->y_res;
+}
+
+static int taal_check_timings(struct omap_dss_device *dssdev,
+ struct omap_video_timings *timings)
+{
+ /*
+ * TAAL panel's timing struct has only x_res and y_res
+ * other timing parameters are not set
+ */
+ if (!timings || timings->x_res != dssdev->panel.timings.x_res ||
+ timings->y_res != dssdev->panel.timings.y_res)
+ return -EINVAL;
+
+ return 0;
+}
+
static void taal_get_resolution(struct omap_dss_device *dssdev,
u16 *xres, u16 *yres)
{
@@ -1563,6 +1588,8 @@ static struct omap_dss_driver taal_driver = {
.memory_read = taal_memory_read,

.get_timings = taal_get_timings,
+ .set_timings = taal_set_timings,
+ .check_timings = taal_check_timings,

.driver = {
.name = "taal",
--
1.7.1