[PATCH] dmabuf: allow exporter to define customs ioctls

Daniel Vetter daniel at ffwll.ch
Wed Mar 9 09:03:56 UTC 2016


On Wed, Mar 9, 2016 at 9:54 AM, Benjamin Gaignard
<benjamin.gaignard at linaro.org> wrote:
> In addition of the already existing operations allow exporter
> to use it own custom ioctls.
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard at linaro.org>

First reaction: No way ever! More seriously, please start by
explaining why you need this.
-Daniel

> ---
>  drivers/dma-buf/dma-buf.c | 3 +++
>  include/linux/dma-buf.h   | 5 +++++
>  2 files changed, 8 insertions(+)
>
> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
> index 9810d1d..6abd129 100644
> --- a/drivers/dma-buf/dma-buf.c
> +++ b/drivers/dma-buf/dma-buf.c
> @@ -291,6 +291,9 @@ static long dma_buf_ioctl(struct file *file,
>
>                 return 0;
>         default:
> +               if (dmabuf->ops->ioctl)
> +                       return dmabuf->ops->ioctl(dmabuf, cmd, arg);
> +
>                 return -ENOTTY;
>         }
>  }
> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
> index 532108e..b6f9837 100644
> --- a/include/linux/dma-buf.h
> +++ b/include/linux/dma-buf.h
> @@ -70,6 +70,9 @@ struct dma_buf_attachment;
>   * @vmap: [optional] creates a virtual mapping for the buffer into kernel
>   *       address space. Same restrictions as for vmap and friends apply.
>   * @vunmap: [optional] unmaps a vmap from the buffer
> + * @ioctl: [optional] ioctls supported by the exporter.
> + *        It is up to the exporter to do the proper copy_{from/to}_user
> + *        calls. Should return -EINVAL in case of error.
>   */
>  struct dma_buf_ops {
>         int (*attach)(struct dma_buf *, struct device *,
> @@ -104,6 +107,8 @@ struct dma_buf_ops {
>
>         void *(*vmap)(struct dma_buf *);
>         void (*vunmap)(struct dma_buf *, void *vaddr);
> +
> +       int (*ioctl)(struct dma_buf *, unsigned int cmd, unsigned long arg);
>  };
>
>  /**
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list