From: Navon John Lukose <navonjohnlukose@gmail.com>
To: linux@roeck-us.net, sergiomelas@gmail.com
Cc: linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org,
Navon John Lukose <navonjohnlukose@gmail.com>
Subject: [PATCH] hwmon: (yogafan) Fix fan paths for Yoga Pro 7 14IAH10
Date: Mon, 14 Sep 2026 03:17:13 +0530 [thread overview]
Message-ID: <20260913214713.205208-1-navonjohnlukose@gmail.com> (raw)
The Yoga Pro 7 14IAH10 entry names \_SB.PC00.LPCB.EC0.FANS, which this
machine's DSDT does not have, so probe matches on DMI, fails to resolve the
path and returns -ENODEV. The EC exposes its two fan tachometers as FA1S
and FA2S, and loq_15iax9_8bit_dual_cfg already describes that layout. Point
the entry at it, and update the reference table row to match.
Fixes: 9c110a467686 ("hwmon: (yogafan) Add support for new Lenovo models")
Signed-off-by: Navon John Lukose <navonjohnlukose@gmail.com>
---
Tested on a Lenovo Yoga Pro 7 14IAH10 (83KF), BIOS QGCN35WW. The EC field
block declares FA1S at offset 0x104 and FA2S at 0x137, both 8 bits, and
FANS does not appear anywhere in the table.
Both fans report after the patch, 0 when stopped and 5600 RPM with the fans
driven to maximum through the vendor WMI method. The multiplier stays at
100, and the AML agrees, reading the fields as (FA1S * 0x64) and
(FA2S * 0x64).
The table also lists the XiaoXinPro 13ARE as machine type 83KF, which is
this machine's DMI product name. I left that row alone.
Documentation/hwmon/yogafan.rst | 3 ++-
drivers/hwmon/yogafan.c | 8 +-------
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/Documentation/hwmon/yogafan.rst b/Documentation/hwmon/yogafan.rst
index 6395c94..84c5d2a 100644
--- a/Documentation/hwmon/yogafan.rst
+++ b/Documentation/hwmon/yogafan.rst
@@ -102,7 +102,8 @@ immediately to ensure the user knows the fan has stopped.
83KF | XiaoXinPro 13ARE | 0x06/0xFE | \_SB.PCI0.LPC0.EC0.FANS/FA2S | 8-bit | 100
82KU | IdeaPad 3 15ALC6 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
83RU | Legion Pro 7 16 | 0x03/0x06 | \_SB.PCI0.LPC0.EC0.FANS/FA2S | 8-bit | 100
- 83KF | Yoga Pro 7 14IAH | 0x06 | \_SB.PC00.LPCB.EC0.FANS | 8-bit | 100
+ 83KF | Yoga Pro 7 14IAH | 0x104 | \_SB.PC00.LPCB.EC0.FA1S (Fan1) | 8-bit | 100
+ 83KF | Yoga Pro 7 14IAH | 0x137 | \_SB.PC00.LPCB.EC0.FA2S (Fan2) | 8-bit | 100
83BS | Yoga 7 16ARP8 | 0x03/0x06 | \_SB.PCI0.LPC0.EC0.FANS/FA2S | 8-bit | 100
*Legacy* | Pre-2020 Models | 0x06 | \_SB.PCI0.LPC.EC.FAN0 | 8-bit | 100
----------------------------------------------------------------------------------------------------
diff --git a/drivers/hwmon/yogafan.c b/drivers/hwmon/yogafan.c
index 278cb08..3fcad00 100644
--- a/drivers/hwmon/yogafan.c
+++ b/drivers/hwmon/yogafan.c
@@ -84,12 +84,6 @@ static const struct yogafan_config xiaoxin_8bit_dual_cfg = {
.paths = { "\\_SB.PCI0.LPC0.EC0.FANS", "\\_SB.PCI0.LPC0.EC0.FA2S" }
};
-static const struct yogafan_config yoga_pro_7_14iah10_cfg = {
- .multiplier = 100,
- .fan_count = 1,
- .paths = { "\\_SB.PC00.LPCB.EC0.FANS", NULL }
-};
-
static void apply_rllag_filter(struct yoga_fan_data *data, int idx, long raw_rpm)
{
ktime_t now = ktime_get_boottime();
@@ -227,7 +221,7 @@ static const struct dmi_system_id yogafan_quirks[] = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_FAMILY, "Yoga Pro 7 14IAH10"),
},
- .driver_data = (void *)&yoga_pro_7_14iah10_cfg,
+ .driver_data = (void *)&loq_15iax9_8bit_dual_cfg,
},
{
.ident = "Lenovo Yoga 7 16ARP8",
base-commit: 22098763a10d9c13
next reply other threads:[~2026-09-13 21:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-13 21:47 Navon John Lukose [this message]
2026-09-13 21:51 ` [PATCH] hwmon: (yogafan) Fix fan paths for Yoga Pro 7 14IAH10 sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260913214713.205208-1-navonjohnlukose@gmail.com \
--to=navonjohnlukose@gmail.com \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=sergiomelas@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.