Merge tag 'tilcdc-4.22' of https://github.com/jsarha/linux into drm-next
[linux-2.6-block.git] / drivers / gpu / drm / tilcdc / tilcdc_drv.c
index bbd390cacc6b27989746ddc4a424b1878140fb2e..337e86a1d5eaa59c358e4cf0393510ea5c045605 100644 (file)
@@ -140,7 +140,6 @@ static int tilcdc_commit(struct drm_device *dev,
 
 static const struct drm_mode_config_funcs mode_config_funcs = {
        .fb_create = tilcdc_fb_create,
-       .output_poll_changed = drm_fb_helper_output_poll_changed,
        .atomic_check = tilcdc_atomic_check,
        .atomic_commit = tilcdc_commit,
 };
@@ -197,9 +196,6 @@ static void tilcdc_fini(struct drm_device *dev)
                drm_dev_unregister(dev);
 
        drm_kms_helper_poll_fini(dev);
-
-       drm_fb_cma_fbdev_fini(dev);
-
        drm_irq_uninstall(dev);
        drm_mode_config_cleanup(dev);
        tilcdc_remove_external_device(dev);
@@ -396,16 +392,14 @@ static int tilcdc_init(struct drm_driver *ddrv, struct device *dev)
 
        drm_mode_config_reset(ddev);
 
-       ret = drm_fb_cma_fbdev_init(ddev, bpp, 0);
-       if (ret)
-               goto init_failed;
-
        drm_kms_helper_poll_init(ddev);
 
        ret = drm_dev_register(ddev, 0);
        if (ret)
                goto init_failed;
 
+       drm_fbdev_generic_setup(ddev, bpp);
+
        priv->is_registered = true;
        return 0;
 
@@ -519,7 +513,6 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
 static struct drm_driver tilcdc_driver = {
        .driver_features    = (DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET |
                               DRIVER_PRIME | DRIVER_ATOMIC),
-       .lastclose          = drm_fb_helper_lastclose,
        .irq_handler        = tilcdc_irq,
        .gem_free_object_unlocked = drm_gem_cma_free_object,
        .gem_print_info     = drm_gem_cma_print_info,