[EARLY RFC][PATCH 1/4] ion: Add ION_VERSION ioctl

Laura Abbott labbott at redhat.com
Tue Feb 19 20:46:35 UTC 2019


On 2/15/19 12:24 PM, John Stultz wrote:
> With all the slight interface changes ion has had
> through its time in staging, keeping userland working
> properly has been a pain. Assuming more churn going
> forward, provide a proper version interface.
> 
> Cc: Laura Abbott <labbott at redhat.com>
> Cc: Sumit Semwal <sumit.semwal at linaro.org>
> Cc: Liam Mark <lmark at codeaurora.org>
> Cc: Brian Starkey <Brian.Starkey at arm.com>
> Cc: Andrew F. Davis <afd at ti.com>
> Cc: Alistair Strachan <astrachan at google.com>
> Cc: dri-devel at lists.freedesktop.org
> Signed-off-by: John Stultz <john.stultz at linaro.org>
> ---
>   drivers/staging/android/ion/ion-ioctl.c | 4 ++++
>   drivers/staging/android/ion/ion.h       | 2 ++
>   drivers/staging/android/uapi/ion.h      | 7 +++++++
>   3 files changed, 13 insertions(+)
> 
> diff --git a/drivers/staging/android/ion/ion-ioctl.c b/drivers/staging/android/ion/ion-ioctl.c
> index a8d3cc4..458a9f2 100644
> --- a/drivers/staging/android/ion/ion-ioctl.c
> +++ b/drivers/staging/android/ion/ion-ioctl.c
> @@ -13,6 +13,7 @@
>   union ion_ioctl_arg {
>   	struct ion_allocation_data allocation;
>   	struct ion_heap_query query;
> +	u32 version;
>   };
>   
>   static int validate_ioctl_arg(unsigned int cmd, union ion_ioctl_arg *arg)
> @@ -86,6 +87,9 @@ long ion_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
>   	case ION_IOC_HEAP_QUERY:
>   		ret = ion_query_heaps(&data.query);
>   		break;
> +	case ION_IOC_VERSION:
> +		data.version = ION_VERSION;
> +		break;
>   	default:
>   		return -ENOTTY;
>   	}
> diff --git a/drivers/staging/android/ion/ion.h b/drivers/staging/android/ion/ion.h
> index 47b594c..439e682 100644
> --- a/drivers/staging/android/ion/ion.h
> +++ b/drivers/staging/android/ion/ion.h
> @@ -21,6 +21,8 @@
>   
>   #include "../uapi/ion.h"
>   
> +#define ION_VERSION 3
> +
>   /**
>    * struct ion_platform_heap - defines a heap in the given platform
>    * @type:	type of the heap from ion_heap_type enum
> diff --git a/drivers/staging/android/uapi/ion.h b/drivers/staging/android/uapi/ion.h
> index 5d70098..c480448 100644
> --- a/drivers/staging/android/uapi/ion.h
> +++ b/drivers/staging/android/uapi/ion.h
> @@ -124,4 +124,11 @@ struct ion_heap_query {
>   #define ION_IOC_HEAP_QUERY     _IOWR(ION_IOC_MAGIC, 8, \
>   					struct ion_heap_query)
>   
> +/**
> + * DOC: ION_IOC_VERSION - Get ION interface version
> + *
> + * Takes a u32 and returns the ION interface version
> + */
> +#define ION_IOC_VERSION		_IOR(ION_IOC_MAGIC, 9, u32)
> +
>   #endif /* _UAPI_LINUX_ION_H */
> 

Like I said on the other thread, I was told no before
https://lore.kernel.org/lkml/1472769644-11039-4-git-send-email-labbott@redhat.com/T/#u


More information about the dri-devel mailing list