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