drm: Make the prime vmap/vunmap hooks optional.
authorEric Anholt <eric@anholt.net>
Tue, 24 Apr 2018 00:46:08 +0000 (17:46 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 30 Apr 2018 17:42:03 +0000 (10:42 -0700)
Some drivers leave these unimplemented, so don't make them have
unimplemented stubs.

Signed-off-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20180424004610.4637-2-eric@anholt.net
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_prime.c

index caf675e3e692c320fc53c47805fabde80e52c71d..397b46b337399952fb2a143146294cc818deb49d 100644 (file)
@@ -409,7 +409,10 @@ void *drm_gem_dmabuf_vmap(struct dma_buf *dma_buf)
        struct drm_gem_object *obj = dma_buf->priv;
        struct drm_device *dev = obj->dev;
 
-       return dev->driver->gem_prime_vmap(obj);
+       if (dev->driver->gem_prime_vmap)
+               return dev->driver->gem_prime_vmap(obj);
+       else
+               return NULL;
 }
 EXPORT_SYMBOL(drm_gem_dmabuf_vmap);
 
@@ -426,7 +429,8 @@ void drm_gem_dmabuf_vunmap(struct dma_buf *dma_buf, void *vaddr)
        struct drm_gem_object *obj = dma_buf->priv;
        struct drm_device *dev = obj->dev;
 
-       dev->driver->gem_prime_vunmap(obj, vaddr);
+       if (dev->driver->gem_prime_vunmap)
+               dev->driver->gem_prime_vunmap(obj, vaddr);
 }
 EXPORT_SYMBOL(drm_gem_dmabuf_vunmap);