diff mbox series

[v1,1/1] hwmon: (dell-smm) Increment the number of fans

Message ID 20250304055249.51940-2-kuurtb@gmail.com (mailing list archive)
State Accepted
Headers show
Series [v1,1/1] hwmon: (dell-smm) Increment the number of fans | expand

Commit Message

Kurt Borja March 4, 2025, 5:52 a.m. UTC
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>
---
Hi all,

Guenter, if you prefer a different patch for the documentation, let me
know.

~ Kurt

 Documentation/hwmon/dell-smm-hwmon.rst | 14 +++++++-------
 drivers/hwmon/dell-smm-hwmon.c         |  5 ++++-
 2 files changed, 11 insertions(+), 8 deletions(-)

Comments

Guenter Roeck March 10, 2025, 12:11 a.m. UTC | #1
On 3/3/25 21:52, Kurt Borja wrote:
> 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>
> ---
> Hi all,
> 
> Guenter, if you prefer a different patch for the documentation, let me
> know.
> 

It looks ok, I'd just like to get a confirmation from someone with a
system with fewer fans that this doesn't cause trouble on those.

Thanks,
Guenter

> ~ Kurt
> 
>   Documentation/hwmon/dell-smm-hwmon.rst | 14 +++++++-------
>   drivers/hwmon/dell-smm-hwmon.c         |  5 ++++-
>   2 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/hwmon/dell-smm-hwmon.rst b/Documentation/hwmon/dell-smm-hwmon.rst
> index 74905675d71f..5a4edb6565cf 100644
> --- a/Documentation/hwmon/dell-smm-hwmon.rst
> +++ b/Documentation/hwmon/dell-smm-hwmon.rst
> @@ -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
> diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
> index cd00adaad1b4..79e5606e6d2f 100644
> --- a/drivers/hwmon/dell-smm-hwmon.c
> +++ b/drivers/hwmon/dell-smm-hwmon.c
> @@ -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
Guenter Roeck March 11, 2025, 2:13 p.m. UTC | #2
On Tue, Mar 04, 2025 at 12:52:50AM -0500, Kurt Borja wrote:
> 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>

Oh, never mind, I'll apply this patch. If it causes trouble on older machines,
we may have to make it conditional, but that is not a reason to hold it up. 

Guenter
Kurt Borja March 11, 2025, 2:31 p.m. UTC | #3
Hi Guenter,

On Tue Mar 11, 2025 at 9:13 AM -05, Guenter Roeck wrote:
> On Tue, Mar 04, 2025 at 12:52:50AM -0500, Kurt Borja wrote:
>> 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>
>
> Oh, never mind, I'll apply this patch. If it causes trouble on older machines,
> we may have to make it conditional, but that is not a reason to hold it up. 
>
> Guenter

Thank you!

AFAIK most systems have < 2 fans, so this driver already probes fans
until failure for these systems.

If I get notified about problems, I'll amend it with a quirk approach.
Armin Wolf March 11, 2025, 6:17 p.m. UTC | #4
Am 11.03.25 um 15:13 schrieb Guenter Roeck:

> On Tue, Mar 04, 2025 at 12:52:50AM -0500, Kurt Borja wrote:
>> 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>
> Oh, never mind, I'll apply this patch. If it causes trouble on older machines,
> we may have to make it conditional, but that is not a reason to hold it up.
>
> Guenter
>
Hi,

seems that i forgot about this patch, sorry. I just tested it on my Inspiron 3505 (single fan)
and everything works as expected.

Thanks,
Armin Wolf
Kurt Borja March 11, 2025, 6:29 p.m. UTC | #5
On Tue Mar 11, 2025 at 1:17 PM -05, Armin Wolf wrote:
> Am 11.03.25 um 15:13 schrieb Guenter Roeck:
>
>> On Tue, Mar 04, 2025 at 12:52:50AM -0500, Kurt Borja wrote:
>>> 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>
>> Oh, never mind, I'll apply this patch. If it causes trouble on older machines,
>> we may have to make it conditional, but that is not a reason to hold it up.
>>
>> Guenter
>>
> Hi,
>
> seems that i forgot about this patch, sorry. I just tested it on my Inspiron 3505 (single fan)
> and everything works as expected.
>
> Thanks,
> Armin Wolf

That's good to know. Thanks a lot!
diff mbox series

Patch

diff --git a/Documentation/hwmon/dell-smm-hwmon.rst b/Documentation/hwmon/dell-smm-hwmon.rst
index 74905675d71f..5a4edb6565cf 100644
--- a/Documentation/hwmon/dell-smm-hwmon.rst
+++ b/Documentation/hwmon/dell-smm-hwmon.rst
@@ -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
diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
index cd00adaad1b4..79e5606e6d2f 100644
--- a/drivers/hwmon/dell-smm-hwmon.c
+++ b/drivers/hwmon/dell-smm-hwmon.c
@@ -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