@@ -248,7 +248,10 @@ static bool drm_fb_helper_force_kernel_mode(void)
if (helper->dev->switch_power_state == DRM_SWITCH_POWER_OFF)
continue;
- ret = drm_fb_helper_restore_fbdev_mode(helper);
+ if (helper->funcs->restore_fbdev_mode)
+ ret = helper->funcs->restore_fbdev_mode(helper);
+ else
+ ret = drm_fb_helper_restore_fbdev_mode(helper);
if (ret)
error = true;
}
@@ -56,6 +56,7 @@ struct drm_fb_helper_funcs {
int (*fb_probe)(struct drm_fb_helper *helper,
struct drm_fb_helper_surface_size *sizes);
+ int (*restore_fbdev_mode)(struct drm_fb_helper *helper);
};
struct drm_fb_helper_connector {