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() ...
Showing the changes to include/linux/platform_data (2 of 61 files). Show all
Unified · Split
| @@ -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 */ | ||
| @@ -173,12 +173,29 @@ enum asus_ally_mcu_hack { · 172 unmodified lines | |||
| 173 | ASUS_WMI_ALLY_MCU_HACK_DISABLED, | 173 | ASUS_WMI_ALLY_MCU_HACK_DISABLED, |
| 174 | }; | 174 | }; |
| 175 | 175 | ||
| 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 | |||
| 176 | #if IS_REACHABLE(CONFIG_ASUS_WMI) | 190 | #if IS_REACHABLE(CONFIG_ASUS_WMI) |
| 177 | void set_ally_mcu_hack(enum asus_ally_mcu_hack status); | 191 | void set_ally_mcu_hack(enum asus_ally_mcu_hack status); |
| 178 | void set_ally_mcu_powersave(bool enabled); | 192 | void set_ally_mcu_powersave(bool enabled); |
| 179 | int asus_wmi_get_devstate_dsts(u32 dev_id, u32 *retval); | 193 | int asus_wmi_get_devstate_dsts(u32 dev_id, u32 *retval); |
| 180 | int asus_wmi_set_devstate(u32 dev_id, u32 ctrl_param, u32 *retval); | 194 | int asus_wmi_set_devstate(u32 dev_id, u32 ctrl_param, u32 *retval); |
| 181 | int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1, u32 *retval); | 195 | 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); | ||
| 182 | #else | 199 | #else |
| 183 | static inline void set_ally_mcu_hack(enum asus_ally_mcu_hack status) | 200 | static inline void set_ally_mcu_hack(enum asus_ally_mcu_hack status) |
| 184 | { | 201 | { |
| @@ -199,6 +216,17 @@ static inline int asus_wmi_evaluate_method(u32 method_id, u32 arg0, u32 arg1, · 14 unmodified lines | |||
| 199 | { | 216 | { |
| 200 | return -ENODEV; | 217 | return -ENODEV; |
| 201 | } | 218 | } |
| 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 | } | ||
| 202 | #endif | 230 | #endif |
| 203 | 231 | ||
| 204 | #endif /* __PLATFORM_DATA_X86_ASUS_WMI_H */ | 232 | #endif /* __PLATFORM_DATA_X86_ASUS_WMI_H */ |