struct mutex lock;
 
-       struct videomode vm;
        struct dss_lcd_mgr_config mgr_config;
+       unsigned long pixelclock;
        int data_lines;
 
        struct omap_dss_device output;
 
 static int dpi_set_mode(struct dpi_data *dpi)
 {
-       const struct videomode *vm = &dpi->vm;
        int lck_div = 0, pck_div = 0;
        unsigned long fck = 0;
        int r = 0;
 
        if (dpi->pll)
                r = dpi_set_pll_clk(dpi, dpi->output.dispc_channel,
-                                   vm->pixelclock, &fck, &lck_div, &pck_div);
+                                   dpi->pixelclock, &fck, &lck_div, &pck_div);
        else
-               r = dpi_set_dispc_clk(dpi, vm->pixelclock, &fck,
+               r = dpi_set_dispc_clk(dpi, dpi->pixelclock, &fck,
                                &lck_div, &pck_div);
        if (r)
                return r;
 
        mutex_lock(&dpi->lock);
 
-       drm_display_mode_to_videomode(mode, &dpi->vm);
+       dpi->pixelclock = mode->clock * 1000;
 
        mutex_unlock(&dpi->lock);
 }
 
        struct regulator *vdds_sdi_reg;
 
        struct dss_lcd_mgr_config mgr_config;
-       struct videomode vm;
+       unsigned long pixelclock;
        int datapairs;
 
        struct omap_dss_device output;
        if (r)
                goto err_get_dispc;
 
-       r = sdi_calc_clock_div(sdi, sdi->vm.pixelclock, &fck, &dispc_cinfo);
+       r = sdi_calc_clock_div(sdi, sdi->pixelclock, &fck, &dispc_cinfo);
        if (r)
                goto err_calc_clock_div;
 
 {
        struct sdi_device *sdi = dssdev_to_sdi(dssdev);
 
-       drm_display_mode_to_videomode(mode, &sdi->vm);
+       sdi->pixelclock = mode->clock * 1000;
 }
 
 static int sdi_check_timings(struct omap_dss_device *dssdev,