struct device *dev;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 
        bool invert_polarity;
 };
 
-static const struct omap_video_timings tvc_pal_timings = {
+static const struct videomode tvc_pal_timings = {
        .hactive        = 720,
        .vactive        = 574,
        .pixelclock     = 13500000,
 }
 
 static void tvc_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void tvc_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int tvc_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
 
 #include "../dss/omapdss.h"
 
-static const struct omap_video_timings dvic_default_timings = {
+static const struct videomode dvic_default_timings = {
        .hactive        = 640,
        .vactive        = 480,
 
        struct omap_dss_device dssdev;
        struct omap_dss_device *in;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 
        struct i2c_adapter *i2c_adapter;
 };
 }
 
 static void dvic_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void dvic_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int dvic_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
 
 #include "../dss/omapdss.h"
 
-static const struct omap_video_timings hdmic_default_timings = {
+static const struct videomode hdmic_default_timings = {
        .hactive        = 640,
        .vactive        = 480,
        .pixelclock     = 25175000,
 
        struct device *dev;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 
        int hpd_gpio;
 };
 }
 
 static void hdmic_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void hdmic_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int hdmic_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
 
        struct gpio_desc *enable_gpio;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 };
 
 #define to_panel_data(x) container_of(x, struct panel_drv_data, dssdev)
 }
 
 static void opa362_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void opa362_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int opa362_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
        int pd_gpio;
        int data_lines;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 };
 
 #define to_panel_data(x) container_of(x, struct panel_drv_data, dssdev)
        dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
 }
 
-static void tfp410_fix_timings(struct omap_video_timings *timings)
+static void tfp410_fix_timings(struct videomode *timings)
 {
        timings->flags |= DISPLAY_FLAGS_DE_HIGH |
                          DISPLAY_FLAGS_PIXDATA_POSEDGE |
 }
 
 static void tfp410_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void tfp410_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int tfp410_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
        struct gpio_desc *ls_oe_gpio;
        struct gpio_desc *hpd_gpio;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 };
 
 #define to_panel_data(x) container_of(x, struct panel_drv_data, dssdev)
 }
 
 static void tpd_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void tpd_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int tpd_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
 
        int data_lines;
 
-       struct omap_video_timings videomode;
+       struct videomode videomode;
 
        /* used for non-DT boot, to be removed */
        int backlight_gpio;
 }
 
 static void panel_dpi_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void panel_dpi_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int panel_dpi_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
        const struct panel_dpi_platform_data *pdata;
        struct panel_drv_data *ddata = platform_get_drvdata(pdev);
        struct omap_dss_device *dssdev, *in;
-       struct videomode vm;
        int r;
 
        pdata = dev_get_platdata(&pdev->dev);
 
        ddata->data_lines = pdata->data_lines;
 
-       videomode_from_timing(pdata->display_timing, &vm);
-       videomode_to_omap_video_timings(&vm, &ddata->videomode);
+       videomode_from_timing(pdata->display_timing, &ddata->videomode);
 
        dssdev = &ddata->dssdev;
        dssdev->name = pdata->name;
        struct omap_dss_device *in;
        int r;
        struct display_timing timing;
-       struct videomode vm;
        struct gpio_desc *gpio;
 
        gpio = devm_gpiod_get_optional(&pdev->dev, "enable", GPIOD_OUT_LOW);
                return r;
        }
 
-       videomode_from_timing(&timing, &vm);
-       videomode_to_omap_video_timings(&vm, &ddata->videomode);
+       videomode_from_timing(&timing, &ddata->videomode);
 
        in = omapdss_of_find_source_for_first_ep(node);
        if (IS_ERR(in)) {
 
        struct omap_dss_device dssdev;
        struct omap_dss_device *in;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 
        struct platform_device *pdev;
 
 
 
 #include "../dss/omapdss.h"
 
-static struct omap_video_timings lb035q02_timings = {
+static struct videomode lb035q02_timings = {
        .hactive = 320,
        .vactive = 240,
 
 
        int data_lines;
 
-       struct omap_video_timings videomode;
+       struct videomode videomode;
 
        struct gpio_desc *enable_gpio;
 };
 }
 
 static void lb035q02_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void lb035q02_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int lb035q02_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
        struct omap_dss_device  dssdev;
        struct omap_dss_device *in;
 
-       struct omap_video_timings videomode;
+       struct videomode videomode;
 
        int data_lines;
 
        { 156, 0x00 }, { 157, 0x00 }, { 2, 0x00 },
 };
 
-static const struct omap_video_timings nec_8048_panel_timings = {
+static const struct videomode nec_8048_panel_timings = {
        .hactive        = LCD_XRES,
        .vactive        = LCD_YRES,
        .pixelclock     = LCD_PIXEL_CLOCK,
 }
 
 static void nec_8048_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void nec_8048_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int nec_8048_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
 
        int data_lines;
 
-       struct omap_video_timings videomode;
+       struct videomode videomode;
 
        struct gpio_desc *resb_gpio;    /* low = reset active min 20 us */
        struct gpio_desc *ini_gpio;     /* high = power on */
        struct gpio_desc *ud_gpio;      /* high = conventional vertical scanning */
 };
 
