Re: [PATCH v2 11/18] gpio: uapi: document uAPI v1 as deprecated

From: Bartosz Golaszewski
Date: Tue Aug 04 2020 - 15:43:37 EST


On Sat, Jul 25, 2020 at 6:22 AM Kent Gibson <warthog618@xxxxxxxxx> wrote:
>
> Update uAPI documentation to deprecate v1 structs and ioctls.
>
> Signed-off-by: Kent Gibson <warthog618@xxxxxxxxx>
> ---
> include/uapi/linux/gpio.h | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
> index 3f6db33014f0..92a74c245534 100644
> --- a/include/uapi/linux/gpio.h
> +++ b/include/uapi/linux/gpio.h
> @@ -278,6 +278,9 @@ struct gpioline_event {
>
> /*
> * ABI v1
> + *
> + * This version of the ABI is deprecated and will be removed in the future.
> + * Use the latest version if the ABI, defined above, instead.

typo: of the ABI

> */
>
> /* Informational flags */
> @@ -301,6 +304,9 @@ struct gpioline_event {
> * @consumer: a functional name for the consumer of this GPIO line as set by
> * whatever is using it, will be empty if there is no current user but may
> * also be empty if the consumer doesn't set this up
> + *
> + * This struct part of ABI v1 and is deprecated.

"This struct is part of ABI (...)"

> + * Use struct gpioline_info_v2 instead.
> */
> struct gpioline_info {
> __u32 line_offset;
> @@ -325,6 +331,9 @@ struct gpioline_info {
> * guarantee there are no implicit holes between it and subsequent members.
> * The 20-byte padding at the end makes sure we don't add any implicit padding
> * at the end of the structure on 64-bit architectures.
> + *
> + * This struct part of ABI v1 and is deprecated.

Same as above and same below.

Bart

> + * Use struct gpioline_info_changed_v2 instead.
> */
> struct gpioline_info_changed {
> struct gpioline_info info;
> @@ -364,6 +373,9 @@ struct gpioline_info_changed {
> * @fd: if successful this field will contain a valid anonymous file handle
> * after a GPIO_GET_LINEHANDLE_IOCTL operation, zero or negative value
> * means error
> + *
> + * This struct part of ABI v1 and is deprecated.
> + * Use struct gpioline_request instead.
> */
> struct gpiohandle_request {
> __u32 lineoffsets[GPIOHANDLES_MAX];
> @@ -383,6 +395,9 @@ struct gpiohandle_request {
> * this specifies the default output value, should be 0 (low) or
> * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high)
> * @padding: reserved for future use and should be zero filled
> + *
> + * This struct part of ABI v1 and is deprecated.
> + * Use struct gpioline_config instead.
> */
> struct gpiohandle_config {
> __u32 flags;
> @@ -395,6 +410,9 @@ struct gpiohandle_config {
> * @values: when getting the state of lines this contains the current
> * state of a line, when setting the state of lines these should contain
> * the desired target state
> + *
> + * This struct part of ABI v1 and is deprecated.
> + * Use struct gpioline_values instead.
> */
> struct gpiohandle_data {
> __u8 values[GPIOHANDLES_MAX];
> @@ -418,6 +436,9 @@ struct gpiohandle_data {
> * @fd: if successful this field will contain a valid anonymous file handle
> * after a GPIO_GET_LINEEVENT_IOCTL operation, zero or negative value
> * means error
> + *
> + * This struct part of ABI v1 and is deprecated.
> + * Use struct gpioline_request instead.
> */
> struct gpioevent_request {
> __u32 lineoffset;
> @@ -437,6 +458,9 @@ struct gpioevent_request {
> * struct gpioevent_data - The actual event being pushed to userspace
> * @timestamp: best estimate of time of event occurrence, in nanoseconds
> * @id: event identifier
> + *
> + * This struct part of ABI v1 and is deprecated.
> + * Use struct gpioline_event instead.
> */
> struct gpioevent_data {
> __u64 timestamp;
> @@ -461,6 +485,8 @@ struct gpioevent_data {
>
> /*
> * v1 ioctl()s
> + *
> + * These ioctl()s are deprecated. Use the v2 equivalent instead.
> */
> #define GPIO_GET_LINEINFO_IOCTL _IOWR(0xB4, 0x02, struct gpioline_info)
> #define GPIO_GET_LINEHANDLE_IOCTL _IOWR(0xB4, 0x03, struct gpiohandle_request)
> --
> 2.27.0
>