drivers/hwmon/yogafan.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+)
Add DMI quirk entries and map correct ACPI paths and configurations for
additional Lenovo laptop models: Yoga 14cACN 2021, IdeaPad 3 15ALC6 Ub
and Yoga 740-15IML, leveraging DMI product family matching.
Signed-off-by: Sergio Melas <sergiomelas@gmail.com>
---
drivers/hwmon/yogafan.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/drivers/hwmon/yogafan.c b/drivers/hwmon/yogafan.c
index 413ddc721..aa3284560 100644
--- a/drivers/hwmon/yogafan.c
+++ b/drivers/hwmon/yogafan.c
@@ -53,6 +53,11 @@ struct yoga_fan_data {
};
/* Specific configurations mapped via DMI */
+static const struct yogafan_config yoga_740_15iml_cfg = {
+ .multiplier = 100,
+ .fan_count = 1,
+ .paths = { "\\_SB.PCI0.LPCB.EC0.FANS", NULL }
+};
static const struct yogafan_config yoga_8bit_fans_cfg = {
.multiplier = 100,
@@ -200,6 +205,30 @@ static const struct hwmon_chip_info yoga_fan_chip_info = {
};
static const struct dmi_system_id yogafan_quirks[] = {
+ {
+ .ident = "Lenovo Yoga 740-15IML",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_FAMILY, "Yoga 740-15IML"),
+ },
+ .driver_data = (void *)&yoga_740_15iml_cfg,
+ },
+ {
+ .ident = "Lenovo IdeaPad 3 15ALC6 Ub",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_FAMILY, "IdeaPad 3 15ALC6 Ub"),
+ },
+ .driver_data = (void *)&xiaoxin_8bit_dual_cfg,
+ },
+ {
+ .ident = "Yoga 14cACN 2021",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_FAMILY, "Yoga 14cACN 2021"),
+ },
+ .driver_data = (void *)&yoga_8bit_fans_cfg,
+ },
{
.ident = "Lenovo LOQ 15IAX9",
.matches = {
--
2.55.0
On 9/7/26 04:29, Sergio Melas wrote:
> Add DMI quirk entries and map correct ACPI paths and configurations for
> additional Lenovo laptop models: Yoga 14cACN 2021, IdeaPad 3 15ALC6 Ub
> and Yoga 740-15IML, leveraging DMI product family matching.
>
> Signed-off-by: Sergio Melas <sergiomelas@gmail.com>
> ---
This should be tagged v2, and change log goes here.
Guenter
> drivers/hwmon/yogafan.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/drivers/hwmon/yogafan.c b/drivers/hwmon/yogafan.c
> index 413ddc721..aa3284560 100644
> --- a/drivers/hwmon/yogafan.c
> +++ b/drivers/hwmon/yogafan.c
> @@ -53,6 +53,11 @@ struct yoga_fan_data {
> };
>
> /* Specific configurations mapped via DMI */
> +static const struct yogafan_config yoga_740_15iml_cfg = {
> + .multiplier = 100,
> + .fan_count = 1,
> + .paths = { "\\_SB.PCI0.LPCB.EC0.FANS", NULL }
> +};
>
> static const struct yogafan_config yoga_8bit_fans_cfg = {
> .multiplier = 100,
> @@ -200,6 +205,30 @@ static const struct hwmon_chip_info yoga_fan_chip_info = {
> };
>
> static const struct dmi_system_id yogafan_quirks[] = {
> + {
> + .ident = "Lenovo Yoga 740-15IML",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_FAMILY, "Yoga 740-15IML"),
> + },
> + .driver_data = (void *)&yoga_740_15iml_cfg,
> + },
> + {
> + .ident = "Lenovo IdeaPad 3 15ALC6 Ub",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_FAMILY, "IdeaPad 3 15ALC6 Ub"),
> + },
> + .driver_data = (void *)&xiaoxin_8bit_dual_cfg,
> + },
> + {
> + .ident = "Yoga 14cACN 2021",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_FAMILY, "Yoga 14cACN 2021"),
> + },
> + .driver_data = (void *)&yoga_8bit_fans_cfg,
> + },
> {
> .ident = "Lenovo LOQ 15IAX9",
> .matches = {
© 2016 - 2026 Red Hat, Inc.