-static const struct omap_video_timings sharp_ls_timings = {
+static const struct videomode sharp_ls_timings = {
        .hactive = 480,
        .vactive = 640,
 
 }
 
 static void sharp_ls_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void sharp_ls_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int sharp_ls_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
        int reset_gpio;
        int datapairs;
 
-       struct omap_video_timings videomode;
+       struct videomode videomode;
 
        char            *name;
        int             enabled;
        struct backlight_device *bl_dev;
 };
 
-static const struct omap_video_timings acx565akm_panel_timings = {
+static const struct videomode acx565akm_panel_timings = {
        .hactive        = 800,
        .vactive        = 480,
        .pixelclock     = 24000000,
 }
 
 static void acx565akm_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void acx565akm_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int acx565akm_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
 
        int data_lines;
 
-       struct omap_video_timings videomode;
+       struct videomode videomode;
 
        struct spi_device *spi_dev;
 };
 
-static struct omap_video_timings td028ttec1_panel_timings = {
+static struct videomode td028ttec1_panel_timings = {
        .hactive        = 480,
        .vactive        = 640,
        .pixelclock     = 22153000,
 }
 
 static void td028ttec1_panel_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void td028ttec1_panel_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int td028ttec1_panel_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
        struct omap_dss_device  dssdev;
        struct omap_dss_device *in;
 
-       struct omap_video_timings videomode;
+       struct videomode videomode;
 
        int data_lines;
 
        u32 power_on_resume:1;
 };
 
-static const struct omap_video_timings tpo_td043_timings = {
+static const struct videomode tpo_td043_timings = {
        .hactive        = 800,
        .vactive        = 480,
 
 }
 
 static void tpo_td043_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 }
 
 static void tpo_td043_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
 }
 
 static int tpo_td043_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *in = ddata->in;
 
        unsigned long max_lcd_pclk;
        unsigned long max_tv_pclk;
        int (*calc_scaling) (unsigned long pclk, unsigned long lclk,
-               const struct omap_video_timings *mgr_timings,
+               const struct videomode *mgr_timings,
                u16 width, u16 height, u16 out_width, u16 out_height,
                enum omap_color_mode color_mode, bool *five_taps,
                int *x_predecim, int *y_predecim, int *decim_x, int *decim_y,
  * undocumented horizontal position and timing related limitations.
  */
 static int check_horiz_timing_omap3(unsigned long pclk, unsigned long lclk,
-               const struct omap_video_timings *t, u16 pos_x,
+               const struct videomode *t, u16 pos_x,
                u16 width, u16 height, u16 out_width, u16 out_height,
                bool five_taps)
 {
 }
 
 static unsigned long calc_core_clk_five_taps(unsigned long pclk,
-               const struct omap_video_timings *mgr_timings, u16 width,
+               const struct videomode *mgr_timings, u16 width,
                u16 height, u16 out_width, u16 out_height,
                enum omap_color_mode color_mode)
 {
 }
 
 static int dispc_ovl_calc_scaling_24xx(unsigned long pclk, unsigned long lclk,
-               const struct omap_video_timings *mgr_timings,
+               const struct videomode *mgr_timings,
                u16 width, u16 height, u16 out_width, u16 out_height,
                enum omap_color_mode color_mode, bool *five_taps,
                int *x_predecim, int *y_predecim, int *decim_x, int *decim_y,
 }
 
 static int dispc_ovl_calc_scaling_34xx(unsigned long pclk, unsigned long lclk,
-               const struct omap_video_timings *mgr_timings,
+               const struct videomode *mgr_timings,
                u16 width, u16 height, u16 out_width, u16 out_height,
                enum omap_color_mode color_mode, bool *five_taps,
                int *x_predecim, int *y_predecim, int *decim_x, int *decim_y,
 }
 
 static int dispc_ovl_calc_scaling_44xx(unsigned long pclk, unsigned long lclk,
-               const struct omap_video_timings *mgr_timings,
+               const struct videomode *mgr_timings,
                u16 width, u16 height, u16 out_width, u16 out_height,
                enum omap_color_mode color_mode, bool *five_taps,
                int *x_predecim, int *y_predecim, int *decim_x, int *decim_y,
 
 static int dispc_ovl_calc_scaling(unsigned long pclk, unsigned long lclk,
                enum omap_overlay_caps caps,
-               const struct omap_video_timings *mgr_timings,
+               const struct videomode *mgr_timings,
                u16 width, u16 height, u16 out_width, u16 out_height,
                enum omap_color_mode color_mode, bool *five_taps,
                int *x_predecim, int *y_predecim, u16 pos_x,
                u16 out_width, u16 out_height, enum omap_color_mode color_mode,
                u8 rotation, bool mirror, u8 zorder, u8 pre_mult_alpha,
                u8 global_alpha, enum omap_dss_rotation_type rotation_type,
-               bool replication, const struct omap_video_timings *mgr_timings,
+               bool replication, const struct videomode *mgr_timings,
                bool mem_to_mem)
 {
        bool five_taps = true;
 }
 
 int dispc_ovl_setup(enum omap_plane plane, const struct omap_overlay_info *oi,
-               bool replication, const struct omap_video_timings *mgr_timings,
+               bool replication, const struct videomode *mgr_timings,
                bool mem_to_mem)
 {
        int r;
 EXPORT_SYMBOL(dispc_ovl_setup);
 
 int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
-               bool mem_to_mem, const struct omap_video_timings *mgr_timings)
+               bool mem_to_mem, const struct videomode *mgr_timings)
 {
        int r;
        u32 l;
 }
 
 bool dispc_mgr_timings_ok(enum omap_channel channel,
-               const struct omap_video_timings *timings)
+               const struct videomode *timings)
 {
        if (!_dispc_mgr_size_ok(timings->hactive, timings->vactive))
                return false;
 }
 
 static void _dispc_mgr_set_lcd_timings(enum omap_channel channel,
-                                      const struct omap_video_timings *ovt)
+                                      const struct videomode *ovt)
 {
        u32 timing_h, timing_v, l;
        bool onoff, rf, ipc, vs, hs, de;
 
 /* change name to mode? */
 void dispc_mgr_set_timings(enum omap_channel channel,
-               const struct omap_video_timings *timings)
+               const struct videomode *timings)
 {
        unsigned xtot, ytot;
        unsigned long ht, vt;
-       struct omap_video_timings t = *timings;
+       struct videomode t = *timings;
 
        DSSDBG("channel %d xres %u yres %u\n", channel, t.hactive, t.vactive);
 
  */
 
 static const struct dispc_errata_i734_data {
-       struct omap_video_timings timings;
+       struct videomode timings;
        struct omap_overlay_info ovli;
        struct omap_overlay_manager_info mgri;
        struct dss_lcd_mgr_config lcd_conf;
 
 EXPORT_SYMBOL(omapdss_default_get_recommended_bpp);
 
 void omapdss_default_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        *timings = dssdev->panel.timings;
 }
        return NULL;
 }
 EXPORT_SYMBOL(omap_dss_find_device);
