mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
hwmon: (yogafan) Add support for Lenovo LOQ 15IAX9
Add the Lenovo LOQ 15IAX9 product family to the yogafan dmi_system_id table. Unlike the Legion series, ACPI table extraction reveals this LOQ utilizes an 8-bit EC architecture with a 100x multiplier, but maintains a dual-fan setup via the \_SB.PC00.LPCB.EC0.FA1S and FA2S paths. A new loq_15iax9_8bit_dual_cfg structure was added to properly map these hardware registers and calculate RPMs correctly while avoiding path conflicts with AMD-based LOQ variants. Signed-off-by: Sarbajit Sarkar <sarbajitsarkar16108@gmail.com> Link: https://lore.kernel.org/r/20260709183500.13761-1-sarbajitsarkar16108@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
committed by
Guenter Roeck
parent
3b7434feaa
commit
440da016ce
@@ -71,6 +71,12 @@ static const struct yogafan_config legion_16bit_dual_cfg = {
|
||||
.paths = { "\\_SB.PCI0.LPC0.EC0.FANS", "\\_SB.PCI0.LPC0.EC0.FA2S" }
|
||||
};
|
||||
|
||||
static const struct yogafan_config loq_15iax9_8bit_dual_cfg = {
|
||||
.multiplier = 100,
|
||||
.fan_count = 2,
|
||||
.paths = { "\\_SB.PC00.LPCB.EC0.FA1S", "\\_SB.PC00.LPCB.EC0.FA2S" }
|
||||
};
|
||||
|
||||
static void apply_rllag_filter(struct yoga_fan_data *data, int idx, long raw_rpm)
|
||||
{
|
||||
ktime_t now = ktime_get_boottime();
|
||||
@@ -194,6 +200,14 @@ static const struct dmi_system_id yogafan_quirks[] = {
|
||||
},
|
||||
.driver_data = (void *)&ideapad_8bit_fan0_cfg,
|
||||
},
|
||||
{
|
||||
.ident = "Lenovo LOQ 15IAX9",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
DMI_MATCH(DMI_PRODUCT_FAMILY, "LOQ 15IAX9"),
|
||||
},
|
||||
.driver_data = (void *)&loq_15iax9_8bit_dual_cfg,
|
||||
},
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(dmi, yogafan_quirks);
|
||||
|
||||
Reference in New Issue
Block a user