diff options
Diffstat (limited to 'drivers/gpu/drm/meson/meson_drv.c')
| -rw-r--r-- | drivers/gpu/drm/meson/meson_drv.c | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c index 8b9c8dd788c4..42c5d3246cfc 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c @@ -90,7 +90,7 @@ static int meson_dumb_create(struct drm_file *file, struct drm_device *dev,  DEFINE_DRM_GEM_CMA_FOPS(fops); -static struct drm_driver meson_driver = { +static const struct drm_driver meson_driver = {  	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,  	/* IRQ */ @@ -389,15 +389,17 @@ static void meson_drv_unbind(struct device *dev)  		meson_canvas_free(priv->canvas, priv->canvas_id_vd1_2);  	} +	drm_dev_unregister(drm); +	drm_kms_helper_poll_fini(drm); +	drm_atomic_helper_shutdown(drm); +	component_unbind_all(dev, drm); +	drm_irq_uninstall(drm); +	drm_dev_put(drm); +  	if (priv->afbcd.ops) {  		priv->afbcd.ops->reset(priv);  		meson_rdma_free(priv);  	} - -	drm_dev_unregister(drm); -	drm_irq_uninstall(drm); -	drm_kms_helper_poll_fini(drm); -	drm_dev_put(drm);  }  static const struct component_master_ops meson_drv_master_ops = { | 
