History

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

Pull x86 platform driver updates from Ilpo Järvinen: "Highlights: - amd/pmf: - Avoid overwriting BIOS input values when events occur rapidly - Fix PMF driver issues related to S4 (in part on crypto/ccp side) - Add NPU metrics API (for accel side consumers) - Allow disabling Smart PC function through a module parameter - asus-wmi & HID/asus: - Unification of backlight control (replaces quirks) - Support multiple interfaces for controlling keyboard/RGB brightness - Simplify init sequence - hp-wmi: - Add manual fan control for Victus S models - Add fan mode keep-alive - Fix platform profile values for Omen 16-wf1xxx - Add EC offset to get the thermal profile - intel/pmc: Show substate residencies also for non-primary PMCs - intel/ISST: - Store and restore data for all domains - Write interface improvements - lenovo-wmi: - Support multiple Capability Data - Add HWMON reporting and tuning support - mellanox/mlx-platform: Add HI173 & HI174 support - surface/aggregator_registry: Add Surface Pro 11 (QCOM) - thinkpad_acpi: Add support for HW damage detection capability - uniwill: Implement cTGP setting - wmi: - Introduce marshalling support - Convert a few drivers to use the new buffer-based WMI API - tools/power/x86/intel-speed-select: Allow read operations for non-root - Miscellaneous cleanups / refactoring / improvements" * tag 'platform-drivers-x86-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (68 commits) platform/x86: lenovo-wmi-{capdata,other}: Fix HWMON channel visibility platform/x86: hp-wmi: Add EC offsets to read Victus S thermal profile platform: mellanox: mlx-platform: Add support DGX flavor of next-generation 800GB/s ethernet switch. platform: mellanox: mlx-platform: Add support for new Nvidia DGX system based on class VMOD0010 HID: asus: add support for the asus-wmi brightness handler platform/x86: asus-wmi: add keyboard brightness event handler platform/x86: asus-wmi: remove unused keyboard backlight quirk HID: asus: listen to the asus-wmi brightness device instead of creating one platform/x86: asus-wmi: Add support for multiple kbd led handlers HID: asus: early return for ROG devices HID: asus: move vendor initialization to probe HID: asus: fortify keyboard handshake HID: asus: use same report_id in response HID: asus: initialize additional endpoints only for certain devices HID: asus: simplify RGB init sequence platform/wmi: string-kunit: Add missing oversized string test case platform/x86/amd/pmf: Added a module parameter to disable the Smart PC function platform/x86/uniwill: Implement cTGP setting platform/x86: uniwill-laptop: Introduce device descriptor system platform/x86/amd: Use scope-based cleanup for wbrf_record() ...

Linus Torvalds committed 9 months ago

Commit f50822f2 parents 1b49e36 5a5203a61 files · +5390 −953Browse files

Showing the changes to include/linux/platform_data (2 of 61 files). Show all

Unified · Split

2 files
  1. include/linux/platform_data/x86/asus-wmi-leds-ids.h +0 −50
  2. include/linux/platform_data/x86/asus-wmi.h +28 −0
include/linux/platform_data/x86/asus-wmi-leds-ids.h+0−50
@@ -1,50 +0,0 @@
1−/* SPDX-License-Identifier: GPL-2.0 */
2−#ifndef __PLATFORM_DATA_X86_ASUS_WMI_LEDS_IDS_H
3−#define __PLATFORM_DATA_X86_ASUS_WMI_LEDS_IDS_H
4−
5−#include <linux/dmi.h>
6−#include <linux/types.h>
7−
8−/* To be used by both hid-asus and asus-wmi to determine which controls kbd_brightness */
9−#if IS_REACHABLE(CONFIG_ASUS_WMI) || IS_REACHABLE(CONFIG_HID_ASUS)
10−static const struct dmi_system_id asus_use_hid_led_dmi_ids[] = {
11− {
12− .matches = {
13− DMI_MATCH(DMI_PRODUCT_FAMILY, "ROG Zephyrus"),
14− },
15− },
16− {
17− .matches = {
18− DMI_MATCH(DMI_PRODUCT_FAMILY, "ROG Strix"),
19− },
20− },
21− {
22− .matches = {
23− DMI_MATCH(DMI_PRODUCT_FAMILY, "ROG Flow"),
24− },
25− },
26− {
27− .matches = {
28− DMI_MATCH(DMI_PRODUCT_FAMILY, "ProArt P16"),
29− },
30− },
31− {
32− .matches = {
33− DMI_MATCH(DMI_BOARD_NAME, "GA403U"),
34− },
35− },
36− {
37− .matches = {
38− DMI_MATCH(DMI_BOARD_NAME, "GU605M"),
39− },
40− },
41− {
42− .matches = {
43− DMI_MATCH(DMI_BOARD_NAME, "RC71L"),
44− },
45− },
46− { },
47−};
48−#endif
49−
50−#endif /* __PLATFORM_DATA_X86_ASUS_WMI_LEDS_IDS_H */
include/linux/platform_data/x86/asus-wmi.h+28−0
@@ -173,12 +173,29 @@ enum asus_ally_mcu_hack { · 172 unmodified lines
173173 ASUS_WMI_ALLY_MCU_HACK_DISABLED,
174174 };
175175
176+/* Used to notify hid-asus when asus-wmi changes keyboard backlight */
177+struct asus_hid_listener {
178+ struct list_head list;
179+ void (*brightness_set)(struct asus_hid_listener *listener, int brightness);
180+};
181+
182+enum asus_hid_event {
183+ ASUS_EV_BRTUP,
184+ ASUS_EV_BRTDOWN,
185+ ASUS_EV_BRTTOGGLE,
186+};
187+
188+#define ASUS_EV_MAX_BRIGHTNESS 3
189+
176190 #if IS_REACHABLE(CONFIG_ASUS_WMI)
177191 void set_ally_mcu_hack(enum asus_ally_mcu_hack status);
178192 void set_ally_mcu_powersave(bool enabled);
179193 int asus_wmi_get_devstate_dsts(u32 dev_id, u32 *retval);
180194 int asus_wmi_set_devstate(u32 dev_id, u32 ctrl_param, u32 *retval);
181195 int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1, u32 *retval);
196+int asus_hid_register_listener(struct asus_hid_listener *cdev);
197+void asus_hid_unregister_listener(struct asus_hid_listener *cdev);
198+int asus_hid_event(enum asus_hid_event event);
182199 #else
183200 static inline void set_ally_mcu_hack(enum asus_ally_mcu_hack status)
184201 {
@@ -199,6 +216,17 @@ static inline int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1, · 14 unmodified lines
199216 {
200217 return -ENODEV;
201218 }
219+static inline int asus_hid_register_listener(struct asus_hid_listener *bdev)
220+{
221+ return -ENODEV;
222+}
223+static inline void asus_hid_unregister_listener(struct asus_hid_listener *bdev)
224+{
225+}
226+static inline int asus_hid_event(enum asus_hid_event event)
227+{
228+ return -ENODEV;
229+}
202230 #endif
203231
204232 #endif /* __PLATFORM_DATA_X86_ASUS_WMI_H */