#include <drm/drm_gem.h>
 #include <drm/drm_crtc_helper.h>
 #include <drm/drm_atomic_helper.h>
+#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_fb_helper.h>
 #include "vkms_drv.h"
 
 #define DRIVER_NAME    "vkms"
 };
 
 static const struct drm_mode_config_funcs vkms_mode_funcs = {
+       .fb_create = drm_gem_fb_create,
        .atomic_check = drm_atomic_helper_check,
        .atomic_commit = drm_atomic_helper_commit,
 };
 
        .atomic_destroy_state   = drm_atomic_helper_plane_destroy_state,
 };
 
+static void vkms_primary_plane_update(struct drm_plane *plane,
+                                     struct drm_plane_state *old_state)
+{
+}
+
+static const struct drm_plane_helper_funcs vkms_primary_helper_funcs = {
+       .atomic_update          = vkms_primary_plane_update,
+};
+
 struct drm_plane *vkms_plane_init(struct vkms_device *vkmsdev)
 {
        struct drm_device *dev = &vkmsdev->drm;
                return ERR_PTR(ret);
        }
 
+       drm_plane_helper_add(plane, &vkms_primary_helper_funcs);
+
        return plane;
 }