Re: [PATCH] hwmon: (yogafan) various markup improvements

From: Sergio Melas

Date: Tue Apr 07 2026 - 07:06:39 EST


Thank you, Randy.
I will incorporate these markup improvements into the next version of
the patch set.

On Tue, Apr 7, 2026 at 7:23 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> There are several places in yogafan.rst where it appears that lines
> are meant to be presented on their own but instead they are strung
> together due to the lack of markups. Fix these issues by:
>
> - using bullets where needed
> - indenting continuation lines of bulleted items
> - using a table where appropriate
> - using a literal block where appropriate
>
> Fixes: c67c248ca406 ("hwmon: (yogafan) Add support for Lenovo Yoga/Legion fan monitoring")
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> ---
> Cc: Sergio Melas <sergiomelas@xxxxxxxxx>
> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
> Cc: linux-hwmon@xxxxxxxxxxxxxxx
> Cc: Jonathan Corbet <corbet@xxxxxxx>
> Cc: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
> Cc: linux-doc@xxxxxxxxxxxxxxx
>
> Documentation/hwmon/yogafan.rst | 55 ++++++++++++++++--------------
> 1 file changed, 31 insertions(+), 24 deletions(-)
>
> --- linux-next-20260406.orig/Documentation/hwmon/yogafan.rst
> +++ linux-next-20260406/Documentation/hwmon/yogafan.rst
> @@ -7,8 +7,8 @@ Kernel driver yogafan
> Supported chips:
>
> * Lenovo Yoga, Legion, IdeaPad, Slim, Flex, and LOQ Embedded Controllers
> - Prefix: 'yogafan'
> - Addresses: ACPI handle (See Database Below)
> + * Prefix: 'yogafan'
> + * Addresses: ACPI handle (See Database Below)
>
> Author: Sergio Melas <sergiomelas@xxxxxxxxx>
>
> @@ -31,19 +31,21 @@ deterministically via a DMI Product Fami
> eliminating the need for runtime heuristics.
>
> 1. 8-bit EC Architecture (Multiplier: 100)
> +
> - **Families:** Yoga, IdeaPad, Slim, Flex.
> - **Technical Detail:** These models allocate a single 8-bit register for
> - tachometer data. Since 8-bit fields are limited to a value of 255, the
> - BIOS stores fan speed in units of 100 RPM (e.g., 42 = 4200 RPM).
> + tachometer data. Since 8-bit fields are limited to a value of 255, the
> + BIOS stores fan speed in units of 100 RPM (e.g., 42 = 4200 RPM).
>
> 2. 16-bit EC Architecture (Multiplier: 1)
> +
> - **Families:** Legion, LOQ.
> - **Technical Detail:** High-performance gaming models require greater
> - precision for fans exceeding 6000 RPM. These use a 16-bit word (2 bytes)
> - storing the raw RPM value directly.
> + precision for fans exceeding 6000 RPM. These use a 16-bit word (2 bytes)
> + storing the raw RPM value directly.
>
> -Filter Details:
> ----------------
> +Filter Details
> +--------------
>
> The RLLag filter is a passive discrete-time first-order lag model that ensures:
> - **Smoothing:** Low-resolution step increments are smoothed into 1-RPM increments.
> @@ -66,8 +68,11 @@ Usage
> -----
>
> The driver exposes standard hwmon sysfs attributes:
> +
> +=============== ============================
> Attribute Description
> fanX_input Filtered fan speed in RPM.
> +=============== ============================
>
>
> Note: If the hardware reports 0 RPM, the filter is bypassed and 0 is reported
> @@ -78,22 +83,24 @@ immediately to ensure the user knows the
> LENOVO FAN CONTROLLER: MASTER REFERENCE DATABASE (2026)
> ====================================================================================================
>
> -MODEL (DMI PN) | FAMILY / SERIES | EC OFFSET | FULL ACPI OBJECT PATH | WIDTH | MULTiplier
> -----------------------------------------------------------------------------------------------------
> -82N7 | Yoga 14cACN | 0x06 | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
> -80V2 / 81C3 | Yoga 710/720 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> -83E2 / 83DN | Yoga Pro 7/9 | 0xFE | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
> -82A2 / 82A3 | Yoga Slim 7 | 0x06 | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
> -81YM / 82FG | IdeaPad 5 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> -82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
> -82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
> -82WQ | Legion 7i (Int) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
> -82WQ | Legion 7i (Int) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
> -82XV / 83DV | LOQ 15/16 | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS /FA2S | 16-bit | 1
> -83AK | ThinkBook G6 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> -81X1 | Flex 5 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> -*Legacy* | Pre-2020 Models | 0x06 | \_SB.PCI0.LPC.EC.FAN0 | 8-bit | 100
> -----------------------------------------------------------------------------------------------------
> +::
> +
> + MODEL (DMI PN) | FAMILY / SERIES | EC OFFSET | FULL ACPI OBJECT PATH | WIDTH | MULTiplier
> + ----------------------------------------------------------------------------------------------------
> + 82N7 | Yoga 14cACN | 0x06 | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
> + 80V2 / 81C3 | Yoga 710/720 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> + 83E2 / 83DN | Yoga Pro 7/9 | 0xFE | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
> + 82A2 / 82A3 | Yoga Slim 7 | 0x06 | \_SB.PCI0.LPC0.EC0.FANS | 8-bit | 100
> + 81YM / 82FG | IdeaPad 5 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> + 82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
> + 82JW / 82JU | Legion 5 (AMD) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
> + 82WQ | Legion 7i (Int) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS (Fan1) | 16-bit | 1
> + 82WQ | Legion 7i (Int) | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FA2S (Fan2) | 16-bit | 1
> + 82XV / 83DV | LOQ 15/16 | 0xFE/0xFF | \_SB.PCI0.LPC0.EC0.FANS /FA2S | 16-bit | 1
> + 83AK | ThinkBook G6 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> + 81X1 | Flex 5 | 0x06 | \_SB.PCI0.LPC0.EC0.FAN0 | 8-bit | 100
> + *Legacy* | Pre-2020 Models | 0x06 | \_SB.PCI0.LPC.EC.FAN0 | 8-bit | 100
> + ----------------------------------------------------------------------------------------------------
>
> METHODOLOGY & IDENTIFICATION:
>