Messages in this thread | | | Date | Mon, 1 Apr 2019 09:13:46 +0200 | From | Daniel Vetter <> | Subject | Re: [PATCH] dma-buf: Make mmap callback actually optional |
| |
On Fri, Mar 29, 2019 at 11:52:01AM -0500, Andrew F. Davis wrote: > The docs state the callback is optional but it is not, make it optional. > > Signed-off-by: Andrew F. Davis <afd@ti.com>
There's a bunch of dummy mmap implementations we could remove with this, would be nice to follow up.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> --- > drivers/dma-buf/dma-buf.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c > index 7c858020d14b..4d4ae9fe9ac8 100644 > --- a/drivers/dma-buf/dma-buf.c > +++ b/drivers/dma-buf/dma-buf.c > @@ -90,6 +90,10 @@ static int dma_buf_mmap_internal(struct file *file, struct vm_area_struct *vma) > > dmabuf = file->private_data; > > + /* check if buffer supports mmap */ > + if (!dmabuf->ops->mmap) > + return -EINVAL; > + > /* check for overflowing the buffer's size */ > if (vma->vm_pgoff + vma_pages(vma) > > dmabuf->size >> PAGE_SHIFT) > @@ -404,8 +408,7 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info) > || !exp_info->ops > || !exp_info->ops->map_dma_buf > || !exp_info->ops->unmap_dma_buf > - || !exp_info->ops->release > - || !exp_info->ops->mmap)) { > + || !exp_info->ops->release)) { > return ERR_PTR(-EINVAL); > } > > @@ -906,6 +909,10 @@ int dma_buf_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma, > if (WARN_ON(!dmabuf || !vma)) > return -EINVAL; > > + /* check if buffer supports mmap */ > + if (!dmabuf->ops->mmap) > + return -EINVAL; > + > /* check for offset overflow */ > if (pgoff + vma_pages(vma) < pgoff) > return -EOVERFLOW; > -- > 2.21.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
-- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
| |