[PATCH 0/2] platform/x86: asus-armoury: add Whisper Mode support

From: Marco Scardovi

Date: Tue Jul 28 2026 - 03:27:56 EST


This series introduces support for ASUS WMI Whisper Mode hardware controls
in the asus-wmi header and asus-armoury driver.

Background & Findings:
----------------------
After talking with Denis and thanks to NeuroMarshal reverse engineering and
firmware trace analysis on modern ASUS laptops, three specific WMI Device IDs
were identified that manage acoustic profiles and thermal regulation under
ASUS Whisper Mode:

1. ASUS_WMI_DEVID_WHISPER_MODE (0x0012007A):
- Controls the BIOS-level Whisper Mode acoustic profile toggle (read/write boolean).
2. ASUS_WMI_DEVID_WHISPER_ENABLE (0x00090022):
- Enables or disables Dynamic Whisper acoustic regulation (read/write boolean).
3. ASUS_WMI_DEVID_WHISPER_STATUS (0x00090023):
- Reports status and allows runtime control over Dynamic Whisper state (read/write boolean).

Series Overview:
----------------
- Patch 1/2: Adds WMI Device ID macro definitions to
include/linux/platform_data/x86/asus-wmi.h.
- Patch 2/2: Exposes whisper_mode, whisper_enable, and whisper_status sysfs
attribute groups in drivers/platform/x86/asus-armoury.c.

Safety & Compatibility:
-----------------------
All newly introduced attributes are probed via armoury_has_devstate() before
sysfs registration. On devices where these WMI methods are not implemented by
firmware, the sysfs nodes are gracefully omitted without impacting existing
attributes or functionality.

Validation:
-----------
- Build verification against linux-next cleanly with zero warnings or errors.
- Coding style and formatting verified via git diff --check.

Note:
-----------
Unfortunately, due to it being missing on my laptop, I'm not able to verify
if the WhisperMode works as intended. The values are the same reported by
NeuroMarshal on his reverse engineering of Armoury Crate [1] so they *should*
work.

[1] https://github.com/NeuroMarshal/armoury-linux-probe

Marco Scardovi (2):
platform/x86: asus-wmi: add Whisper Mode WMI device ID defines
platform/x86: asus-armoury: add Whisper Mode attributes

drivers/platform/x86/asus-armoury.c | 14 ++++++++++++++
include/linux/platform_data/x86/asus-wmi.h | 5 +++++
2 files changed, 19 insertions(+)

--
2.55.0