-
-void videomode_to_omap_video_timings(const struct videomode *vm,
-               struct omap_video_timings *ovt)
-{
-       memset(ovt, 0, sizeof(*ovt));
-
-       ovt->pixelclock = vm->pixelclock;
-       ovt->hactive = vm->hactive;
-       ovt->hback_porch = vm->hback_porch;
-       ovt->hfront_porch = vm->hfront_porch;
-       ovt->hsync_len = vm->hsync_len;
-       ovt->vactive = vm->vactive;
-       ovt->vback_porch = vm->vback_porch;
-       ovt->vfront_porch = vm->vfront_porch;
-       ovt->vsync_len = vm->vsync_len;
-       ovt->flags = vm->flags;
-}
-EXPORT_SYMBOL(videomode_to_omap_video_timings);
-
-void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
-               struct videomode *vm)
-{
-       memset(vm, 0, sizeof(*vm));
-
-       vm->pixelclock = ovt->pixelclock;
-
-       vm->hactive = ovt->hactive;
-       vm->hback_porch = ovt->hback_porch;
-       vm->hfront_porch = ovt->hfront_porch;
-       vm->hsync_len = ovt->hsync_len;
-       vm->vactive = ovt->vactive;
-       vm->vback_porch = ovt->vback_porch;
-       vm->vfront_porch = ovt->vfront_porch;
-       vm->vsync_len = ovt->vsync_len;
-       vm->flags = ovt->flags;
-}
-EXPORT_SYMBOL(omap_video_timings_to_videomode);
 
 
        struct mutex lock;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
        struct dss_lcd_mgr_config mgr_config;
        int data_lines;
 
 {
        struct omap_dss_device *out = &dpi->output;
        enum omap_channel channel = out->dispc_channel;
-       struct omap_video_timings *t = &dpi->timings;
+       struct videomode *t = &dpi->timings;
        int lck_div = 0, pck_div = 0;
        unsigned long fck = 0;
        unsigned long pck;
 }
 
 static void dpi_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
 
 }
 
 static void dpi_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
 
 }
 
 static int dpi_check_timings(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings)
+                       struct videomode *timings)
 {
        struct dpi_data *dpi = dpi_get_data_from_dssdev(dssdev);
        enum omap_channel channel = dpi->output.dispc_channel;
 
        struct dss_pll_clock_info dsi_cinfo;
        struct dispc_clock_info dispc_cinfo;
 
-       struct omap_video_timings dispc_vm;
+       struct videomode dispc_vm;
        struct omap_dss_dsi_videomode_timings dsi_vm;
 };
 
        unsigned scp_clk_refcount;
 
        struct dss_lcd_mgr_config mgr_config;
