From nobody Sun Dec 28 19:32:18 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 285D1C4167B for ; Tue, 5 Dec 2023 12:26:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235248AbjLEM0l (ORCPT ); Tue, 5 Dec 2023 07:26:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54526 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235148AbjLEM0d (ORCPT ); Tue, 5 Dec 2023 07:26:33 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 61D08D7 for ; Tue, 5 Dec 2023 04:26:40 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVX-0005XW-KJ; Tue, 05 Dec 2023 13:26:35 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVW-00Djuo-SO; Tue, 05 Dec 2023 13:26:34 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVW-00EhQa-JR; Tue, 05 Dec 2023 13:26:34 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: patches@opensource.cirrus.com, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 1/8] regulator: arizona-ldo1: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:16 +0100 Message-ID: <76c7af01e2c8b3ab6585a04bc3f0d163fbb7fdf7.1701778038.git.u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2157; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=tqCSGHqBxpGncb/+HKOeTjE6jA8FKgj6miulNJehbSo=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxbnODU3ZgR0fcmS1aFFE63uhc6c35DkU4ysm IwvnJ5XRzWJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W5wAKCRCPgPtYfRL+ TqJUB/42N8x71AwQgruQABeImfIN7vEaTkaTthiUERrgXAnkBzZ9gegXAy7pvht0kx7KCwXwYKQ f/m/Xkrf8wXWN+2PAo0aoBsh9p+K4akQOsOuApKCOWItKTNextjtAYmplBZnZnlzBDFcCyX+D9y q5+SdJ9ZXfgGTOEhBIoTMekZawYBDuAaTno7ZTLTPK0X46E2miZttmTywkwuR8jdcx8xWztHdf2 uqz2j8yAzXaxXiPf+vDjO9RjhVw+7OoEZ9vSxqmSwXo8FdZm22cGjZ3NQ49s4fiYdipQGzx9uhV TrlpV9kbWMTQ3P76Tzgr8GKnX83oMIqzv4BoL5d3qpeJEWLS X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig Acked-by: Charles Keepax --- drivers/regulator/arizona-ldo1.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/regulator/arizona-ldo1.c b/drivers/regulator/arizona-l= do1.c index b465c0010665..4b54068d4f59 100644 --- a/drivers/regulator/arizona-ldo1.c +++ b/drivers/regulator/arizona-ldo1.c @@ -339,14 +339,12 @@ static int arizona_ldo1_probe(struct platform_device = *pdev) return ret; } =20 -static int arizona_ldo1_remove(struct platform_device *pdev) +static void arizona_ldo1_remove(struct platform_device *pdev) { struct arizona_ldo1 *ldo1 =3D platform_get_drvdata(pdev); =20 if (ldo1->ena_gpiod) gpiod_put(ldo1->ena_gpiod); - - return 0; } =20 static int madera_ldo1_probe(struct platform_device *pdev) @@ -377,7 +375,7 @@ static int madera_ldo1_probe(struct platform_device *pd= ev) =20 static struct platform_driver arizona_ldo1_driver =3D { .probe =3D arizona_ldo1_probe, - .remove =3D arizona_ldo1_remove, + .remove_new =3D arizona_ldo1_remove, .driver =3D { .name =3D "arizona-ldo1", .probe_type =3D PROBE_FORCE_SYNCHRONOUS, @@ -386,7 +384,7 @@ static struct platform_driver arizona_ldo1_driver =3D { =20 static struct platform_driver madera_ldo1_driver =3D { .probe =3D madera_ldo1_probe, - .remove =3D arizona_ldo1_remove, + .remove_new =3D arizona_ldo1_remove, .driver =3D { .name =3D "madera-ldo1", .probe_type =3D PROBE_FORCE_SYNCHRONOUS, --=20 2.42.0 From nobody Sun Dec 28 19:32:18 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 B4F19C4167B for ; Tue, 5 Dec 2023 12:26:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235156AbjLEM0g (ORCPT ); Tue, 5 Dec 2023 07:26:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53562 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231945AbjLEM0b (ORCPT ); Tue, 5 Dec 2023 07:26:31 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0748A116 for ; Tue, 5 Dec 2023 04:26:38 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVX-0005XX-Ey; Tue, 05 Dec 2023 13:26:35 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVX-00Djur-2H; Tue, 05 Dec 2023 13:26:35 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVW-00EhQd-PT; Tue, 05 Dec 2023 13:26:34 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: Marek Vasut , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 2/8] regulator: bd9571mwv: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:17 +0100 Message-ID: <639e796b36815a219ff1172cc758ba7378211d74.1701778038.git.u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1844; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=xHLhRqowwhFDnR1Zz3hrHDK3dQ0zi02Jx4061ISe4MM=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxboQOaQkKi2vEhgf7ZGG0FfDWxXYpAN6cRlW K/zmQb5HeqJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W6AAKCRCPgPtYfRL+ TtJqB/9e48xXfRTGrxFhfDHXi37CoQOy9e3v7lcsWmzELvxm0TOXy6bKEhcgZNuCqJP5wwUk1N0 8xFFcSEr4zOn2UBM1VtvoVU9IX/9QGmYZxwmZT9MPJwax4LswsO8+CreHzbtc2DR5iNx0Je5Eeh NdL7c9NSnyNi2eB+PZoTa+lfrerh03l7ETvyltKcIhf4heaqw6CJ0mfFg+I2hB9lmFnDw2+rMIA qM+W++qoJpzP7LwL/R/P1Z7Yjre1h8l5+pbo+dyWl4vIhNDIeVZtXEI/g9G/mTk4MfuElMviw/Y j9Cy0KNqDouDLaGjr0yEI4dBeDfxuZnzsGaCIFBHxq2PlmW/ X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig Reviewed-by: Geert Uytterhoeven --- drivers/regulator/bd9571mwv-regulator.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/regulator/bd9571mwv-regulator.c b/drivers/regulator/bd= 9571mwv-regulator.c index d469481d8442..c7ceba56e7dc 100644 --- a/drivers/regulator/bd9571mwv-regulator.c +++ b/drivers/regulator/bd9571mwv-regulator.c @@ -260,10 +260,9 @@ static const struct dev_pm_ops bd9571mwv_pm =3D { SET_SYSTEM_SLEEP_PM_OPS(bd9571mwv_suspend, bd9571mwv_resume) }; =20 -static int bd9571mwv_regulator_remove(struct platform_device *pdev) +static void bd9571mwv_regulator_remove(struct platform_device *pdev) { device_remove_file(&pdev->dev, &dev_attr_backup_mode); - return 0; } #define DEV_PM_OPS &bd9571mwv_pm #else @@ -357,7 +356,7 @@ static struct platform_driver bd9571mwv_regulator_drive= r =3D { .pm =3D DEV_PM_OPS, }, .probe =3D bd9571mwv_regulator_probe, - .remove =3D bd9571mwv_regulator_remove, + .remove_new =3D bd9571mwv_regulator_remove, .id_table =3D bd9571mwv_regulator_id_table, }; module_platform_driver(bd9571mwv_regulator_driver); --=20 2.42.0 From nobody Sun Dec 28 19:32:18 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 00EBCC4167B for ; Tue, 5 Dec 2023 12:26:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235145AbjLEM0d (ORCPT ); Tue, 5 Dec 2023 07:26:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53558 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231941AbjLEM0b (ORCPT ); Tue, 5 Dec 2023 07:26:31 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A44F910F for ; Tue, 5 Dec 2023 04:26:37 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVX-0005XY-K6; Tue, 05 Dec 2023 13:26:35 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVX-00Djuu-7a; Tue, 05 Dec 2023 13:26:35 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVW-00EhQh-Uq; Tue, 05 Dec 2023 13:26:34 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 3/8] regulator: db8500-prcmu: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:18 +0100 Message-ID: X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1728; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=aQBaFL+FANXD31y3+CbqmAskYiXzkwfN3BmtZOQME1Q=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxbpizW0JIt1XczXtpIgApN7XcjmUuaG+FhOf Df5QsH3KhaJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W6QAKCRCPgPtYfRL+ TmbUB/wK0Qf/b8gsd9YQ6Hsl1DpgEI0ASqXa8lirDvQU/cJMTo5iN1xlEcnjAqYEC8VR6+gBUWU 3/Nqjdcco4i+4fQ9KzGyL7HzmTuhL5xUcRSA6WYpVxeL940o6HfR7HBLiQZZziXdVe+uf6lilc8 oiJiqebw9iuv7BuMZHpo3tlbhOIcm9U1zb9/EsJYWtx55MmSrNbUx7SJsl9q7mY3WJS6cLDdOZ6 bEW/5dB8SPO19nZ6p0E9OrUAv9wFcfofvozmJwiv4O316ACdj3hDbVzkyagRuo7ycx83GuRcOp6 DABtEHAPSWb370DtrDpUBkbagM0g8oaB5ItADe/JUICsqV9+ X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/regulator/db8500-prcmu.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/db8500-prcmu.c b/drivers/regulator/db8500-pr= cmu.c index 34c5e485d0af..1e2d54da1b9a 100644 --- a/drivers/regulator/db8500-prcmu.c +++ b/drivers/regulator/db8500-prcmu.c @@ -469,11 +469,9 @@ static int db8500_regulator_probe(struct platform_devi= ce *pdev) return 0; } =20 -static int db8500_regulator_remove(struct platform_device *pdev) +static void db8500_regulator_remove(struct platform_device *pdev) { ux500_regulator_debug_exit(); - - return 0; } =20 static struct platform_driver db8500_regulator_driver =3D { @@ -482,7 +480,7 @@ static struct platform_driver db8500_regulator_driver = =3D { .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, }, .probe =3D db8500_regulator_probe, - .remove =3D db8500_regulator_remove, + .remove_new =3D db8500_regulator_remove, }; =20 static int __init db8500_regulator_init(void) --=20 2.42.0 From nobody Sun Dec 28 19:32:18 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 E619FC07E97 for ; Tue, 5 Dec 2023 12:26:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235518AbjLEM0s (ORCPT ); Tue, 5 Dec 2023 07:26:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54540 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235151AbjLEM0f (ORCPT ); Tue, 5 Dec 2023 07:26:35 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C865C9 for ; Tue, 5 Dec 2023 04:26:41 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVY-0005Xu-76; Tue, 05 Dec 2023 13:26:36 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVX-00Djux-Eg; Tue, 05 Dec 2023 13:26:35 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVX-00EhQm-5Y; Tue, 05 Dec 2023 13:26:35 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: Maxime Coquelin , Alexandre Torgue , linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de Subject: [PATCH 4/8] regulator: stm32-vrefbuf: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:19 +0100 Message-ID: <2e96cf99c8d97b728d891a745e8f94ee39fbfee8.1701778038.git.u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2049; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=sYW+VRQlaUR4tM4vU6xMFTkIkYFDO3ZsrQVPaJ+GEJ4=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxbqWGuXtsy7gv6tNYQlb2xj7XMEobJPqduLF BBMwrfHmbqJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W6gAKCRCPgPtYfRL+ TgbCB/98owzxEUqbrEj9sMckpRxSmLplun0ZyYiCAYe6awaXUO86peyV+H+0CXO93EdHbFb4Ha1 xR5aVqiHFvoflGPGMgYevzws9GXypUxbh9gddEc2dz8xIkjTjFUvIKL/GtY/xbEwdI812mdn2vK cwO2rD6nuyqSKMytiCXe1J1ms/54sERaxtP2fOqj35P8hbQoBW6LBF9iC4Q7bu7gWN8jzQUTFFb g5GpT/vMiC1D1cyVqLkr+nihchbcCW2SQ1C5Pa7VtvAxHVy1/T5Q7GsxR7SxccytJxtrxjMPlhE tA3urkm3LotZUnKzL2NsfSDubXKXyLeesFdivas8fQU+d4sc X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/regulator/stm32-vrefbuf.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/stm32-vrefbuf.c b/drivers/regulator/stm32-vr= efbuf.c index 717144cbe0f9..40855105dd33 100644 --- a/drivers/regulator/stm32-vrefbuf.c +++ b/drivers/regulator/stm32-vrefbuf.c @@ -233,7 +233,7 @@ static int stm32_vrefbuf_probe(struct platform_device *= pdev) return ret; } =20 -static int stm32_vrefbuf_remove(struct platform_device *pdev) +static void stm32_vrefbuf_remove(struct platform_device *pdev) { struct regulator_dev *rdev =3D platform_get_drvdata(pdev); struct stm32_vrefbuf *priv =3D rdev_get_drvdata(rdev); @@ -244,8 +244,6 @@ static int stm32_vrefbuf_remove(struct platform_device = *pdev) pm_runtime_disable(&pdev->dev); pm_runtime_set_suspended(&pdev->dev); pm_runtime_put_noidle(&pdev->dev); - - return 0; }; =20 static int __maybe_unused stm32_vrefbuf_runtime_suspend(struct device *dev) @@ -282,7 +280,7 @@ MODULE_DEVICE_TABLE(of, stm32_vrefbuf_of_match); =20 static struct platform_driver stm32_vrefbuf_driver =3D { .probe =3D stm32_vrefbuf_probe, - .remove =3D stm32_vrefbuf_remove, + .remove_new =3D stm32_vrefbuf_remove, .driver =3D { .name =3D "stm32-vrefbuf", .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, --=20 2.42.0 From nobody Sun Dec 28 19:32:18 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 14AC6C4167B for ; Tue, 5 Dec 2023 12:26:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235510AbjLEM0q (ORCPT ); Tue, 5 Dec 2023 07:26:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54546 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232013AbjLEM0g (ORCPT ); Tue, 5 Dec 2023 07:26:36 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2BC2B109 for ; Tue, 5 Dec 2023 04:26:42 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVZ-0005Y1-Ay; Tue, 05 Dec 2023 13:26:37 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVX-00Djv1-LJ; Tue, 05 Dec 2023 13:26:35 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVX-00EhQq-CJ; Tue, 05 Dec 2023 13:26:35 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: Kunihiko Hayashi , Masami Hiramatsu , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de Subject: [PATCH 5/8] regulator: uniphier: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:20 +0100 Message-ID: X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2025; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=MfQF9iwHzK7xCZssdcBcprKdoRpEqSRfvgyJg9UlPro=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxbrq9fl7uKhfoRDiG7dqJCrt0vg0UWtZzvc/ +ly7sZfv92JATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W6wAKCRCPgPtYfRL+ TlwyCAC02HaN2JA3GOM5Pz1awjMRcqAd7FBE3meTNtDblEqQYbRj45gdB3s+eakbwt8OGXe0s4+ IYvp/HN4pzTqf52GEThQ4tzV0heLJDZqsTo8G1zwhTUICI93/Mwsl3JtaYrgj89jASG5I4ZA0+W KLX86oNb1t2tAlyzUQAuC4iqJpD3d8MaQRWhGc7nDRUTP55DdlZ7onsx5ttLvAh5WGYrtD/3+1e xD+ZEps+OeYZUr8Uc/TnLmCg3Lh3NuC9BqUIWA/fW5vt1/8xYF4+8MOuPvcRPXziAUZ0gcEOW4K PW6h57ydJu6eI0TeCsy/nyb3KfjsM499f5xeQtMABzzHO4tx X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/regulator/uniphier-regulator.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/uniphier-regulator.c b/drivers/regulator/uni= phier-regulator.c index 1d8304b88bd6..5f868042392f 100644 --- a/drivers/regulator/uniphier-regulator.c +++ b/drivers/regulator/uniphier-regulator.c @@ -115,7 +115,7 @@ static int uniphier_regulator_probe(struct platform_dev= ice *pdev) return ret; } =20 -static int uniphier_regulator_remove(struct platform_device *pdev) +static void uniphier_regulator_remove(struct platform_device *pdev) { struct uniphier_regulator_priv *priv =3D platform_get_drvdata(pdev); int i; @@ -124,8 +124,6 @@ static int uniphier_regulator_remove(struct platform_de= vice *pdev) reset_control_assert(priv->rst[i]); =20 clk_bulk_disable_unprepare(priv->data->nclks, priv->clk); - - return 0; } =20 /* USB3 controller data */ @@ -209,7 +207,7 @@ MODULE_DEVICE_TABLE(of, uniphier_regulator_match); =20 static struct platform_driver uniphier_regulator_driver =3D { .probe =3D uniphier_regulator_probe, - .remove =3D uniphier_regulator_remove, + .remove_new =3D uniphier_regulator_remove, .driver =3D { .name =3D "uniphier-regulator", .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, --=20 2.42.0 From nobody Sun Dec 28 19:32:18 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 826C5C07E97 for ; Tue, 5 Dec 2023 12:26:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235169AbjLEM0i (ORCPT ); Tue, 5 Dec 2023 07:26:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53568 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231888AbjLEM0c (ORCPT ); Tue, 5 Dec 2023 07:26:32 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2783C11F for ; Tue, 5 Dec 2023 04:26:38 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVY-0005Y2-7R; Tue, 05 Dec 2023 13:26:36 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVX-00Djv6-Qq; Tue, 05 Dec 2023 13:26:35 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVX-00EhQu-I2; Tue, 05 Dec 2023 13:26:35 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 6/8] regulator: userspace-consumer: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:21 +0100 Message-ID: <89c5f261707bf178e1508cf5dd55121f0da2dc3f.1701778038.git.u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2190; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=A8FP1XBHehjd8UZNqwQtALdNNbXhhXcBzW90wH3+wU0=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxbt3vaMkK4LhyfDydpOLGLXDFYQBWohwmjpu 9scuU8+/uOJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W7QAKCRCPgPtYfRL+ TtCQB/9nVBvW/kdX4kAi9nIrvM74HxCnyXKpICHcrA/OS3LUZ9JMacf2aFINSrGVRFzqWXY6zbP CxwOkupHvIut6+Rgs5HyxXwT8sF4Dh/KpH5fKZ4/A7oEBEX8FXWauziq8vMAjxavImdQCLsNHd2 w9W+Qb7bBfW/c2SYnFwTyJ0aWamRJwT/ZkiaF7cc8buQs9HXbDSgtG4neFmrW1XSHOlCciPom8o cdPsI8kf4xyVyxY7BFDhtjO8ZnpQitWrMbU0V6Eh1FCtStPSnFDETH8Fig2KLG2+Q/ymECJn8Z+ 3CtO9SueGnykA0xkxN6ahwAQxtoVvNDH7yHz50X7ty0t545p X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/regulator/userspace-consumer.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/userspace-consumer.c b/drivers/regulator/use= rspace-consumer.c index 97f075ed68c9..53d1b9d6f69c 100644 --- a/drivers/regulator/userspace-consumer.c +++ b/drivers/regulator/userspace-consumer.c @@ -194,7 +194,7 @@ static int regulator_userspace_consumer_probe(struct pl= atform_device *pdev) return ret; } =20 -static int regulator_userspace_consumer_remove(struct platform_device *pde= v) +static void regulator_userspace_consumer_remove(struct platform_device *pd= ev) { struct userspace_consumer_data *data =3D platform_get_drvdata(pdev); =20 @@ -202,8 +202,6 @@ static int regulator_userspace_consumer_remove(struct p= latform_device *pdev) =20 if (data->enabled && !data->no_autoswitch) regulator_bulk_disable(data->num_supplies, data->supplies); - - return 0; } =20 static const struct of_device_id regulator_userspace_consumer_of_match[] = =3D { @@ -213,7 +211,7 @@ static const struct of_device_id regulator_userspace_co= nsumer_of_match[] =3D { =20 static struct platform_driver regulator_userspace_consumer_driver =3D { .probe =3D regulator_userspace_consumer_probe, - .remove =3D regulator_userspace_consumer_remove, + .remove_new =3D regulator_userspace_consumer_remove, .driver =3D { .name =3D "reg-userspace-consumer", .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, --=20 2.42.0 From nobody Sun Dec 28 19:32:18 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 EE9B6C10F04 for ; Tue, 5 Dec 2023 12:26:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235159AbjLEM0h (ORCPT ); Tue, 5 Dec 2023 07:26:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53576 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231897AbjLEM0c (ORCPT ); Tue, 5 Dec 2023 07:26:32 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 655CAC9 for ; Tue, 5 Dec 2023 04:26:38 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVY-0005YB-DY; Tue, 05 Dec 2023 13:26:36 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVY-00Djv9-0j; Tue, 05 Dec 2023 13:26:36 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVX-00EhQy-OG; Tue, 05 Dec 2023 13:26:35 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 7/8] regulator: virtual: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:22 +0100 Message-ID: X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1830; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=1OKfIPBeDkKIREgYV7LXbr/0td99Z79KwgLwoughZ/c=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxbuOE/46ozZYuwEBtuuizP6Db361dH5Sjxp+ Slow9GJVjeJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W7gAKCRCPgPtYfRL+ TmwIB/wJ6YpQ2ODQNk1jeVFJkg/vHO2WmI6bTHeiE1UEBDv3ANOfLiYCgutRQsfrDuzLocHJtF0 AEs1cdzNB5wQY5HtKvILN9fDWyidpJPwtG3Zygn1MHiEiOjmSsA364LJdS+hviBCGw+Xsa9B0FN zbCqA6olDtPyDCvo2C0Kz6oA3NH9Jlknhxqk03o2q8ayvEoCIvKf7I8uRHOYBuOTxiwRsz9/vrl qVeJhH4DGsPUz9jt36MBGXgfZYIe4PWb/oonaWO2mWv1oxl6FM2lCtHk5cYxViy0kpVtWb0D+YA V00SHr+iaR43hrxfthWVFdCA4uFAJLxNBVwubf0D8mG4w51T X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/regulator/virtual.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/virtual.c b/drivers/regulator/virtual.c index d5a160efdae6..0a0ee186c6af 100644 --- a/drivers/regulator/virtual.c +++ b/drivers/regulator/virtual.c @@ -345,7 +345,7 @@ static int regulator_virtual_probe(struct platform_devi= ce *pdev) return 0; } =20 -static int regulator_virtual_remove(struct platform_device *pdev) +static void regulator_virtual_remove(struct platform_device *pdev) { struct virtual_consumer_data *drvdata =3D platform_get_drvdata(pdev); =20 @@ -353,13 +353,11 @@ static int regulator_virtual_remove(struct platform_d= evice *pdev) =20 if (drvdata->enabled) regulator_disable(drvdata->regulator); - - return 0; } =20 static struct platform_driver regulator_virtual_consumer_driver =3D { .probe =3D regulator_virtual_probe, - .remove =3D regulator_virtual_remove, + .remove_new =3D regulator_virtual_remove, .driver =3D { .name =3D "reg-virt-consumer", .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, --=20 2.42.0 From nobody Sun Dec 28 19:32:18 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 A3781C4167B for ; Tue, 5 Dec 2023 12:26:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235483AbjLEM0o (ORCPT ); Tue, 5 Dec 2023 07:26:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235142AbjLEM0e (ORCPT ); Tue, 5 Dec 2023 07:26:34 -0500 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A623C10F for ; Tue, 5 Dec 2023 04:26:40 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rAUVY-0005YU-Jo; Tue, 05 Dec 2023 13:26:36 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAUVY-00DjvC-6i; Tue, 05 Dec 2023 13:26:36 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rAUVX-00EhR2-U0; Tue, 05 Dec 2023 13:26:35 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Liam Girdwood , Mark Brown Cc: patches@opensource.cirrus.com, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 8/8] regulator: wm8350: Convert to platform remove callback returning void Date: Tue, 5 Dec 2023 13:26:23 +0100 Message-ID: <1f7bbc545829a1cc3df40be0424fe46d7449fb72.1701778038.git.u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1929; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=uGW+3kGg7E8CYPUZDYr0vtieqTGUZjfYrj/+nnZMeCo=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlbxbvtvaXAKewk789zdSg231w7Q/drOBpuY49i mOQm03R7/uJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZW8W7wAKCRCPgPtYfRL+ TqJ7CACEozsAbKkt6lOP19XV6OZ6tXJSH5WsUAVOfYvQohvM9BR+HeeUI22qYxq22wpvRnFEzkv SfTf/fyXYiifW7/88tlLg+5UpL6v+GCVQJMRsKJcJ5lvDDZYH7XfOTMz5PqNox/ZIXpgQf2ehRg gPaec0VE41ysvLW/I7AX9DUNbxL1aglPNYOYVzcrZkDviz+K+XDG3686mReIEcrOvpZE8bTapRA uNHH8sxlAug8ssCzBBvxtTLfJb5tkg/n7i9gEChJH6sg2l9CqN3RqlV4dUgzo1wJUJZEQOZlk2a GjHLKwB+BrdzwfT6RT7mnIKrJixUvZ50xBntzjKgnnKLMDPr X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-K=C3=B6nig Acked-by: Charles Keepax --- drivers/regulator/wm8350-regulator.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/regulator/wm8350-regulator.c b/drivers/regulator/wm835= 0-regulator.c index 1445bafcab40..9939a5d2cbec 100644 --- a/drivers/regulator/wm8350-regulator.c +++ b/drivers/regulator/wm8350-regulator.c @@ -1158,14 +1158,12 @@ static int wm8350_regulator_probe(struct platform_d= evice *pdev) return 0; } =20 -static int wm8350_regulator_remove(struct platform_device *pdev) +static void wm8350_regulator_remove(struct platform_device *pdev) { struct regulator_dev *rdev =3D platform_get_drvdata(pdev); struct wm8350 *wm8350 =3D rdev_get_drvdata(rdev); =20 wm8350_free_irq(wm8350, wm8350_reg[pdev->id].irq, rdev); - - return 0; } =20 int wm8350_register_regulator(struct wm8350 *wm8350, int reg, @@ -1306,7 +1304,7 @@ EXPORT_SYMBOL_GPL(wm8350_register_led); =20 static struct platform_driver wm8350_regulator_driver =3D { .probe =3D wm8350_regulator_probe, - .remove =3D wm8350_regulator_remove, + .remove_new =3D wm8350_regulator_remove, .driver =3D { .name =3D "wm8350-regulator", .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, --=20 2.42.0