From patchwork Mon Nov 20 08:15:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xing Tong Wu X-Patchwork-Id: 166973 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2055197vqn; Mon, 20 Nov 2023 00:31:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IELIzBwQXun+3zJ6U9Zq+EnuFqgZ6Xwqc4pDbcPdJ4FjRCKvJk4FWhOJLGQdGU0crOCAMSz X-Received: by 2002:a05:6a00:b43:b0:6cb:8b26:9793 with SMTP id p3-20020a056a000b4300b006cb8b269793mr4456626pfo.24.1700469106739; Mon, 20 Nov 2023 00:31:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700469106; cv=none; d=google.com; s=arc-20160816; b=ez+hdpRPPjW/WtnCCIFm0qKDwNfFcSbeh3cSgKthdy4o/bS1f4lQ/eP32nGuTZoeCy DKPppDTBWOnMh8E3iGPIr7gwFE8G0NluD9H9xaaihpYGO/Ghv1QkbjW75QRUIJ2gxX5D bmCPnHMZ05U86GnzCIA0Ef1NY8Ml/XCsQpUgySC6rkSzOJL+JvM/bQIT5uanNHJItJIa V+Tdnbb0jlLSPeLjOFUIMQx5tffrH8z0FBh2BCflXZeTH1Pwrwy2uqHA/NAfQtsXIV6U yRBq1NgWjVc165wz39pDWGBrmKXJ24WyegP1kFRMl2GIXADeYiFmd9ngfl02i1/Enbe1 ZbjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MCmCDt45NRngfCoOECBSc53ms9KrOALmsj4F6y7aqMc=; fh=brTD9uWwHSBEuDMsNSIyrWZVEeJXt4Ae/wkRCvfJiZk=; b=d3zYntyzR6XSaZfpjQ6C/f/cDJRezd6etrBqStzIVuDluLLSO87zWhA1g15VgXtpfe oUt3TFt0PSiGYJ4HAX72Z7j5tJ1Thvob6IUgdZaRHKoyUD6nowQsKuKgJUDIkC4CQkEx ZOMhMJO5TGRD1UnaTPPrqm0kVuJ2JIQrE/AR55/VPlB2Gdq5wufT9kFFD+naxU0VtYP+ JNpxAxXa/xB6AEcGyRaJdl9rTI4qqJy2V2Nyf3q9mh/xFwAt1iPp1Evg7nO0n7maAKJv qBkeocXIvG2oHqRWDFm6wA38NjlNSXo9a+P/iazsCPfA97oAFBtBgJiSfmK2shYk/1c4 l6Zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=Lew0v0AG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id z12-20020aa7888c000000b006b9fd40d6cfsi8001148pfe.216.2023.11.20.00.31.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 00:31:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=Lew0v0AG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 3C294802C5B0; Mon, 20 Nov 2023 00:31:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231948AbjKTIbb (ORCPT + 27 others); Mon, 20 Nov 2023 03:31:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232081AbjKTIba (ORCPT ); Mon, 20 Nov 2023 03:31:30 -0500 Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.196]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 8ED1BE5; Mon, 20 Nov 2023 00:31:24 -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=MCmCD t45NRngfCoOECBSc53ms9KrOALmsj4F6y7aqMc=; b=Lew0v0AGm9H1mLgxK84IU 2Cz4VfP/Bwxbtnfs6Xv8iD/myWweROJYczti/VxXjUEN91OU0skB3Xvd3EG5Lx/4 cxC3lxhQWXbjQYoR0fwDy699RoLBxmOi7c+EaXcbP2CNGeLbRcadzI1ucSqK9N9h EX9cXiYqJRIBs5ARtIB7ic= Received: from localhost.localdomain (unknown [39.144.137.207]) by zwqz-smtp-mta-g3-2 (Coremail) with SMTP id _____wDH52myFVtlTcE1Dg--.30221S3; Mon, 20 Nov 2023 16:15:48 +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 v2 1/2] hwmon: (nct6775) Fix incomplete register array Date: Mon, 20 Nov 2023 16:15:41 +0800 Message-Id: <20231120081542.3174-2-xingtong_wu@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231120081542.3174-1-xingtong_wu@163.com> References: <20231120081542.3174-1-xingtong_wu@163.com> MIME-Version: 1.0 X-CM-TRANSID: _____wDH52myFVtlTcE1Dg--.30221S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7ur1fXr1Dtry8uF1xtFW8WFg_yoW8tFyrp3 4kXr4fAFW7Jr1aqr45KFs5ua1Ikw1ftFyrAws7CwsayF1ktry7Xr43tFZ8tr90yFWxta42 9ryDAFyYq3WDCrUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jqhFxUUUUU= X-Originating-IP: [39.144.137.207] X-CM-SenderInfo: p0lqw35rqjs4rx6rljoofrz/1tbiFhUu0F44X5n24gAAsJ X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_BL,RCVD_IN_MSPIKE_L4, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 20 Nov 2023 00:31:39 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783071094443689950 X-GMAIL-MSGID: 1783071094443689950 From: Xing Tong Wu The nct6116 specification actually includes 5 PWMs, but only 3 PWMs are present in the array. To address this, the missing 2 PWMs have been added to the array. Signed-off-by: Xing Tong Wu --- drivers/hwmon/nct6775-core.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/nct6775-core.c b/drivers/hwmon/nct6775-core.c index d928eb8ae5a3..c24b2c312911 100644 --- a/drivers/hwmon/nct6775-core.c +++ b/drivers/hwmon/nct6775-core.c @@ -844,6 +844,9 @@ static const u16 NCT6116_REG_FAN_PULSES[] = { 0xf6, 0xf6, 0xf6, 0xf6, 0xf5 }; static const u16 NCT6116_FAN_PULSE_SHIFT[] = { 0, 2, 4, 6, 6 }; static const u16 NCT6116_REG_PWM[] = { 0x119, 0x129, 0x139, 0x199, 0x1a9 }; +static const u8 NCT6116_REG_PWM_MODE[] = { 0xf3, 0xf3, 0xf3, 0xf3, 0xf3 }; +static const u8 NCT6116_PWM_MODE_MASK[] = { 0x01, 0x02, 0x04, 0x04, 0x04 }; +static const u16 NCT6116_REG_PWM_READ[] = { 0x4a, 0x4b, 0x4c, 0xd8, 0xd9 }; static const u16 NCT6116_REG_FAN_MODE[] = { 0x113, 0x123, 0x133, 0x193, 0x1a3 }; static const u16 NCT6116_REG_TEMP_SEL[] = { 0x110, 0x120, 0x130, 0x190, 0x1a0 }; static const u16 NCT6116_REG_TEMP_SOURCE[] = { @@ -3595,7 +3598,7 @@ int nct6775_probe(struct device *dev, struct nct6775_data *data, break; case nct6116: data->in_num = 9; - data->pwm_num = 3; + data->pwm_num = 5; data->auto_pwm_num = 4; data->temp_fixed_num = 3; data->num_temp_alarms = 3; @@ -3629,9 +3632,9 @@ int nct6775_probe(struct device *dev, struct nct6775_data *data, data->REG_PWM[2] = NCT6116_REG_FAN_STOP_OUTPUT; data->REG_PWM[5] = NCT6106_REG_WEIGHT_DUTY_STEP; data->REG_PWM[6] = NCT6106_REG_WEIGHT_DUTY_BASE; - data->REG_PWM_READ = NCT6106_REG_PWM_READ; - data->REG_PWM_MODE = NCT6106_REG_PWM_MODE; - data->PWM_MODE_MASK = NCT6106_PWM_MODE_MASK; + data->REG_PWM_READ = NCT6116_REG_PWM_READ; + data->REG_PWM_MODE = NCT6116_REG_PWM_MODE; + data->PWM_MODE_MASK = NCT6116_PWM_MODE_MASK; data->REG_AUTO_TEMP = NCT6116_REG_AUTO_TEMP; data->REG_AUTO_PWM = NCT6116_REG_AUTO_PWM; data->REG_CRITICAL_TEMP = NCT6116_REG_CRITICAL_TEMP; From patchwork Mon Nov 20 08:15:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xing Tong Wu X-Patchwork-Id: 166971 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2049268vqn; Mon, 20 Nov 2023 00:16:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IE4PzBOjg1N7NZGD21n5YhAowWytTFPxzKyR5e82HueRgYBXT6GGmOQxptXaeYoPGTdUTDn X-Received: by 2002:a05:6a00:3929:b0:6c4:cfe4:cfd with SMTP id fh41-20020a056a00392900b006c4cfe40cfdmr5424940pfb.31.1700468210452; Mon, 20 Nov 2023 00:16:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700468210; cv=none; d=google.com; s=arc-20160816; b=t9OLXAmDloBq0P226hBwy7sTAq7iWMXhzD/ZrheQGSWbhdrgPjqGAkXyE8DBUUUnrw V708Q2CFj2yzfb87wcc1Cr5jPyZCWjUNPsruVuLD/msMSYJLpapKZdiRZMxEoE6xmKmH p2446SxRjs6k/fpSjn1FCdAz0fZubVUEPFurDNGkwjhQpdr38PmgMnCGtTS4HT/VXA3m YeB9XeU6MByrvDXd97mG9RzLjwWAhpwr+QOYnH4P9cJwNT5AfSFVnrilUHOlq8+b8jae ih21vZJtyQnc1NNsDaCX8JdwC65L3If5Csb5JCeNH9sT/muOj4Y79sGY7E3vmWA8WUdg 7GQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hgq9ZCjqvMpwCSb1biw4ArBkdPTWEHtoxNKDFAzpN0k=; fh=brTD9uWwHSBEuDMsNSIyrWZVEeJXt4Ae/wkRCvfJiZk=; b=NXP20SJQl0kWvhctWBLeKWfcWupySOIBdfSaopDrT0PFnhz1xeXevOMbdEQCzr1c2Y +ZLCPrSmVEGqngKkpenYSkxnpJTF77tjl84JDpH3CWzZuCMes5AuClvs0q61j9q0akJ4 WL8sc01dgywqOIMlyIm6VeNewrm990P5UZOxel6FG4pqZUq0keE65/4fTgXXOBnMErSM sv9vflWoh8woq7sHu4pfdh+LfXI8gq3WaQ9NczmiyEpSKAHrdc1oFySe7nWR4NfPZ8l7 cSWXmti9NxAcpQ6dRHUKrUFQOjkH0DgG6WdzZKMHrYyoaDDAAwQcjjp74AunzXR6oBp0 W0UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="exk3C/Uh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id h2-20020a056a00170200b006cbb132d46dsi656788pfc.244.2023.11.20.00.16.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 00:16:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="exk3C/Uh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id C9CF1807F4AE; Mon, 20 Nov 2023 00:16:47 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232180AbjKTIQa (ORCPT + 27 others); Mon, 20 Nov 2023 03:16:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232143AbjKTIQY (ORCPT ); Mon, 20 Nov 2023 03:16:24 -0500 Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.215]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5BC6AED; Mon, 20 Nov 2023 00:16:20 -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=hgq9Z CjqvMpwCSb1biw4ArBkdPTWEHtoxNKDFAzpN0k=; b=exk3C/Uhfftv5amfG00sR AY3Vc7WhJv1YhR6kpFwPbhJ2I8uF5NgpDHqjcw/3MxJpAVK79Z3Zu3F9fgA+6jB+ vgDqDhOopCLYV7XwlKzOYOCJK/y8DK457xb/rOeKVby8av0dup0LsaZ16oHBqO1S HDDQGVhCG/Ef5sJS5uaduc= Received: from localhost.localdomain (unknown [39.144.137.207]) by zwqz-smtp-mta-g3-2 (Coremail) with SMTP id _____wDH52myFVtlTcE1Dg--.30221S4; Mon, 20 Nov 2023 16:15:50 +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 v2 2/2] hwmon: (nct6775) Fix fan speed set failure in automatic mode Date: Mon, 20 Nov 2023 16:15:42 +0800 Message-Id: <20231120081542.3174-3-xingtong_wu@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231120081542.3174-1-xingtong_wu@163.com> References: <20231120081542.3174-1-xingtong_wu@163.com> MIME-Version: 1.0 X-CM-TRANSID: _____wDH52myFVtlTcE1Dg--.30221S4 X-Coremail-Antispam: 1Uf129KBjvdXoWrtFWDWr4UXw45ZrykWrWfZrb_yoWfKFb_Ww 4F93s7urs8tF1ak34q9FyFyFy5tFW5WFWxXFnFg3s8Ja4jvw1DAFyvqr9Fqw17CFW29FyD Wa17WrW0934UCjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUeo7K5UUUUU== X-Originating-IP: [39.144.137.207] X-CM-SenderInfo: p0lqw35rqjs4rx6rljoofrz/1tbiEBwu0F8YMmhU7wAAsU X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 20 Nov 2023 00:16:47 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783070154434491015 X-GMAIL-MSGID: 1783070154434491015 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 c24b2c312911..38c2e5b7cfe9 100644 --- a/drivers/hwmon/nct6775-core.c +++ b/drivers/hwmon/nct6775-core.c @@ -2556,6 +2556,13 @@ store_pwm(struct device *dev, struct device_attribute *attr, const char *buf, int err; u16 reg; + /* + * The fan control mode should be set to manual if the user wants to adjust + * the fan speed. Otherwise, it will fail to set. + */ + if (index == 0 && data->pwm_enable[nr] > manual) + return -EBUSY; + err = kstrtoul(buf, 10, &val); if (err < 0) return err;