-       struct omap_video_timings timings;
+       struct videomode timings;
        enum omap_dss_dsi_pixel_format pix_fmt;
        enum omap_dss_dsi_mode mode;
        struct omap_dss_dsi_videomode_timings vm_timings;
 
        if (dsi->mode == OMAP_DSS_DSI_VIDEO_MODE) {
                int bpp = dsi_get_pixel_size(dsi->pix_fmt);
-               struct omap_video_timings *timings = &dsi->timings;
+               struct videomode *timings = &dsi->timings;
                /*
                 * Don't use line buffers if width is greater than the video
                 * port's line buffer size
        int ddr_clk_pre, ddr_clk_post, enter_hs_mode_lat, exit_hs_mode_lat;
        int tclk_trail, ths_exit, exiths_clk;
        bool ddr_alwon;
-       struct omap_video_timings *timings = &dsi->timings;
+       struct videomode *timings = &dsi->timings;
        int bpp = dsi_get_pixel_size(dsi->pix_fmt);
        int ndl = dsi->num_lanes_used - 1;
        int dsi_fclk_hsdiv = dsi->user_dsi_cinfo.mX[HSDIV_DSI] + 1;
                int vbp = dsi->vm_timings.vbp;
                int window_sync = dsi->vm_timings.window_sync;
                bool hsync_end;
-               struct omap_video_timings *timings = &dsi->timings;
+               struct videomode *timings = &dsi->timings;
                int bpp = dsi_get_pixel_size(dsi->pix_fmt);
                int tl, t_he, width_bytes;
 
 
        /*
         * override interlace, logic level and edge related parameters in
-        * omap_video_timings with default values
+        * videomode with default values
         */
        dsi->timings.flags &= ~DISPLAY_FLAGS_INTERLACED;
        dsi->timings.flags &= ~DISPLAY_FLAGS_HSYNC_LOW;
 #undef TO_DSI_T
 }
 
-static void print_dispc_vm(const char *str, const struct omap_video_timings *t)
+static void print_dispc_vm(const char *str, const struct videomode *t)
 {
        unsigned long pck = t->pixelclock;
        int hact, bl, tot;
 static void print_dsi_dispc_vm(const char *str,
                const struct omap_dss_dsi_videomode_timings *t)
 {
-       struct omap_video_timings vm = { 0 };
+       struct videomode vm = { 0 };
        unsigned long byteclk = t->hsclk / 4;
        unsigned long pck;
        u64 dsi_tput;
                unsigned long pck, void *data)
 {
        struct dsi_clk_calc_ctx *ctx = data;
-       struct omap_video_timings *t = &ctx->dispc_vm;
+       struct videomode *t = &ctx->dispc_vm;
 
        ctx->dispc_cinfo.lck_div = lckd;
        ctx->dispc_cinfo.pck_div = pckd;
        int dispc_htot, dispc_hbl; /* pixels */
        int dsi_htot, dsi_hact, dsi_hbl, hss, hse; /* byteclks */
        int hfp, hsa, hbp;
-       const struct omap_video_timings *req_vm;
-       struct omap_video_timings *dispc_vm;
+       const struct videomode *req_vm;
+       struct videomode *dispc_vm;
        struct omap_dss_dsi_videomode_timings *dsi_vm;
        u64 dsi_tput, dispc_tput;
 
                const struct omap_dss_dsi_config *cfg,
                struct dsi_clk_calc_ctx *ctx)
 {
-       const struct omap_video_timings *t = cfg->timings;
+       const struct videomode *t = cfg->timings;
        unsigned long clkin;
        unsigned long pll_min;
        unsigned long pll_max;
 
                dispc_div_calc_func func, void *data);
 
 bool dispc_mgr_timings_ok(enum omap_channel channel,
-               const struct omap_video_timings *timings);
+               const struct videomode *timings);
 int dispc_calc_clock_rates(unsigned long dispc_fclk_rate,
                struct dispc_clock_info *cinfo);
 
 bool dispc_wb_is_enabled(void);
 void dispc_wb_set_channel_in(enum dss_writeback_channel channel);
 int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
-               bool mem_to_mem, const struct omap_video_timings *timings);
+               bool mem_to_mem, const struct videomode *timings);
 
 /* VENC */
 int venc_init_platform_driver(void) __init;
 
 };
 
 struct hdmi_config {
-       struct omap_video_timings timings;
+       struct videomode timings;
        struct hdmi_avi_infoframe infoframe;
        enum hdmi_core_hdmi_dvi hdmi_dvi_mode;
 };
 void hdmi_wp_video_config_format(struct hdmi_wp_data *wp,
                struct hdmi_video_format *video_fmt);
 void hdmi_wp_video_config_interface(struct hdmi_wp_data *wp,
-               struct omap_video_timings *timings);
+               struct videomode *timings);
 void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
-               struct omap_video_timings *timings);
+               struct videomode *timings);
 void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
