Pull x86 platform driver updates from Hans de Goede: "Highlights: - New think-lmi driver adding support for changing Lenovo Thinkpad BIOS settings from within Linux using the standard firmware- attributes class sysfs API - MS Surface aggregator-cdev now also supports forwarding events to user-space (for debugging / new driver development purposes only) - New intel_skl_int3472 driver this provides the necessary glue to translate ACPI table information to GPIOs, regulators, etc. for camera sensors on Intel devices with IPU3 attached MIPI cameras - A whole bunch of other fixes + device-specific quirk additions - New devm_work_autocancel() devm-helpers.h function" * tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (83 commits) platform/x86: dell-wmi-sysman: Change user experience when Admin/System Password is modified platform/x86: intel_skl_int3472: Uninitialized variable in skl_int3472_handle_gpio_resources() platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release() platform/x86: think-lmi: Split current_value to reflect only the value platform/x86: think-lmi: Fix issues with duplicate attributes platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string platform/x86: intel_cht_int33fe: Move to its own subfolder platform/x86: intel_skl_int3472: Move to intel/ subfolder platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_clock() platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_regulator() platform/x86: intel_skl_int3472: Use ACPI GPIO resource directly platform/x86: intel_skl_int3472: Fix dependencies (drop CLKDEV_LOOKUP) platform/x86: intel_skl_int3472: Free ACPI device resources after use platform/x86: Remove "default n" entries platform/x86: ISST: Use numa node id for cpu pci dev mapping platform/x86: ISST: Optimize CPU to PCI device mapping tools/power/x86/intel-speed-select: v1.10 release tools/power/x86/intel-speed-select: Fix uncore memory frequency display extcon: extcon-max8997: Simplify driver using devm extcon: extcon-max8997: Fix IRQ freeing at error path ...
Showing the changes to include/uapi (1 of 95 files). Show all
Unified · Split
| @@ -6,7 +6,7 @@ · 5 unmodified lines | |||
| 6 | * device. This device provides direct user-space access to the SSAM EC. | 6 | * device. This device provides direct user-space access to the SSAM EC. |
| 7 | * Intended for debugging and development. | 7 | * Intended for debugging and development. |
| 8 | * | 8 | * |
| 9 | * Copyright (C) 2020 Maximilian Luz <luzmaximilian@gmail.com> | 9 | * Copyright (C) 2020-2021 Maximilian Luz <luzmaximilian@gmail.com> |
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H | 12 | #ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H |
| @@ -73,6 +73,75 @@ struct ssam_cdev_request { · 60 unmodified lines | |||
| 73 | } response; | 73 | } response; |
| 74 | } __attribute__((__packed__)); | 74 | } __attribute__((__packed__)); |
| 75 | 75 | ||
| 76 | #define SSAM_CDEV_REQUEST _IOWR(0xA5, 1, struct ssam_cdev_request) | 76 | /** |
| 77 | * struct ssam_cdev_notifier_desc - Notifier descriptor. | ||
| 78 | * @priority: Priority value determining the order in which notifier | ||
| 79 | * callbacks will be called. A higher value means higher | ||
| 80 | * priority, i.e. the associated callback will be executed | ||
| 81 | * earlier than other (lower priority) callbacks. | ||
| 82 | * @target_category: The event target category for which this notifier should | ||
| 83 | * receive events. | ||
| 84 | * | ||
| 85 | * Specifies the notifier that should be registered or unregistered, | ||
| 86 | * specifically with which priority and for which target category of events. | ||
| 87 | */ | ||
| 88 | struct ssam_cdev_notifier_desc { | ||
| 89 | __s32 priority; | ||
| 90 | __u8 target_category; | ||
| 91 | } __attribute__((__packed__)); | ||
| 92 | |||
| 93 | /** | ||
| 94 | * struct ssam_cdev_event_desc - Event descriptor. | ||
| 95 | * @reg: Registry via which the event will be enabled/disabled. | ||
| 96 | * @reg.target_category: Target category for the event registry requests. | ||
| 97 | * @reg.target_id: Target ID for the event registry requests. | ||
| 98 | * @reg.cid_enable: Command ID for the event-enable request. | ||
| 99 | * @reg.cid_disable: Command ID for the event-disable request. | ||
| 100 | * @id: ID specifying the event. | ||
| 101 | * @id.target_category: Target category of the event source. | ||
| 102 | * @id.instance: Instance ID of the event source. | ||
| 103 | * @flags: Flags used for enabling the event. | ||
| 104 | * | ||
| 105 | * Specifies which event should be enabled/disabled and how to do that. | ||
| 106 | */ | ||
| 107 | struct ssam_cdev_event_desc { | ||
| 108 | struct { | ||
| 109 | __u8 target_category; | ||
| 110 | __u8 target_id; | ||
| 111 | __u8 cid_enable; | ||
| 112 | __u8 cid_disable; | ||
| 113 | } reg; | ||
| 114 | |||
| 115 | struct { | ||
| 116 | __u8 target_category; | ||
| 117 | __u8 instance; | ||
| 118 | } id; | ||
| 119 | |||
| 120 | __u8 flags; | ||
| 121 | } __attribute__((__packed__)); | ||
| 122 | |||
| 123 | /** | ||
| 124 | * struct ssam_cdev_event - SSAM event sent by the EC. | ||
| 125 | * @target_category: Target category of the event source. See &enum ssam_ssh_tc. | ||
| 126 | * @target_id: Target ID of the event source. | ||
| 127 | * @command_id: Command ID of the event. | ||
| 128 | * @instance_id: Instance ID of the event source. | ||
| 129 | * @length: Length of the event payload in bytes. | ||
| 130 | * @data: Event payload data. | ||
| 131 | */ | ||
| 132 | struct ssam_cdev_event { | ||
| 133 | __u8 target_category; | ||
| 134 | __u8 target_id; | ||
| 135 | __u8 command_id; | ||
| 136 | __u8 instance_id; | ||
| 137 | __u16 length; | ||
| 138 | __u8 data[]; | ||
| 139 | } __attribute__((__packed__)); | ||
| 140 | |||
| 141 | #define SSAM_CDEV_REQUEST _IOWR(0xA5, 1, struct ssam_cdev_request) | ||
| 142 | #define SSAM_CDEV_NOTIF_REGISTER _IOW(0xA5, 2, struct ssam_cdev_notifier_desc) | ||
| 143 | #define SSAM_CDEV_NOTIF_UNREGISTER _IOW(0xA5, 3, struct ssam_cdev_notifier_desc) | ||
| 144 | #define SSAM_CDEV_EVENT_ENABLE _IOW(0xA5, 4, struct ssam_cdev_event_desc) | ||
| 145 | #define SSAM_CDEV_EVENT_DISABLE _IOW(0xA5, 5, struct ssam_cdev_event_desc) | ||
| 77 | 146 | ||
| 78 | #endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H */ | 147 | #endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H */ |