hwmon: (dell-smm) Increment the number of fans
authorKurt Borja <kuurtb@gmail.com>
Tue, 4 Mar 2025 05:52:50 +0000 (00:52 -0500)
committerGuenter Roeck <linux@roeck-us.net>
Tue, 11 Mar 2025 14:11:42 +0000 (07:11 -0700)
Some Alienware laptops that support the SMM interface, may have up to 4
fans.

Tested on an Alienware x15 r1.

Signed-off-by: Kurt Borja <kuurtb@gmail.com>
Link: https://lore.kernel.org/r/20250304055249.51940-2-kuurtb@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/dell-smm-hwmon.rst
drivers/hwmon/dell-smm-hwmon.c

index 74905675d71f9943109f9cee10a445ed7ac0bca9..5a4edb6565cf9591cc67fc7d94402fea0fcf40a2 100644 (file)
@@ -32,12 +32,12 @@ Temperature sensors and fans can be queried and set via the standard
 =============================== ======= =======================================
 Name                           Perm    Description
 =============================== ======= =======================================
-fan[1-3]_input                  RO      Fan speed in RPM.
-fan[1-3]_label                  RO      Fan label.
-fan[1-3]_min                    RO      Minimal Fan speed in RPM
-fan[1-3]_max                    RO      Maximal Fan speed in RPM
-fan[1-3]_target                 RO      Expected Fan speed in RPM
-pwm[1-3]                        RW      Control the fan PWM duty-cycle.
+fan[1-4]_input                  RO      Fan speed in RPM.
+fan[1-4]_label                  RO      Fan label.
+fan[1-4]_min                    RO      Minimal Fan speed in RPM
+fan[1-4]_max                    RO      Maximal Fan speed in RPM
+fan[1-4]_target                 RO      Expected Fan speed in RPM
+pwm[1-4]                        RW      Control the fan PWM duty-cycle.
 pwm1_enable                     WO      Enable or disable automatic BIOS fan
                                         control (not supported on all laptops,
                                         see below for details).
@@ -93,7 +93,7 @@ Again, when you find new codes, we'd be happy to have your patches!
 ---------------------------
 
 The driver also exports the fans as thermal cooling devices with
-``type`` set to ``dell-smm-fan[1-3]``. This allows for easy fan control
+``type`` set to ``dell-smm-fan[1-4]``. This allows for easy fan control
 using one of the thermal governors.
 
 Module parameters
index cd00adaad1b414693b9edd98dc202866d684ecd0..79e5606e6d2f8f4353da0693cf1039a8b86cabe2 100644 (file)
@@ -73,7 +73,7 @@
 #define DELL_SMM_LEGACY_EXECUTE        0x1
 
 #define DELL_SMM_NO_TEMP       10
-#define DELL_SMM_NO_FANS       3
+#define DELL_SMM_NO_FANS       4
 
 struct smm_regs {
        unsigned int eax;
@@ -1074,11 +1074,14 @@ static const struct hwmon_channel_info * const dell_smm_info[] = {
                           HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_MIN | HWMON_F_MAX |
                           HWMON_F_TARGET,
                           HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_MIN | HWMON_F_MAX |
+                          HWMON_F_TARGET,
+                          HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_MIN | HWMON_F_MAX |
                           HWMON_F_TARGET
                           ),
        HWMON_CHANNEL_INFO(pwm,
                           HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
                           HWMON_PWM_INPUT,
+                          HWMON_PWM_INPUT,
                           HWMON_PWM_INPUT
                           ),
        NULL