[PATCH 00/22] gpio: cdev: add uAPI V2

From: Kent Gibson
Date: Tue Jun 23 2020 - 00:01:43 EST


This patchset defines and implements adds a new version of the
GPIO CDEV uAPI to address existing 32/64bit alignment issues, add
support for debounce and event sequence numbers, and provide some
future proofing by adding padding reserved for future use.

The series can be partitioned into three sets; the first twelve
are minor code tidy ups or fixes that I ran across while implementing V2,
the next seven contain the V2 uAPI implementation proper, and the final
three port the GPIO tools to the V2 uAPI.

The more complicated patches include their own commentary where appropriate.

Cheers,
Kent.

Kent Gibson (22):
gpiolib: move gpiolib-sysfs function declarations into their own
header
gpiolib: cdev: sort includes
gpiolib: cdev: minor indentation fixes
gpiolib: cdev: refactor gpiohandle_flags_to_desc_flags
gpiolib: cdev: rename 'filep' and 'filp' to 'file' to be consistent
with other use
gpiolib: cdev: rename numdescs to num_descs
gpiolib: cdev: remove pointless decrement of i
gpiolib: cdev: complete the irq/thread timestamp handshake
gpiolib: cdev: rename priv to gcdev
gpiolib: cdev: fix minor race in GET_LINEINFO_WATCH
gpiolib: cdev: remove recalculation of offset
gpio: uapi: define GPIO_MAX_NAME_SIZE for array sizes
gpio: uapi: define uAPI V2
gpiolib: make cdev a build option
gpiolib: add build option for CDEV V1 ABI
gpiolib: cdev: add V2 uAPI implementation to parity with V1
gpiolib: cdev: report edge detection in lineinfo
gpiolib: cdev: support setting debounce
gpio: uapi: document uAPI V1 as deprecated
tools: gpio: switch tools to V2 uAPI
tools: gpio: add debounce support to gpio-event-mon
tools: gpio: support monitoring multiple lines

drivers/gpio/Kconfig | 28 +-
drivers/gpio/Makefile | 2 +-
drivers/gpio/gpiolib-cdev.c | 1610 ++++++++++++++++++++++++++++------
drivers/gpio/gpiolib-cdev.h | 15 +
drivers/gpio/gpiolib-sysfs.c | 1 +
drivers/gpio/gpiolib-sysfs.h | 24 +
drivers/gpio/gpiolib.c | 3 +
drivers/gpio/gpiolib.h | 24 +-
include/uapi/linux/gpio.h | 280 +++++-
tools/gpio/gpio-event-mon.c | 133 +--
tools/gpio/gpio-hammer.c | 28 +-
tools/gpio/gpio-utils.c | 107 +--
tools/gpio/gpio-utils.h | 48 +-
tools/gpio/gpio-watch.c | 10 +-
tools/gpio/lsgpio.c | 112 ++-
15 files changed, 1933 insertions(+), 492 deletions(-)
create mode 100644 drivers/gpio/gpiolib-sysfs.h


base-commit: 84651e81ee3323c7d544edfa6ac6026425fe5a52
--
2.27.0