-               struct omap_video_timings *timings, struct hdmi_config *param);
+               struct videomode *timings, struct hdmi_config *param);
 int hdmi_wp_init(struct platform_device *pdev, struct hdmi_wp_data *wp);
 phys_addr_t hdmi_wp_get_audio_dma_addr(struct hdmi_wp_data *wp);
 
 
 static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 {
        int r;
-       struct omap_video_timings *p;
+       struct videomode *p;
        enum omap_channel channel = dssdev->dispc_channel;
        struct hdmi_wp_data *wp = &hdmi.wp;
        struct dss_pll_clock_info hdmi_cinfo = { 0 };
 }
 
 static int hdmi_display_check_timing(struct omap_dss_device *dssdev,
-                                       struct omap_video_timings *timings)
+                                       struct videomode *timings)
 {
        if (!dispc_mgr_timings_ok(dssdev->dispc_channel, timings))
                return -EINVAL;
 }
 
 static void hdmi_display_set_timing(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        mutex_lock(&hdmi.lock);
 
 }
 
 static void hdmi_display_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        *timings = hdmi.cfg.timings;
 }
 
        struct hdmi_wp_data *wp, struct hdmi_config *cfg)
 {
        /* HDMI */
-       struct omap_video_timings video_timing;
+       struct videomode video_timing;
        struct hdmi_video_format video_format;
        /* HDMI core */
        struct hdmi_core_video_config v_core_cfg;
 
 static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 {
        int r;
-       struct omap_video_timings *p;
+       struct videomode *p;
        enum omap_channel channel = dssdev->dispc_channel;
        struct dss_pll_clock_info hdmi_cinfo = { 0 };
        unsigned pc;
 }
 
 static int hdmi_display_check_timing(struct omap_dss_device *dssdev,
-                                       struct omap_video_timings *timings)
+                                       struct videomode *timings)
 {
        if (!dispc_mgr_timings_ok(dssdev->dispc_channel, timings))
                return -EINVAL;
 }
 
 static void hdmi_display_set_timing(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        mutex_lock(&hdmi.lock);
 
 }
 
 static void hdmi_display_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        *timings = hdmi.cfg.timings;
 }
 
                        struct hdmi_core_vid_config *cfg)
 {
        void __iomem *base = core->base;
-       struct omap_video_timings *ovt = &cfg->v_fc_config.timings;
+       struct videomode *ovt = &cfg->v_fc_config.timings;
        unsigned char r = 0;
        bool vsync_pol, hsync_pol;
 
 void hdmi5_configure(struct hdmi_core_data *core, struct hdmi_wp_data *wp,
                struct hdmi_config *cfg)
 {
-       struct omap_video_timings video_timing;
+       struct videomode video_timing;
        struct hdmi_video_format video_format;
        struct hdmi_core_vid_config v_core_cfg;
 
 
 }
 
 void hdmi_wp_video_config_interface(struct hdmi_wp_data *wp,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        u32 r;
        bool vsync_pol, hsync_pol;
 }
 
 void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        u32 timing_h = 0;
        u32 timing_v = 0;
 }
 
 void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
