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 | 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 | 190 | #if IS_REACHABLE(CONFIG_ASUS_WMI) |
| 177 | 191 | void set_ally_mcu_hack(enum asus_ally_mcu_hack status); |
| 178 | 192 | void set_ally_mcu_powersave(bool enabled); |
| 179 | 193 | int asus_wmi_get_devstate_dsts(u32 dev_id, u32 *retval); |
| 180 | 194 | int asus_wmi_set_devstate(u32 dev_id, u32 ctrl_param, u32 *retval); |
| 181 | 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 | 199 | #else |
| 183 | 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 | 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 | 230 | #endif |
| 203 | 231 | |
| 204 | 232 | #endif /* __PLATFORM_DATA_X86_ASUS_WMI_H */ |