Pull x86 platform driver updates from Hans de Goede: "Highlights: - Microsoft Surface devices System Aggregator Module support - SW_TABLET_MODE reporting improvements - thinkpad_acpi keyboard language setting support - platform / DPTF profile settings support: - Base / userspace API parts merged from Rafael's acpi-platform branch - thinkpad_acpi and ideapad-laptop support through pdx86 - Remove support for some obsolete Intel MID platforms through merging of the shared intel-mid-removal branch - Big cleanup of the ideapad-laptop driver - Misc other fixes / new hw support / quirks" * tag 'platform-drivers-x86-v5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (99 commits) platform/x86: intel_scu_ipc: Increase virtual timeout from 3 to 5 seconds platform/surface: aggregator: Fix access of unaligned value tools/power/x86/intel-speed-select: Update version to 1.8 tools/power/x86/intel-speed-select: Add new command to get/set TRL tools/power/x86/intel-speed-select: Add new command turbo-mode Platform: OLPC: Constify static struct regulator_ops platform/surface: Add Surface Hot-Plug driver platform/x86: intel_scu_wdt: Drop mistakenly added const platform/x86: Kconfig: add missing selects for ideapad-laptop platform/x86: acer-wmi: Don't use ACPI_EXCEPTION() platform/x86: thinkpad_acpi: Replace ifdef CONFIG_ACPI_PLATFORM_PROFILE with depends on platform/x86: thinkpad_acpi: Fix 'warning: no previous prototype for' warnings platform/x86: msi-wmi: Fix variable 'status' set but not used compiler warning platform/surface: surface3-wmi: Fix variable 'status' set but not used compiler warning platform/x86: Move all dell drivers to their own subdirectory Documentation/ABI: sysfs-platform-ideapad-laptop: conservation_mode attribute Documentation/ABI: sysfs-platform-ideapad-laptop: update device attribute paths platform/x86: ideapad-laptop: add "always on USB charging" control support platform/x86: ideapad-laptop: add keyboard backlight control support platform/x86: ideapad-laptop: send notification about touchpad state change to sysfs ...
Showing the changes to include/uapi (1 of 108 files). Show all
Unified · Split
| @@ -0,0 +1,78 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | ||
| 2 | /* | ||
| 3 | * Surface System Aggregator Module (SSAM) user-space EC interface. | ||
| 4 | * | ||
| 5 | * Definitions, structs, and IOCTLs for the /dev/surface/aggregator misc | ||
| 6 | * device. This device provides direct user-space access to the SSAM EC. | ||
| 7 | * Intended for debugging and development. | ||
| 8 | * | ||
| 9 | * Copyright (C) 2020 Maximilian Luz <luzmaximilian@gmail.com> | ||
| 10 | */ | ||
| 11 | |||
| 12 | #ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H | ||
| 13 | #define _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H | ||
| 14 | |||
| 15 | #include <linux/ioctl.h> | ||
| 16 | #include <linux/types.h> | ||
| 17 | |||
| 18 | /** | ||
| 19 | * enum ssam_cdev_request_flags - Request flags for SSAM cdev request IOCTL. | ||
| 20 | * | ||
| 21 | * @SSAM_CDEV_REQUEST_HAS_RESPONSE: | ||
| 22 | * Specifies that the request expects a response. If not set, the request | ||
| 23 | * will be directly completed after its underlying packet has been | ||
| 24 | * transmitted. If set, the request transport system waits for a response | ||
| 25 | * of the request. | ||
| 26 | * | ||
| 27 | * @SSAM_CDEV_REQUEST_UNSEQUENCED: | ||
| 28 | * Specifies that the request should be transmitted via an unsequenced | ||
| 29 | * packet. If set, the request must not have a response, meaning that this | ||
| 30 | * flag and the %SSAM_CDEV_REQUEST_HAS_RESPONSE flag are mutually | ||
| 31 | * exclusive. | ||
| 32 | */ | ||
| 33 | enum ssam_cdev_request_flags { | ||
| 34 | SSAM_CDEV_REQUEST_HAS_RESPONSE = 0x01, | ||
| 35 | SSAM_CDEV_REQUEST_UNSEQUENCED = 0x02, | ||
| 36 | }; | ||
| 37 | |||
| 38 | /** | ||
| 39 | * struct ssam_cdev_request - Controller request IOCTL argument. | ||
| 40 | * @target_category: Target category of the SAM request. | ||
| 41 | * @target_id: Target ID of the SAM request. | ||
| 42 | * @command_id: Command ID of the SAM request. | ||
| 43 | * @instance_id: Instance ID of the SAM request. | ||
| 44 | * @flags: Request flags (see &enum ssam_cdev_request_flags). | ||
| 45 | * @status: Request status (output). | ||
| 46 | * @payload: Request payload (input data). | ||
| 47 | * @payload.data: Pointer to request payload data. | ||
| 48 | * @payload.length: Length of request payload data (in bytes). | ||
| 49 | * @response: Request response (output data). | ||
| 50 | * @response.data: Pointer to response buffer. | ||
| 51 | * @response.length: On input: Capacity of response buffer (in bytes). | ||
| 52 | * On output: Length of request response (number of bytes | ||
| 53 | * in the buffer that are actually used). | ||
| 54 | */ | ||
| 55 | struct ssam_cdev_request { | ||
| 56 | __u8 target_category; | ||
| 57 | __u8 target_id; | ||
| 58 | __u8 command_id; | ||
| 59 | __u8 instance_id; | ||
| 60 | __u16 flags; | ||
| 61 | __s16 status; | ||
| 62 | |||
| 63 | struct { | ||
| 64 | __u64 data; | ||
| 65 | __u16 length; | ||
| 66 | __u8 __pad[6]; | ||
| 67 | } payload; | ||
| 68 | |||
| 69 | struct { | ||
| 70 | __u64 data; | ||
| 71 | __u16 length; | ||
| 72 | __u8 __pad[6]; | ||
| 73 | } response; | ||
| 74 | } __attribute__((__packed__)); | ||
| 75 | |||
| 76 | #define SSAM_CDEV_REQUEST _IOWR(0xA5, 1, struct ssam_cdev_request) | ||
| 77 | |||
| 78 | #endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H */ | ||