-               struct omap_video_timings *timings, struct hdmi_config *param)
+               struct videomode *timings, struct hdmi_config *param)
 {
        DSSDBG("Enter hdmi_wp_video_init_format\n");
 
 
 struct omap_dss_dsi_config {
        enum omap_dss_dsi_mode mode;
        enum omap_dss_dsi_pixel_format pixel_format;
-       const struct omap_video_timings *timings;
+       const struct videomode *timings;
 
        unsigned long hs_clk_min, hs_clk_max;
        unsigned long lp_clk_min, lp_clk_max;
        enum omap_dss_dsi_trans_mode trans_mode;
 };
 
-struct omap_video_timings {
-       /* Unit: pixels */
-       u32 hactive;
-       /* Unit: pixels */
-       u32 vactive;
-       /* Unit: Hz */
-       unsigned long pixelclock;
-       /* Unit: pixel clocks */
-       u32 hsync_len;          /* Horizontal synchronization pulse width */
-       /* Unit: pixel clocks */
-       u32 hfront_porch;       /* Horizontal front porch */
-       /* Unit: pixel clocks */
-       u32 hback_porch;        /* Horizontal back porch */
-       /* Unit: line clocks */
-       u32 vsync_len;          /* Vertical synchronization pulse width */
-       /* Unit: line clocks */
-       u32 vfront_porch;       /* Vertical front porch */
-       /* Unit: line clocks */
-       u32 vback_porch;        /* Vertical back porch */
-
-       enum display_flags flags;
-};
-
 /* Hardcoded timings for tv modes. Venc only uses these to
  * identify the mode, and does not actually use the configs
  * itself. However, the configs should be something that
  * a normal monitor can also show */
-extern const struct omap_video_timings omap_dss_pal_timings;
-extern const struct omap_video_timings omap_dss_ntsc_timings;
+extern const struct videomode omap_dss_pal_timings;
+extern const struct videomode omap_dss_ntsc_timings;
 
 struct omap_dss_cpr_coefs {
        s16 rr, rg, rb;
        void (*disable)(struct omap_dss_device *dssdev);
 
        int (*check_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                            struct videomode *timings);
        void (*set_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
        void (*get_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
 
        void (*set_data_lines)(struct omap_dss_device *dssdev, int data_lines);
 };
        void (*disable)(struct omap_dss_device *dssdev);
 
        int (*check_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                            struct videomode *timings);
        void (*set_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
        void (*get_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
 
        void (*set_datapairs)(struct omap_dss_device *dssdev, int datapairs);
 };
        void (*disable)(struct omap_dss_device *dssdev);
 
        int (*check_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                            struct videomode *timings);
        void (*set_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
        void (*get_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
 };
 
 struct omapdss_atv_ops {
        void (*disable)(struct omap_dss_device *dssdev);
 
        int (*check_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                            struct videomode *timings);
        void (*set_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
        void (*get_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
 
        void (*set_type)(struct omap_dss_device *dssdev,
                enum omap_dss_venc_type type);
        void (*disable)(struct omap_dss_device *dssdev);
 
        int (*check_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                            struct videomode *timings);
        void (*set_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
        void (*get_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
 
        int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len);
        bool (*detect)(struct omap_dss_device *dssdev);
        } phy;
 
        struct {
-               struct omap_video_timings timings;
+               struct videomode timings;
 
                enum omap_dss_dsi_pixel_format dsi_pix_fmt;
                enum omap_dss_dsi_mode dsi_mode;
        int (*get_recommended_bpp)(struct omap_dss_device *dssdev);
 
        int (*check_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                            struct videomode *timings);
        void (*set_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
        void (*get_timings)(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings);
+                           struct videomode *timings);
 
        int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
        u32 (*get_wss)(struct omap_dss_device *dssdev);
                int (*match)(struct omap_dss_device *dssdev, void *data));
 const char *omapdss_get_default_display_name(void);
 
-void videomode_to_omap_video_timings(const struct videomode *vm,
-               struct omap_video_timings *ovt);
-void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
-               struct videomode *vm);
-
 int dss_feat_get_num_mgrs(void);
 int dss_feat_get_num_ovls(void);
 enum omap_color_mode dss_feat_get_supported_color_modes(enum omap_plane plane);
                u16 *xres, u16 *yres);
 int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev);
 void omapdss_default_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings);
+                                struct videomode *timings);
 
 typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
 int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
 void dispc_mgr_set_lcd_config(enum omap_channel channel,
                const struct dss_lcd_mgr_config *config);
 void dispc_mgr_set_timings(enum omap_channel channel,
-               const struct omap_video_timings *timings);
+               const struct videomode *timings);
 void dispc_mgr_setup(enum omap_channel channel,
                const struct omap_overlay_manager_info *info);
 u32 dispc_mgr_gamma_size(enum omap_channel channel);
 void dispc_ovl_set_channel_out(enum omap_plane plane,
                enum omap_channel channel);
 int dispc_ovl_setup(enum omap_plane plane, const struct omap_overlay_info *oi,
-               bool replication, const struct omap_video_timings *mgr_timings,
+               bool replication, const struct videomode *mgr_timings,
                bool mem_to_mem);
 
 enum omap_dss_output_id dispc_mgr_get_supported_outputs(enum omap_channel channel);
        int (*enable)(enum omap_channel channel);
        void (*disable)(enum omap_channel channel);
        void (*set_timings)(enum omap_channel channel,
-                       const struct omap_video_timings *timings);
+                       const struct videomode *timings);
        void (*set_lcd_config)(enum omap_channel channel,
                        const struct dss_lcd_mgr_config *config);
        int (*register_framedone_handler)(enum omap_channel channel,
 void dss_mgr_disconnect(enum omap_channel channel,
                struct omap_dss_device *dst);
 void dss_mgr_set_timings(enum omap_channel channel,
-               const struct omap_video_timings *timings);
+               const struct videomode *timings);
 void dss_mgr_set_lcd_config(enum omap_channel channel,
                const struct dss_lcd_mgr_config *config);
 int dss_mgr_enable(enum omap_channel channel);
 
 EXPORT_SYMBOL(dss_mgr_disconnect);
 
 void dss_mgr_set_timings(enum omap_channel channel,
-               const struct omap_video_timings *timings)
+               const struct videomode *timings)
 {
        dss_mgr_ops->set_timings(channel, timings);
 }
 
 
        struct semaphore bus_lock;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
        int pixel_size;
        int data_lines;
        struct rfbi_timings intf_timings;
 
        struct regulator *vdds_sdi_reg;
 
        struct dss_lcd_mgr_config mgr_config;
