From nobody Wed Dec 17 22:49:26 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 767A2C5ACB3 for ; Tue, 21 Nov 2023 08:16:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230147AbjKUIQp (ORCPT ); Tue, 21 Nov 2023 03:16:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51396 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229861AbjKUIQl (ORCPT ); Tue, 21 Nov 2023 03:16:41 -0500 Received: from m15.mail.163.com (m15.mail.163.com [45.254.50.219]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 13FF1F4; Tue, 21 Nov 2023 00:16:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=4veKM 2idkxDDgkcK+uihBiUql8CUiZEyW6WHc/2gF70=; b=HU+z765sz6BuAgsDLcSzC JomsSIuZiQpGRtj1+7fe7jhrF1Fdku+HzMY8jE75g32t6g3aH8O2q1f1pdTMwnem 6yo4WEdW1UfXs2LfLISRpmd1+ueYGrKDepBFzZjrqZwxGFjzIFuWk+aF4obuQQFN 6tEfOiPijs2/PFPHfizP/4= Received: from localhost.localdomain (unknown [39.144.137.247]) by zwqz-smtp-mta-g2-0 (Coremail) with SMTP id _____wAn9ctEZ1xlUJ6BDg--.31532S3; Tue, 21 Nov 2023 16:16:07 +0800 (CST) From: Xing Tong Wu To: Guenter Roeck , Jean Delvare , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Cc: xingtong.wu@siemens.com, tobias.schaffner@siemens.com, gerd.haeussler.ext@siemens.com Subject: [PATCH v3 1/2] hwmon: (nct6775) Add support for 2 additional fan controls Date: Tue, 21 Nov 2023 16:16:03 +0800 Message-Id: <20231121081604.2499-2-xingtong_wu@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231121081604.2499-1-xingtong_wu@163.com> References: <20231121081604.2499-1-xingtong_wu@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: _____wAn9ctEZ1xlUJ6BDg--.31532S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7ZrW3ZFWfGr1UCFyrKFyUWrg_yoW8Wr1fpF ykX3ySy3Wrt3Waqry3Ga1rua13Cwn7G34Syw18CwsakFn5tayxXF43tryvyw1YvFWfJa42 9FykZFWYq3WDGrUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jzZXrUUUUU= X-Originating-IP: [39.144.137.247] X-CM-SenderInfo: p0lqw35rqjs4rx6rljoofrz/xtbBnAov0FghlftTwAAAst Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Xing Tong Wu The nct6116 has 2 additional PWM pins compared to the nct6106. Extend the nct6106 PWM arrays to support the nct6116. Signed-off-by: Xing Tong Wu --- drivers/hwmon/nct6775-core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/nct6775-core.c b/drivers/hwmon/nct6775-core.c index d928eb8ae5a3..88300fb99bb9 100644 --- a/drivers/hwmon/nct6775-core.c +++ b/drivers/hwmon/nct6775-core.c @@ -767,9 +767,9 @@ static const u16 NCT6106_REG_FAN_MIN[] =3D { 0xe0, 0xe2= , 0xe4 }; static const u16 NCT6106_REG_FAN_PULSES[] =3D { 0xf6, 0xf6, 0xf6 }; static const u16 NCT6106_FAN_PULSE_SHIFT[] =3D { 0, 2, 4 }; =20 -static const u8 NCT6106_REG_PWM_MODE[] =3D { 0xf3, 0xf3, 0xf3 }; -static const u8 NCT6106_PWM_MODE_MASK[] =3D { 0x01, 0x02, 0x04 }; -static const u16 NCT6106_REG_PWM_READ[] =3D { 0x4a, 0x4b, 0x4c }; +static const u8 NCT6106_REG_PWM_MODE[] =3D { 0xf3, 0xf3, 0xf3, 0, 0 }; +static const u8 NCT6106_PWM_MODE_MASK[] =3D { 0x01, 0x02, 0x04, 0, 0 }; +static const u16 NCT6106_REG_PWM_READ[] =3D { 0x4a, 0x4b, 0x4c, 0xd8, 0xd9= }; static const u16 NCT6106_REG_FAN_MODE[] =3D { 0x113, 0x123, 0x133 }; static const u16 NCT6106_REG_TEMP_SOURCE[] =3D { 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5 }; @@ -3595,7 +3595,7 @@ int nct6775_probe(struct device *dev, struct nct6775_= data *data, break; case nct6116: data->in_num =3D 9; - data->pwm_num =3D 3; + data->pwm_num =3D 5; data->auto_pwm_num =3D 4; data->temp_fixed_num =3D 3; data->num_temp_alarms =3D 3; --=20 2.25.1 From nobody Wed Dec 17 22:49:26 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9490BC54FB9 for ; Tue, 21 Nov 2023 08:16:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229886AbjKUIQl (ORCPT ); Tue, 21 Nov 2023 03:16:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbjKUIQi (ORCPT ); Tue, 21 Nov 2023 03:16:38 -0500 Received: from m15.mail.163.com (m15.mail.163.com [45.254.50.220]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 72DA7E3; Tue, 21 Nov 2023 00:16:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=ivtSy t16d/q/4hJmFH8wkKbGBmxit30g3vcK59BKTWo=; b=UjQpQ+ydwcmU2U/RDwMLt OgkISEd+zpBzgIM0inBdR910o5ZFYz+h0r8WNohLxD4CdjxSAy9l7iRTtDtyBXMT t7bDq+/fuDyuvAUM5k8Et9AlsNFzl2Pzs/kjjkwJcw3/mUbkufCWCeSmuIvqRMRL 5RcdYClFNeqyemhdZVFKYM= Received: from localhost.localdomain (unknown [39.144.137.247]) by zwqz-smtp-mta-g2-0 (Coremail) with SMTP id _____wAn9ctEZ1xlUJ6BDg--.31532S4; Tue, 21 Nov 2023 16:16:08 +0800 (CST) From: Xing Tong Wu To: Guenter Roeck , Jean Delvare , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Cc: xingtong.wu@siemens.com, tobias.schaffner@siemens.com, gerd.haeussler.ext@siemens.com Subject: [PATCH v3 2/2] hwmon: (nct6775) Fix fan speed set failure in automatic mode Date: Tue, 21 Nov 2023 16:16:04 +0800 Message-Id: <20231121081604.2499-3-xingtong_wu@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231121081604.2499-1-xingtong_wu@163.com> References: <20231121081604.2499-1-xingtong_wu@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: _____wAn9ctEZ1xlUJ6BDg--.31532S4 X-Coremail-Antispam: 1Uf129KBjvdXoWrtFWDWr4UXw45ZrykWrWfZrb_yoWfKFb_Ww 4F93s7urs8tF1Sk34DuF9Yya4UtFW5WF4xXFnFg3sxJFyjvwn8ZFyvqr9Fqw12kFW29FyD Gw47WrWF934UCjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUeFApUUUUUU== X-Originating-IP: [39.144.137.247] X-CM-SenderInfo: p0lqw35rqjs4rx6rljoofrz/xtbBnAov0FghlftTwAABss Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Xing Tong Wu Setting the fan speed is only valid in manual mode; it is not possible to set the fan's speed in automatic mode. Return error when attempting to set the fan speed in automatic mode. Signed-off-by: Xing Tong Wu --- drivers/hwmon/nct6775-core.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/hwmon/nct6775-core.c b/drivers/hwmon/nct6775-core.c index 88300fb99bb9..83f1da5acd22 100644 --- a/drivers/hwmon/nct6775-core.c +++ b/drivers/hwmon/nct6775-core.c @@ -2553,6 +2553,13 @@ store_pwm(struct device *dev, struct device_attribut= e *attr, const char *buf, int err; u16 reg; =20 + /* + * The fan control mode should be set to manual if the user wants to adju= st + * the fan speed. Otherwise, it will fail to set. + */ + if (index =3D=3D 0 && data->pwm_enable[nr] > manual) + return -EBUSY; + err =3D kstrtoul(buf, 10, &val); if (err < 0) return err; --=20 2.25.1