drm/etnaviv: Implement mmap as GEM object function
[linux-2.6-microblaze.git] / drivers / gpu / drm / etnaviv / etnaviv_drv.c
index aa270b7..7dcc639 100644 (file)
@@ -468,26 +468,16 @@ static const struct drm_ioctl_desc etnaviv_ioctls[] = {
        ETNA_IOCTL(PM_QUERY_SIG, pm_query_sig, DRM_RENDER_ALLOW),
 };
 
-static const struct file_operations fops = {
-       .owner              = THIS_MODULE,
-       .open               = drm_open,
-       .release            = drm_release,
-       .unlocked_ioctl     = drm_ioctl,
-       .compat_ioctl       = drm_compat_ioctl,
-       .poll               = drm_poll,
-       .read               = drm_read,
-       .llseek             = no_llseek,
-       .mmap               = etnaviv_gem_mmap,
-};
+DEFINE_DRM_GEM_FOPS(fops);
 
-static struct drm_driver etnaviv_drm_driver = {
+static const struct drm_driver etnaviv_drm_driver = {
        .driver_features    = DRIVER_GEM | DRIVER_RENDER,
        .open               = etnaviv_open,
        .postclose           = etnaviv_postclose,
        .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
        .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = etnaviv_gem_prime_import_sg_table,
-       .gem_prime_mmap     = etnaviv_gem_prime_mmap,
+       .gem_prime_mmap     = drm_gem_prime_mmap,
 #ifdef CONFIG_DEBUG_FS
        .debugfs_init       = etnaviv_debugfs_init,
 #endif
@@ -522,7 +512,6 @@ static int etnaviv_bind(struct device *dev)
        }
        drm->dev_private = priv;
 
-       dev->dma_parms = &priv->dma_parms;
        dma_set_max_seg_size(dev, SZ_2G);
 
        mutex_init(&priv->gem_lock);
@@ -572,8 +561,6 @@ static void etnaviv_unbind(struct device *dev)
 
        component_unbind_all(dev, drm);
 
-       dev->dma_parms = NULL;
-
        etnaviv_cmdbuf_suballoc_destroy(priv->cmdbuf_suballoc);
 
        drm->dev_private = NULL;