-       struct omap_video_timings timings;
+       struct videomode timings;
        int datapairs;
 
        struct omap_dss_device output;
 {
        struct omap_dss_device *out = &sdi.output;
        enum omap_channel channel = dssdev->dispc_channel;
-       struct omap_video_timings *t = &sdi.timings;
+       struct videomode *t = &sdi.timings;
        unsigned long fck;
        struct dispc_clock_info dispc_cinfo;
        unsigned long pck;
 }
 
 static void sdi_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        sdi.timings = *timings;
 }
 
 static void sdi_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        *timings = sdi.timings;
 }
 
 static int sdi_check_timings(struct omap_dss_device *dssdev,
-                       struct omap_video_timings *timings)
+                       struct videomode *timings)
 {
        enum omap_channel channel = dssdev->dispc_channel;
 
 
        .fid_ext_start_y__fid_ext_offset_y      = 0x01380005,
 };
 
-const struct omap_video_timings omap_dss_pal_timings = {
+const struct videomode omap_dss_pal_timings = {
        .hactive        = 720,
        .vactive        = 574,
        .pixelclock     = 13500000,
 };
 EXPORT_SYMBOL(omap_dss_pal_timings);
 
-const struct omap_video_timings omap_dss_ntsc_timings = {
+const struct videomode omap_dss_ntsc_timings = {
        .hactive        = 720,
        .vactive        = 482,
        .pixelclock     = 13500000,
 
        struct clk      *tv_dac_clk;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
        enum omap_dss_venc_type type;
        bool invert_polarity;
 
 }
 
 static const struct venc_config *venc_timings_to_config(
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        if (memcmp(&omap_dss_pal_timings, timings, sizeof(*timings)) == 0)
                return &venc_config_pal_trm;
 }
 
 static void venc_set_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        DSSDBG("venc_set_timings\n");
 
 }
 
 static int venc_check_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        DSSDBG("venc_check_timings\n");
 
 }
 
 static void venc_get_timings(struct omap_dss_device *dssdev,
-               struct omap_video_timings *timings)
+               struct videomode *timings)
 {
        mutex_lock(&venc.venc_lock);
 
 
        return omap_connector->hdmi_mode;
 }
 
