writel(0x00000000, dvo->regs + DVO_DOF_CFG);
 
-       if (dvo->panel)
-               dvo->panel->funcs->disable(dvo->panel);
+       drm_panel_disable(dvo->panel);
 
        /* Disable/unprepare dvo clock */
        clk_disable_unprepare(dvo->clk_pix);
        if (clk_prepare_enable(dvo->clk))
                DRM_ERROR("Failed to prepare/enable dvo clk\n");
 
-       if (dvo->panel)
-               dvo->panel->funcs->enable(dvo->panel);
+       drm_panel_enable(dvo->panel);
 
        /* Set LUT */
        writel(config->lowbyte,  dvo->regs + DVO_LUT_PROG_LOW);
        struct sti_dvo *dvo = dvo_connector->dvo;
 
        if (dvo->panel)
-               return dvo->panel->funcs->get_modes(dvo->panel);
+               return drm_panel_get_modes(dvo->panel);
 
        return 0;
 }