From: Krishna Chomal krishna.chomal108@gmail.com
[ Upstream commit fb146a38cb119c8d69633851c7a2ce2c8d34861a ]
The newer HP Omen laptops, such as Omen 16-wf1xxx, use the same WMI-based thermal profile interface as Victus 16-r1000 and 16-s1000 models.
Add the DMI board name "8C78" to the victus_s_thermal_profile_boards list to enable proper fan and thermal mode control.
Tested on: HP Omen 16-wf1xxx (board 8C78) Result: * Fan RPMs are readable * echo 0 | sudo tee /sys/devices/platform/hp-wmi/hwmon/*/pwm1_enable allows the fans to run on max RPM.
Signed-off-by: Krishna Chomal krishna.chomal108@gmail.com Link: https://patch.msgid.link/20251018111001.56625-1-krishna.chomal108@gmail.com Reviewed-by: Ilpo Järvinen ilpo.jarvinen@linux.intel.com Signed-off-by: Ilpo Järvinen ilpo.jarvinen@linux.intel.com Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
1. **Commit Message Analysis**: - **Subject**: "platform/x86: hp-wmi: Add Omen 16-wf1xxx fan support" - **Problem**: HP Omen 16-wf1xxx laptops (board ID "8C78") lack fan and thermal profile control. - **Fix**: Adds the board ID to the driver's whitelist (`victus_s_thermal_profile_boards`), enabling the existing WMI thermal interface for this model. - **Signals**: Tested on hardware (positive), Reviewed by maintainer (positive). No "Fixes:" tag, but fixes a hardware support gap.
2. **Deep Code Research**: - **File**: `drivers/platform/x86/hp/hp-wmi.c` - **Mechanism**: The driver uses `dmi_get_system_info(DMI_BOARD_NAME)` to match against `victus_s_thermal_profile_boards`. If matched, `is_victus_s_thermal_profile()` returns true, enabling `hp_wmi_hwmon_read`/`write` callbacks to handle fan speed and thermal profiles via the EC. - **Codebase Context**: The `victus_s` infrastructure was introduced in commit `6e4ab59b8391a` (Jan 2025) and is present in the current stable tree (linux-6.17.y). - **Precedent**: Commit `748f897511446` (Jul 2025) previously added board IDs "8C99" and "8C9C" to the same array and was backported/present in the stable tree. - **Backport Detail**: The patch context shows IDs ("8BBE", "8BD4") that are missing from the current stable tree. This indicates the patch will not apply cleanly (`git apply` will fail on context), but the logic is independent. A trivial backport (manual context adjustment) is required to insert "8C78" into the existing array.
3. **Stable Kernel Rules Compliance**: - **Exception Category**: **New Device IDs** (Explicitly allowed). The stable rules permit adding PCI/USB/ACPI IDs to existing drivers to enable hardware support. Adding a DMI board string functions identically to adding a Device ID. - **User Impact**: High for owners of this hardware (fixes broken thermal management). Low for everyone else. - **Risk**: Negligible. The change is isolated to a specific hardware signature. - **Criteria**: obviously correct (adding string to array), fixes real bug (missing functionality), small scope (1 line).
4. **Conclusion**: The commit effectively acts as a Device ID / Quirk addition, which is a standard exception for stable backports. It enables essential hardware functionality using existing, tested driver paths. The missing context in the stable tree is a minor logistical issue (requires fuzz/manual merge) but does not invalidate the technical correctness or safety of the fix.
**YES**
drivers/platform/x86/hp/hp-wmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c index 9a668e2587952..e10c75d91f248 100644 --- a/drivers/platform/x86/hp/hp-wmi.c +++ b/drivers/platform/x86/hp/hp-wmi.c @@ -95,7 +95,7 @@ static const char * const victus_thermal_profile_boards[] = { /* DMI Board names of Victus 16-r and Victus 16-s laptops */ static const char * const victus_s_thermal_profile_boards[] = { "8BBE", "8BD4", "8BD5", - "8C99", "8C9C" + "8C78", "8C99", "8C9C", };
enum hp_wmi_radio {