struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.atv->set_timings(in, vm);
 }
        dssdev->dev = &pdev->dev;
        dssdev->type = OMAP_DISPLAY_TYPE_VENC;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = tvc_pal_vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dvi->set_timings(in, vm);
 }
        dssdev->dev = &pdev->dev;
        dssdev->type = OMAP_DISPLAY_TYPE_DVI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = dvic_default_vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.hdmi->set_timings(in, vm);
 }
        dssdev->dev = &pdev->dev;
        dssdev->type = OMAP_DISPLAY_TYPE_HDMI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = hdmic_default_vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        dev_dbg(dssdev->dev, "set_timings\n");
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.atv->set_timings(in, vm);
 }
 
        tfp410_fix_timings(vm);
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dpi->set_timings(in, vm);
 }
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.hdmi->set_timings(in, vm);
 }
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dpi->set_timings(in, vm);
 }
        dssdev->driver = &panel_dpi_ops;
        dssdev->type = OMAP_DISPLAY_TYPE_DPI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = ddata->vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        }
 
        /* XXX no need to send this every frame, but dsi break if not done */
-       r = dsicm_set_update_window(ddata, 0, 0,
-                       dssdev->panel.vm.hactive,
-                       dssdev->panel.vm.vactive);
+       r = dsicm_set_update_window(ddata, 0, 0, ddata->vm.hactive,
+                                   ddata->vm.vactive);
        if (r)
                goto err;
 
        }
 
        size = min((u32)w * h * 3,
-                  dssdev->panel.vm.hactive * dssdev->panel.vm.vactive * 3);
+                  ddata->vm.hactive * ddata->vm.vactive * 3);
 
        in->ops.dsi->bus_lock(in);
 
        dssdev = &ddata->dssdev;
        dssdev->dev = dev;
        dssdev->driver = &dsicm_ops;
-       dssdev->panel.vm = ddata->vm;
        dssdev->type = OMAP_DISPLAY_TYPE_DSI;
        dssdev->owner = THIS_MODULE;
 
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dpi->set_timings(in, vm);
 }
        dssdev->driver = &lb035q02_ops;
        dssdev->type = OMAP_DISPLAY_TYPE_DPI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = ddata->vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dpi->set_timings(in, vm);
 }
        dssdev->driver = &nec_8048_ops;
        dssdev->type = OMAP_DISPLAY_TYPE_DPI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = ddata->vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dpi->set_timings(in, vm);
 }
        dssdev->driver = &sharp_ls_ops;
        dssdev->type = OMAP_DISPLAY_TYPE_DPI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = ddata->vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.sdi->set_timings(in, vm);
 }
        dssdev->driver = &acx565akm_ops;
        dssdev->type = OMAP_DISPLAY_TYPE_SDI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = ddata->vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dpi->set_timings(in, vm);
 }
        dssdev->driver = &td028ttec1_ops;
        dssdev->type = OMAP_DISPLAY_TYPE_DPI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = ddata->vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        struct omap_dss_device *in = ddata->in;
 
        ddata->vm = *vm;
-       dssdev->panel.vm = *vm;
 
        in->ops.dpi->set_timings(in, vm);
 }
        dssdev->driver = &tpo_td043_ops;
        dssdev->type = OMAP_DISPLAY_TYPE_DPI;
        dssdev->owner = THIS_MODULE;
-       dssdev->panel.vm = ddata->vm;
 
        r = omapdss_register_display(dssdev);
        if (r) {
 
        enum omap_display_type output_type;
 
        struct {
-               struct videomode vm;
-
                enum omap_dss_dsi_pixel_format dsi_pix_fmt;
                enum omap_dss_dsi_mode dsi_mode;
        } panel;