History

Merge tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

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 ...

Linus Torvalds committed 5 years ago

Commit 776ba3a2 parents ebb81c1 0e695c395 files · +4285 −692Browse files

Showing the changes to include/uapi/linux (1 of 95 files). Show all

Unified · Split

include/uapi/linux/surface_aggregator/cdev.h+71−2
@@ -6,7 +6,7 @@ · 5 unmodified lines
66 * device. This device provides direct user-space access to the SSAM EC.
77 * Intended for debugging and development.
88 *
9− * Copyright (C) 2020 Maximilian Luz <luzmaximilian@gmail.com>
9+ * Copyright (C) 2020-2021 Maximilian Luz <luzmaximilian@gmail.com>
1010 */
1111
1212 #ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H
@@ -73,6 +73,75 @@ struct ssam_cdev_request { · 60 unmodified lines
7373 } response;
7474 } __attribute__((__packed__));
7575
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)
77146
78147 #endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H */