-void copy_timings_omap_to_drm(struct drm_display_mode *mode,
-               struct omap_video_timings *timings)
-{
-       mode->clock = timings->pixelclock / 1000;
-
-       mode->hdisplay = timings->hactive;
-       mode->hsync_start = mode->hdisplay + timings->hfront_porch;
-       mode->hsync_end = mode->hsync_start + timings->hsync_len;
-       mode->htotal = mode->hsync_end + timings->hback_porch;
-
-       mode->vdisplay = timings->vactive;
-       mode->vsync_start = mode->vdisplay + timings->vfront_porch;
-       mode->vsync_end = mode->vsync_start + timings->vsync_len;
-       mode->vtotal = mode->vsync_end + timings->vback_porch;
-
-       mode->flags = 0;
-
-       if (timings->flags & DISPLAY_FLAGS_INTERLACED)
-               mode->flags |= DRM_MODE_FLAG_INTERLACE;
-
-       if (timings->flags & DISPLAY_FLAGS_DOUBLECLK)
-               mode->flags |= DRM_MODE_FLAG_DBLCLK;
-
-       if (timings->flags & DISPLAY_FLAGS_HSYNC_HIGH)
-               mode->flags |= DRM_MODE_FLAG_PHSYNC;
-       else
-               mode->flags |= DRM_MODE_FLAG_NHSYNC;
-
-       if (timings->flags & DISPLAY_FLAGS_VSYNC_HIGH)
-               mode->flags |= DRM_MODE_FLAG_PVSYNC;
-       else
-               mode->flags |= DRM_MODE_FLAG_NVSYNC;
-}
-
-void copy_timings_drm_to_omap(struct omap_video_timings *timings,
-               struct drm_display_mode *mode)
-{
-       timings->pixelclock = mode->clock * 1000;
-
-       timings->hactive = mode->hdisplay;
-       timings->hfront_porch = mode->hsync_start - mode->hdisplay;
-       timings->hsync_len = mode->hsync_end - mode->hsync_start;
-       timings->hback_porch = mode->htotal - mode->hsync_end;
-
-       timings->vactive = mode->vdisplay;
-       timings->vfront_porch = mode->vsync_start - mode->vdisplay;
-       timings->vsync_len = mode->vsync_end - mode->vsync_start;
-       timings->vback_porch = mode->vtotal - mode->vsync_end;
-
-       if (mode->flags & DRM_MODE_FLAG_INTERLACE)
-               timings->flags |= DISPLAY_FLAGS_INTERLACED;
-
-       if (mode->flags & DRM_MODE_FLAG_DBLCLK)
-               timings->flags |= DISPLAY_FLAGS_DOUBLECLK;
-
-       if (mode->flags & DRM_MODE_FLAG_PHSYNC)
-               timings->flags |= DISPLAY_FLAGS_HSYNC_HIGH;
-       else
-               timings->flags |= DISPLAY_FLAGS_HSYNC_LOW;
-
-       if (mode->flags & DRM_MODE_FLAG_PVSYNC)
-               timings->flags |= DISPLAY_FLAGS_VSYNC_HIGH;
-       else
-               timings->flags |= DISPLAY_FLAGS_VSYNC_LOW;
-
-       timings->flags |= DISPLAY_FLAGS_DE_HIGH |
-                         DISPLAY_FLAGS_PIXDATA_POSEDGE |
-                         DISPLAY_FLAGS_SYNC_NEGEDGE;
-}
-
 static enum drm_connector_status omap_connector_detect(
                struct drm_connector *connector, bool force)
 {
                kfree(edid);
        } else {
                struct drm_display_mode *mode = drm_mode_create(dev);
-               struct omap_video_timings timings = {0};
+               struct videomode timings = {0};
 
                dssdrv->get_timings(dssdev, &timings);
 
-               copy_timings_omap_to_drm(mode, &timings);
+               drm_display_mode_from_videomode(&timings, mode);
 
                mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
                drm_mode_set_name(mode);
        struct omap_connector *omap_connector = to_omap_connector(connector);
        struct omap_dss_device *dssdev = omap_connector->dssdev;
        struct omap_dss_driver *dssdrv = dssdev->driver;
-       struct omap_video_timings timings = {0};
+       struct videomode timings = {0};
        struct drm_device *dev = connector->dev;
        struct drm_display_mode *new_mode;
        int r, ret = MODE_BAD;
 
-       copy_timings_drm_to_omap(&timings, mode);
+       drm_display_mode_to_videomode(mode, &timings);
+       timings.flags |= DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE |
+                        DISPLAY_FLAGS_SYNC_NEGEDGE;
        mode->vrefresh = drm_mode_vrefresh(mode);
 
        /*
        if (dssdrv->check_timings) {
                r = dssdrv->check_timings(dssdev, &timings);
        } else {
-               struct omap_video_timings t = {0};
+               struct videomode t = {0};
 
                dssdrv->get_timings(dssdev, &t);
 
-               if (memcmp(&timings, &t, sizeof(struct omap_video_timings)))
+               if (memcmp(&timings, &t, sizeof(struct videomode)))
                        r = -EINVAL;
                else
                        r = 0;
 
        const char *name;
        enum omap_channel channel;
 
-       struct omap_video_timings timings;
+       struct videomode timings;
 
        struct omap_drm_irq vblank_irq;
        struct omap_drm_irq error_irq;
        return dispc_mgr_get_vsync_irq(omap_crtc->channel);
 }
 
-struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc)
+struct videomode *omap_crtc_timings(struct drm_crtc *crtc)
 {
        struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
        return &omap_crtc->timings;
 }
 
 static void omap_crtc_dss_set_timings(enum omap_channel channel,
-               const struct omap_video_timings *timings)
+               const struct videomode *timings)
 {
        struct omap_crtc *omap_crtc = omap_crtcs[channel];
        DBG("%s", omap_crtc->name);
            mode->vdisplay, mode->vsync_start, mode->vsync_end, mode->vtotal,
            mode->type, mode->flags);
 
-       copy_timings_drm_to_omap(&omap_crtc->timings, mode);
+       drm_display_mode_to_videomode(mode, &omap_crtc->timings);
+       omap_crtc->timings.flags |= DISPLAY_FLAGS_DE_HIGH |
+                                   DISPLAY_FLAGS_PIXDATA_POSEDGE |
+                                   DISPLAY_FLAGS_SYNC_NEGEDGE;
 }
 
 static int omap_crtc_atomic_check(struct drm_crtc *crtc,
 
 }
 #endif
 
-struct omap_video_timings *omap_crtc_timings(struct drm_crtc *crtc);
+struct videomode *omap_crtc_timings(struct drm_crtc *crtc);
 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
 void omap_crtc_pre_init(void);
 void omap_crtc_pre_uninit(void);
                struct drm_connector *connector);
 bool omap_connector_get_hdmi_mode(struct drm_connector *connector);
 
-void copy_timings_omap_to_drm(struct drm_display_mode *mode,
-               struct omap_video_timings *timings);
-void copy_timings_drm_to_omap(struct omap_video_timings *timings,
-               struct drm_display_mode *mode);
-
 uint32_t omap_framebuffer_get_formats(uint32_t *pixel_formats,
                uint32_t max_formats, enum omap_color_mode supported_modes);
 struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
 
 
 static int omap_encoder_update(struct drm_encoder *encoder,
                               enum omap_channel channel,
-                              struct omap_video_timings *timings)
+                              struct videomode *timings)
 {
        struct drm_device *dev = encoder->dev;
        struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
        if (dssdrv->check_timings) {
                ret = dssdrv->check_timings(dssdev, timings);
        } else {
-               struct omap_video_timings t = {0};
+               struct videomode t = {0};
 
                dssdrv->get_timings(dssdev, &t);
 
-               if (memcmp(timings, &t, sizeof(struct omap_video_timings)))
+               if (memcmp(timings, &t, sizeof(struct videomode)))
                        ret = -EINVAL;
                else
                        ret = 0;