From patchwork Wed Dec 13 22:30:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: George Stark X-Patchwork-Id: 178321 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp8134092dys; Wed, 13 Dec 2023 14:31:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IF6pJqMCwv/8IEOMh7y0WDogCJQXq6pESgDnkLeusgsGyhw1yg+AZLf68Uj4tQAcNLW0OjM X-Received: by 2002:a17:90b:4394:b0:28a:d15c:e3d1 with SMTP id in20-20020a17090b439400b0028ad15ce3d1mr1527248pjb.90.1702506663803; Wed, 13 Dec 2023 14:31:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702506663; cv=none; d=google.com; s=arc-20160816; b=I61/rm7Ts4EzhuzgEW2Xq2y6u+81PAvsch1n1+foXswvkCDXOzPn6v+7QDQKxP7DrC W/h5wMxVCR/RMqc0Yqx/42+/FEsVQcUj89pbDynUS4edIM9CkgUZ5i/WXcAU8iLoenmN Yr5evsdBBtQWlPHcgiFbNw8rwfDJA1qm2f/dQmQTAmBCfYDKD3hBayJE5NGPj+SxVzEG wq+/GIiBfabOG9XTKnNx84wHC/E3HODcsaSiBL1eXeGzfdG4a3FndYF1bl8gS7gYLYVI Rpt08A6nYOfKXkokGsUWbRAU5X9WqXRDGEkZJ7g0CzsCFXYiIkQLnVfqOOxYMnT0Nzx9 bYew== 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:dkim-filter; bh=XoyXME9o9D+O65UPeU/S5jya+2cUqz9UKPsZ2HnPzAg=; fh=VGV6ajQ72e9w8REvYqgUr7SYaKNgFpS3GtVmljO5VrE=; b=OK/SVBHLQldXaMMBgFlKr2Iat3zLFeirDY0Jagf/UA2Kp+Pu177Yt71S48yZ2EACxy umW3d4BBQmIJyH2gYKW/0hWiqkwDTxpYc09FLCi+wE3wTwFwtS/qFXcXUW6N32zFMb5w w0MPvO4VrAND6JCScUseSN0FDzeoV/ysQYHMvrrkurrEO0OLang0ADXSQ+B9bvIrCaXe 4Ulmqw6NSj9Y+LBL1y/kZ2Jv7AZ6j3dSxttNfWstDzzJ4FFi5YNO1qI5se1ZSOMlroqh R5PGQTR14oHF2KoX/BPRJnHUCiYURX8KPTEPLmVwYk19Je7gzf+TL7jRY0/pffueRM5o 7KbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@salutedevices.com header.s=mail header.b="SKe3//fx"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id ci5-20020a17090afc8500b00286a2b05cb6si54460pjb.145.2023.12.13.14.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 14:31:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@salutedevices.com header.s=mail header.b="SKe3//fx"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 8CE7D809AF8A; Wed, 13 Dec 2023 14:30:37 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442795AbjLMWa2 (ORCPT + 99 others); Wed, 13 Dec 2023 17:30:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229772AbjLMWa0 (ORCPT ); Wed, 13 Dec 2023 17:30:26 -0500 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72CB0F7; Wed, 13 Dec 2023 14:30:30 -0800 (PST) Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id B9441100006; Thu, 14 Dec 2023 01:30:27 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru B9441100006 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=salutedevices.com; s=mail; t=1702506627; bh=XoyXME9o9D+O65UPeU/S5jya+2cUqz9UKPsZ2HnPzAg=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=SKe3//fxK0hC4j86oD0HGI1eY8s0b29DkwwT8aMEH6yR1KFP9ZKeztr/7O45W8okY XXzEFS/17sMuyGgc8LuIewgYlatFjDCodv3aKOYiHjU0anppmVDZY3i1/Fr146bcCD 0spFcFBxYh1CVvDFX8bqeVkL2wschn2SBrDJPYAbWY3jgIh/SU0djZN5cwfZSGNSHO cgIVGExP2fiTJ0lO7aZUuxtWrtJzK/eSevNBJkAoCzN6743TqVm9sgpTGDmhF70NMB e7xwGb3DCcuwRVQi1LOb50WGeOLIrrCdepMplKwEgfLf4ucH6w5v//ENMpS4w5pVLt YP1VaGpuG4a3A== Received: from smtp.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Thu, 14 Dec 2023 01:30:27 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Thu, 14 Dec 2023 01:30:27 +0300 From: George Stark To: , , , , , , , , , , , , , , CC: , , , , George Stark Subject: [PATCH v3 01/11] leds: aw2013: unlock mutex before destroying it Date: Thu, 14 Dec 2023 01:30:10 +0300 Message-ID: <20231213223020.2713164-2-gnstark@salutedevices.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231213223020.2713164-1-gnstark@salutedevices.com> References: <20231213223020.2713164-1-gnstark@salutedevices.com> MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 182098 [Dec 13 2023] X-KSMG-AntiSpam-Version: 6.1.0.3 X-KSMG-AntiSpam-Envelope-From: gnstark@salutedevices.com X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 7 0.3.7 6d6bf5bd8eea7373134f756a2fd73e9456bb7d1a, {Tracking_from_domain_doesnt_match_to}, 100.64.160.123:7.1.2;127.0.0.199:7.1.2;salutedevices.com:7.1.1;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;smtp.sberdevices.ru:5.0.1,7.1.1, FromAlignment: s, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/12/13 21:35:00 #22672360 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,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 howler.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 (howler.vger.email [0.0.0.0]); Wed, 13 Dec 2023 14:30:37 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785207627158387077 X-GMAIL-MSGID: 1785207627158387077 In the probe() callback in case of error mutex is destroyed being locked which is not allowed so unlock the mutex before destroying. Fixes: 59ea3c9faf32 ("leds: add aw2013 driver") Signed-off-by: George Stark Reviewed-by: Andy Shevchenko --- drivers/leds/leds-aw2013.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/leds/leds-aw2013.c b/drivers/leds/leds-aw2013.c index 59765640b70f..c2bc0782c0cd 100644 --- a/drivers/leds/leds-aw2013.c +++ b/drivers/leds/leds-aw2013.c @@ -397,6 +397,7 @@ static int aw2013_probe(struct i2c_client *client) regulator_disable(chip->vcc_regulator); error: + mutex_unlock(&chip->mutex); mutex_destroy(&chip->mutex); return ret; } From patchwork Wed Dec 13 22:30:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: George Stark X-Patchwork-Id: 178323 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp8134273dys; Wed, 13 Dec 2023 14:31:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IHkP3tfCZ1HhT+HoJgK8sGkWG10NHR1SFuMG9lhVXSHBQ1tooQQGTgQC0L3MOYJBbpOSf4i X-Received: by 2002:a05:6a00:aca:b0:6ce:7af1:1bed with SMTP id c10-20020a056a000aca00b006ce7af11bedmr5423249pfl.37.1702506684314; Wed, 13 Dec 2023 14:31:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702506684; cv=none; d=google.com; s=arc-20160816; b=EzIbicpteuthT3jBvVF8gb39r637QeEQs0HxZnMjDe9RdAylqS9pKJ6tzsWPQiuW// kOcP1zFGvb8A5XKyhnsgNRMR2fZBRbC9ozf/19SOeY93oROqy+QRbMqjYdE0isQ8ymqh gwxPP02npKwlBgiVZtVdDN94psFSj8jHT+DNeb+dWHRYUNa34wBoVByBr+AM1+YVDBJ5 w5huJnxqUKKr+zoyzVCPDfiklkgcCgHGfsbfERms33BzWJp84L44hB4kVasyjhRDz/lD kGenNk0RwJxHG530VP4Kp+9LSJ3OwIEfeqzEO22K66yR9V/DYSmcClzAz7gs0aJabMgZ JwVw== 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:dkim-filter; bh=Ii5sBqymhiHfCuQq+3pwgLlO+kjouXvW2nmQVbwI7UU=; fh=VGV6ajQ72e9w8REvYqgUr7SYaKNgFpS3GtVmljO5VrE=; b=FZMKhk+JTJP7GpQjz6vCF1LPTmuCQHPRZPcSGXYOZEccIeIGs9b8UYvnGlQmGsFeuC m64rrHwSinaecV3Mje0+ESmw/CHgdL8YRAnKhZH2Dj1v+CfXVAYaqrTXCHV12StFqaYD eIZ+/l95K2+lpxiSI04tpLSQYwI3rSXPSsLHOeGHkQdMt0q8Y3YaxNzVlZDiVUmO/qKl QZFW/fN0MzE2j30Grt76uw4B1Xqdb9OeJR5S4hDA9Dl650uPBNGgU8/tBmojciAVXs2Q 2TFXHcVKLIEF5niTIPrzyDjAhEVAInpmMIdc0mhVVC70WHd2NeJppRy4p4TarMlZKUOp WI0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@salutedevices.com header.s=mail header.b="no7tl/T9"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id y66-20020a636445000000b005bdf5961d87si5977977pgb.266.2023.12.13.14.31.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 14:31:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@salutedevices.com header.s=mail header.b="no7tl/T9"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 7EFD58031D50; Wed, 13 Dec 2023 14:31:16 -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 S1442829AbjLMWai (ORCPT + 99 others); Wed, 13 Dec 2023 17:30:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33754 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229687AbjLMWa0 (ORCPT ); Wed, 13 Dec 2023 17:30:26 -0500 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72A5CE3; Wed, 13 Dec 2023 14:30:30 -0800 (PST) Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id F198B100009; Thu, 14 Dec 2023 01:30:27 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru F198B100009 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=salutedevices.com; s=mail; t=1702506627; bh=Ii5sBqymhiHfCuQq+3pwgLlO+kjouXvW2nmQVbwI7UU=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=no7tl/T9jZK9UqsFMv6dlMpRIpk1r4Z0yLCC5syS64E6OO6uNGre09OjlqNyNAzuS 57StAIaX4rIxlUDWPBp0lt0/l+Za59SJV5unYZhrVSDr9INOW4zYz0V45tjE5ot/XQ q5jZTTks7CrNm7mJq5DdeeeapRLh8s172PfxLzg03QIDb5csYBF3PhgkWmMb+cEIo6 xx2S7VKZgKvDqWvMzuq7mtpt4DFhDqXNs9JqfmMtC2GRkj6L0vvJuKk6KFhnLmtAn5 ioBfvQ32a1ctlUYa3NWZ2OssdaXhCvOxC/Qf9EBZLXfgDPilNoVo4Tnp2G966eB68U cTi36XKJ7EBZQ== Received: from smtp.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Thu, 14 Dec 2023 01:30:27 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Thu, 14 Dec 2023 01:30:27 +0300 From: George Stark To: , , , , , , , , , , , , , , CC: , , , , George Stark Subject: [PATCH v3 02/11] locking: add define if mutex_destroy() is not an empty function Date: Thu, 14 Dec 2023 01:30:11 +0300 Message-ID: <20231213223020.2713164-3-gnstark@salutedevices.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231213223020.2713164-1-gnstark@salutedevices.com> References: <20231213223020.2713164-1-gnstark@salutedevices.com> MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 182098 [Dec 13 2023] X-KSMG-AntiSpam-Version: 6.1.0.3 X-KSMG-AntiSpam-Envelope-From: gnstark@salutedevices.com X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 7 0.3.7 6d6bf5bd8eea7373134f756a2fd73e9456bb7d1a, {Tracking_from_domain_doesnt_match_to}, 100.64.160.123:7.1.2;127.0.0.199:7.1.2;salutedevices.com:7.1.1;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;smtp.sberdevices.ru:5.0.1,7.1.1, FromAlignment: s, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/12/13 21:35:00 #22672360 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,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]); Wed, 13 Dec 2023 14:31:16 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785207648713881198 X-GMAIL-MSGID: 1785207648713881198 mutex_destroy() is only a debug helper and an empty function on non-debug configurations still we can't legally ignore it because it's the established API call and it can be extended theoretically in the future. Sometimes it could be useful to know e.g. in the higher-level API if mutex_destroy() really does something in the current configuration and it's should be called or skipped otherwise for the sake of optimization so add dedicated define to recognize these cases. Signed-off-by: George Stark Acked-by: Waiman Long --- include/linux/mutex.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/mutex.h b/include/linux/mutex.h index a33aa9eb9fc3..2395ce4fcaf6 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h @@ -83,6 +83,9 @@ struct mutex { extern void mutex_destroy(struct mutex *lock); +/* mutex_destroy() is a real function, not a NOP */ +#define mutex_destroy mutex_destroy + #else # define __DEBUG_MUTEX_INITIALIZER(lockname) From patchwork Wed Dec 13 22:30:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: George Stark X-Patchwork-Id: 178320 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp8134034dys; Wed, 13 Dec 2023 14:30:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IFnFPG5MZ9fI2JNJ2Rs0yF53EKqLCfVcbTD5LGXJ1IvLSxl3qCrx0AzZA4LfJysKzDbomrI X-Received: by 2002:a05:6870:b522:b0:1f9:f527:8880 with SMTP id v34-20020a056870b52200b001f9f5278880mr10457853oap.43.1702506657623; Wed, 13 Dec 2023 14:30:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702506657; cv=none; d=google.com; s=arc-20160816; b=0ST+MxyXSCcJMX4SExi2TOIBZTgAyAP9Ottfwn1s+6pT02YEWlOZVnBN+ptpVQRxnL B90qLlxycgiMVvkhG4V2MmydXJHgvt1uqgH6TFEFjf1BSVR9utdvcn1Mjh18I2/Vul6B 5WqEdGc3PWsMUzVZu3EA0Uee8gZDWjmwpWR/yFBPTwBI98Lm7N7lBWSlg0j2opLq15hX cBOWrFDyYq+JEh9tyh7gDJG7U8witwZGPQgAnl9StwsKE5av4ZfeR2zP0jcajhKOEZib q8QvC/MideFf3Fytv1jP6VgrGEsXhGXSv3ujZmM6LmJ1nWCS0LABLM0NZ9vUPH6j0dS0 Uzdw== 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:dkim-filter; bh=kF9z8Zs1NRPVQ38LR3pEhvUwo7xq0rlkJwa/lSFCewY=; fh=VGV6ajQ72e9w8REvYqgUr7SYaKNgFpS3GtVmljO5VrE=; b=0CgGKWmXbAZtbk3UdOlnv/po9UwhJtcAKKEyLw4lTnNQFsd1FyDTOCkDn8eBuLutyb lZJmQ4b93bFsprB5iiFl2vuOkVmawh92QsIuf7iVBPdN/A/sVvLMnrccZqztRAhtUhOL FLoNNcE8SaFbgskgTWcs5AsgUyedXxse8qOndLEEfdWHL6af3VOVKb0xKcne0cDyWDmD QqN+dfolRgi2BDgFl3ikyIFQWoynS3ZKwmE50zV8pc64Tbx8XGUCE3UVF6v2UFTNklK2 IdwlWlZ66tAh4JL6MIdqyOsbU3vZxNNddEgUHETprcMqBs63FfsEaRKDw9UXBUq3aIBL Disw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@salutedevices.com header.s=mail header.b=QQknCQHV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id y125-20020a636483000000b005ca1c765c3csi4822662pgb.610.2023.12.13.14.30.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 14:30:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@salutedevices.com header.s=mail header.b=QQknCQHV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 7FD1080292B5; Wed, 13 Dec 2023 14:30:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1442816AbjLMWac (ORCPT + 99 others); Wed, 13 Dec 2023 17:30:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33750 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229929AbjLMWa0 (ORCPT ); Wed, 13 Dec 2023 17:30:26 -0500 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72627DC; Wed, 13 Dec 2023 14:30:30 -0800 (PST) Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 2F4C010000B; Thu, 14 Dec 2023 01:30:28 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 2F4C010000B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=salutedevices.com; s=mail; t=1702506628; bh=kF9z8Zs1NRPVQ38LR3pEhvUwo7xq0rlkJwa/lSFCewY=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=QQknCQHV9d+Gfy+NW/NmGZk5I0Qpsv4KYKdNMQ6mHsNnjApsyAfBiN0XSWX8iaH2W YKj5QVf89sohWLQbG0jVMCPGZIm58cfe6qLaq9lEKEyVPzn3NcuV8641Ll4sLD1OIa AwASqbcHQeYoegB3kgOcq/rLXTLb787MI2o7lalWa/WMRFVGFmB51tRb/eThCNmhc4 +nSCGUmgh+WGHkNQnJm+HsldGQXoauZQf8qujipQJ+6qFmJxcsSzHhlKImLLo06dnW PERYE3pLbrqhsocVfXg/dU5ZBVYlcOgdRW+tB9q1ViM6dw6vAbD3Be4snZQryWHDu9 iI+WZDZVVqbrw== Received: from smtp.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Thu, 14 Dec 2023 01:30:27 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Thu, 14 Dec 2023 01:30:27 +0300 From: George Stark To: , , , , , , , , , , , , , , CC: , , , , George Stark Subject: [PATCH v3 03/11] devm-helpers: introduce devm_mutex_init Date: Thu, 14 Dec 2023 01:30:12 +0300 Message-ID: <20231213223020.2713164-4-gnstark@salutedevices.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231213223020.2713164-1-gnstark@salutedevices.com> References: <20231213223020.2713164-1-gnstark@salutedevices.com> MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 182098 [Dec 13 2023] X-KSMG-AntiSpam-Version: 6.1.0.3 X-KSMG-AntiSpam-Envelope-From: gnstark@salutedevices.com X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 7 0.3.7 6d6bf5bd8eea7373134f756a2fd73e9456bb7d1a, {Tracking_from_domain_doesnt_match_to}, 100.64.160.123:7.1.2;127.0.0.199:7.1.2;salutedevices.com:7.1.1;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;smtp.sberdevices.ru:5.0.1,7.1.1, FromAlignment: s, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/12/13 21:35:00 #22672360 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,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 groat.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 (groat.vger.email [0.0.0.0]); Wed, 13 Dec 2023 14:30:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785207621156923139 X-GMAIL-MSGID: 1785207621156923139 Using of devm API leads to a certain order of releasing resources. So all dependent resources which are not devm-wrapped should be deleted with respect to devm-release order. Mutex is one of such objects that often is bound to other resources and has no own devm wrapper. Since mutex_destroy() actually does nothing in non-debug builds frequently calling mutex_destroy() is just ignored which is safe for now but wrong formally and can lead to a problem if mutex_destroy() is extended so introduce devm_mutex_init(). Signed-off-by: George Stark Reviewed-by: Hans de Goede --- include/linux/devm-helpers.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/include/linux/devm-helpers.h b/include/linux/devm-helpers.h index 74891802200d..4043c3481d2e 100644 --- a/include/linux/devm-helpers.h +++ b/include/linux/devm-helpers.h @@ -24,6 +24,7 @@ */ #include +#include #include static inline void devm_delayed_work_drop(void *res) @@ -76,4 +77,30 @@ static inline int devm_work_autocancel(struct device *dev, return devm_add_action(dev, devm_work_drop, w); } +#ifdef mutex_destroy +static inline void devm_mutex_release(void *res) +{ + mutex_destroy(res); +} +#endif + +/** + * devm_mutex_init - Resource-managed mutex initialization + * @dev: Device which lifetime mutex is bound to + * @lock: Pointer to a mutex + * + * Initialize mutex which is automatically destroyed when the driver is detached. + * + * Returns: 0 on success or a negative error code on failure. + */ +static inline int devm_mutex_init(struct device *dev, struct mutex *lock) +{ + mutex_init(lock); +#ifdef mutex_destroy + return devm_add_action_or_reset(dev, devm_mutex_release, lock); +#else + return 0; +#endif +} + #endif From patchwork Wed Dec 13 22:30:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: George Stark X-Patchwork-Id: 178322 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp8134268dys; Wed, 13 Dec 2023 14:31:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IGCkZE9zSOfW7EtBO9AxJgN+4ANM6vMLYv3OeGQHHRWOGEcrAtBR5yEvN55NQ6N7Cl2F5CR X-Received: by 2002:a05:6870:41d4:b0:203:11d0:11ab with SMTP id z20-20020a05687041d400b0020311d011abmr3115378oac.2.1702506683468; Wed, 13 Dec 2023 14:31:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702506683; cv=none; d=google.com; s=arc-20160816; b=jgTp6T8hmbHlmEwPajELBautwOQejllf6XIvkB1q0s0MLs2LhHfvuM3sxAWljZ20ze zgugdI52x3ycyZBc726aDOF5xz26Xu4lygib5jz1OluHypRAudFx+FQxEdr91nu9CJiD LaKJw2sJA3hqB5brP2uEQuSBudDsYhAKsfIWGoiBiqQlyk9w5/j/5xqaIPDH2mie9usH P7QI7SsgyARKZBfz43QeukX5/nd8KA1NR9ildQOaguldEhYFAWcK94FkU8ztS6EcoVbN u3JjHy4LagGx3u/qF/KHiPcnTxa+sIA9bjUcLn64brX9T7pFIlGn+03XCLwk2zMAYqNK k2KA== 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:dkim-filter; bh=+lmmdIoH0rAig1Taqra6EznxKH0XzwvvS9jwX4KXfVg=; fh=VGV6ajQ72e9w8REvYqgUr7SYaKNgFpS3GtVmljO5VrE=; b=YRxCXIIPNDJEfiDNf5aZgSESt3tH4ioeY2glTWsWIEaa8bBNWWRs5zkHGCRBkfGstV hNLDIykpgddvb2OSj7+55R21n50aM1Pcxzpp5BPhQmRC/UeFJ0/RUlRxkdTkzkJtN2nk iuuAwWDN+JziC5l29R0pNx9zJkZPv8CbuRywPaCSDRzANyP8TpM9220Qy7whIYb0gVEI GzWtWx8012Cc0jX7HoDw7CcekBeFTNHS4W6pg4IxKrWdGJAOLm0RNGuW7QzHzdxgJyAH fbWAYQ6YaYfD49cjxBc2qsvqoI43EMgSaEf2K6cpR2CXCvqjUyZ4yM6k3p2Y5A5TGdsw UJ3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@salutedevices.com header.s=mail header.b=G0eUOFci; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id 19-20020a631753000000b005c668dc242asi10198696pgx.162.2023.12.13.14.31.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 14:31:23 -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=@salutedevices.com header.s=mail header.b=G0eUOFci; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=salutedevices.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 623C8803238E; Wed, 13 Dec 2023 14:31:00 -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 S1442823AbjLMWae (ORCPT + 99 others); Wed, 13 Dec 2023 17:30:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230004AbjLMWa0 (ORCPT ); Wed, 13 Dec 2023 17:30:26 -0500 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72E31100; Wed, 13 Dec 2023 14:30:30 -0800 (PST) Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 5DA1A10000F; Thu, 14 Dec 2023 01:30:28 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 5DA1A10000F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=salutedevices.com; s=mail; t=1702506628; bh=+lmmdIoH0rAig1Taqra6EznxKH0XzwvvS9jwX4KXfVg=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=G0eUOFciMHcQd32X1QxMykiR+hbQthJ5Gg3yhiRITkuLJ8kaLc5QjsoBm/DgU06f/ iLe+TsJPevkyMCkJ+WwPxuxjBghqa5MY9tCIylKY9rp+e3j7o9DygXwswddCFF0WRk axoXYZvcb6trBgtuxzs27sSKUKvOMMudMA+NDHYr1sfMSwU4eIJXZJ3kFW275hMSbc AsOXt/jdCb6npcKxT98ql/Rj1QW7d6RIBZzH3SG82SEPGrq5lf6VjnZlJPI8OTMbl5 Jf4926WySDDeaxcXY/iCHK6RaaB7HLPX51MmCjG6C2/dR0ukrOmweu+TMac8udnTNt DVsnkd6A3HnXw== Received: from smtp.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Thu, 14 Dec 2023 01:30:28 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Thu, 14 Dec 2023 01:30:27 +0300 From: George Stark To: , , , , , , , , , , , , , , CC: , , , , George Stark Subject: [PATCH v3 04/11] leds: aw2013: use devm API to cleanup module's resources Date: Thu, 14 Dec 2023 01:30:13 +0300 Message-ID: <20231213223020.2713164-5-gnstark@salutedevices.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231213223020.2713164-1-gnstark@salutedevices.com> References: <20231213223020.2713164-1-gnstark@salutedevices.com> MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 182098 [Dec 13 2023] X-KSMG-AntiSpam-Version: 6.1.0.3 X-KSMG-AntiSpam-Envelope-From: gnstark@salutedevices.com X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 7 0.3.7 6d6bf5bd8eea7373134f756a2fd73e9456bb7d1a, {Tracking_from_domain_doesnt_match_to}, 100.64.160.123:7.1.2;127.0.0.199:7.1.2;salutedevices.com:7.1.1;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;smtp.sberdevices.ru:5.0.1,7.1.1, FromAlignment: s, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/12/13 21:35:00 #22672360 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,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]); Wed, 13 Dec 2023 14:31:00 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785207648458686141 X-GMAIL-MSGID: 1785207648458686141 In this driver LEDs are registered using devm_led_classdev_register() so they are automatically unregistered after module's remove() is done. led_classdev_unregister() calls module's led_set_brightness() to turn off the LEDs and that callback uses resources which were destroyed already in module's remove() so use devm API instead of remove(). Signed-off-by: George Stark Tested-by: Nikita Travkin --- drivers/leds/leds-aw2013.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/drivers/leds/leds-aw2013.c b/drivers/leds/leds-aw2013.c index c2bc0782c0cd..863aeb02f278 100644 --- a/drivers/leds/leds-aw2013.c +++ b/drivers/leds/leds-aw2013.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ // Driver for Awinic AW2013 3-channel LED driver +#include #include #include #include @@ -318,6 +319,11 @@ static int aw2013_probe_dt(struct aw2013 *chip) return 0; } +static void aw2013_chip_disable_action(void *data) +{ + aw2013_chip_disable(data); +} + static const struct regmap_config aw2013_regmap_config = { .reg_bits = 8, .val_bits = 8, @@ -334,7 +340,10 @@ static int aw2013_probe(struct i2c_client *client) if (!chip) return -ENOMEM; - mutex_init(&chip->mutex); + ret = devm_mutex_init(&client->dev, &chip->mutex); + if (ret) + return ret; + mutex_lock(&chip->mutex); chip->client = client; @@ -378,6 +387,10 @@ static int aw2013_probe(struct i2c_client *client) goto error_reg; } + ret = devm_add_action(&client->dev, aw2013_chip_disable_action, chip); + if (ret) + goto error_reg; + ret = aw2013_probe_dt(chip); if (ret < 0) goto error_reg; @@ -398,19 +411,9 @@ static int aw2013_probe(struct i2c_client *client) error: mutex_unlock(&chip->mutex); - mutex_destroy(&chip->mutex); return ret; } -static void aw2013_remove(struct i2c_client *client) -{ - struct aw2013 *chip = i2c_get_clientdata(client); - - aw2013_chip_disable(chip); - - mutex_destroy(&chip->mutex); -} - static const struct of_device_id aw2013_match_table[] = { { .compatible = "awinic,aw2013", }, { /* sentinel */ }, @@ -424,7 +427,6 @@ static struct i2c_driver aw2013_driver = { .of_match_table = of_match_ptr(aw2013_match_table), }, .probe = aw2013_probe, - .remove = aw2013_remove, }; module_i2c_driver(aw2013_driver);