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 (1 of 95 files). Show all

Unified · Split

include/uapi/linux/surface_aggregator/cdev.h+71−2
@@ -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_H12#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 */
88struct 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 */
107struct 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 */
132struct 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 */