Extend the user-space debug interface so that it can be used to receive SSAM events in user-space. Version 1 and rationale: https://lore.kernel.org/platform-driver-x86/20210603234526.2503590-1-luzmaximilian@xxxxxxxxx/ Changes in version 2: - PATCH 2/7: Avoid code duplication, remove unused variable - PATCH 4/7: Add missing mutex_destroy() calls Maximilian Luz (7): platform/surface: aggregator: Allow registering notifiers without enabling events platform/surface: aggregator: Allow enabling of events without notifiers platform/surface: aggregator: Update copyright platform/surface: aggregator_cdev: Add support for forwarding events to user-space platform/surface: aggregator_cdev: Allow enabling of events from user-space platform/surface: aggregator_cdev: Add lockdep support docs: driver-api: Update Surface Aggregator user-space interface documentation .../surface_aggregator/clients/cdev.rst | 127 ++++- .../userspace-api/ioctl/ioctl-number.rst | 2 +- drivers/platform/surface/aggregator/Kconfig | 2 +- drivers/platform/surface/aggregator/Makefile | 2 +- drivers/platform/surface/aggregator/bus.c | 2 +- drivers/platform/surface/aggregator/bus.h | 2 +- .../platform/surface/aggregator/controller.c | 332 +++++++++-- .../platform/surface/aggregator/controller.h | 2 +- drivers/platform/surface/aggregator/core.c | 2 +- .../platform/surface/aggregator/ssh_msgb.h | 2 +- .../surface/aggregator/ssh_packet_layer.c | 2 +- .../surface/aggregator/ssh_packet_layer.h | 2 +- .../platform/surface/aggregator/ssh_parser.c | 2 +- .../platform/surface/aggregator/ssh_parser.h | 2 +- .../surface/aggregator/ssh_request_layer.c | 2 +- .../surface/aggregator/ssh_request_layer.h | 2 +- drivers/platform/surface/aggregator/trace.h | 2 +- .../surface/surface_aggregator_cdev.c | 534 +++++++++++++++++- include/linux/surface_aggregator/controller.h | 27 +- include/linux/surface_aggregator/device.h | 2 +- include/linux/surface_aggregator/serial_hub.h | 2 +- include/uapi/linux/surface_aggregator/cdev.h | 73 ++- 22 files changed, 1018 insertions(+), 109 deletions(-) -- 2.31.1