From nobody Fri Dec 19 21:45:35 2025 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C842312CD85 for ; Tue, 5 Mar 2024 21:32:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709674353; cv=none; b=aUwX74LRlx5cM9TN4YwcK/LHJAC/TmCkvW/cmlLvq2vUouTxmmIvf5Bi10VgvvjYqyrpqi5jS9SsC0EiQPo7vxyd1Jl5amCkvuIqTrEn1xVzhuIh3mnpvRp3w85nCUb6eBycN01g+ogrP54AKTy1YRwu6mzqIjVeZy51iAIoULk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709674353; c=relaxed/simple; bh=ax4ocmWgdyR2S0Rp27gdwmhqKLnCwEq0x6qra/psAgE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=r4RXpzHTzyN2sdabwYom4QLy0JZ5DWn66qPrRG1bIElEuA2TNpVd6fuqBzdlw0yc9W+zec+ZGXpA6Dv/kWGE7a9+9GS40N85kC8kgHq4xTptkK2sFBfk4tgJEKUGVgak0+TmCEqVRaIPsaWCtNjA0FHAC7Ri2BgC67fHgAHXdRM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de 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 1rhcOe-0006r5-NY; Tue, 05 Mar 2024 22:32:24 +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 1rhcOe-004cmH-8i; Tue, 05 Mar 2024 22:32:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rhcOe-000ISx-0a; Tue, 05 Mar 2024 22:32:24 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Philipp Zabel Cc: Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 1/3] reset: meson-audio-arb: Convert to platform remove callback returning void Date: Tue, 5 Mar 2024 22:32:03 +0100 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2039; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=ax4ocmWgdyR2S0Rp27gdwmhqKLnCwEq0x6qra/psAgE=; b=owGbwMvMwMXY3/A7olbonx/jabUkhtTn/SExj8u8VgcX69yuiG7acTjXfv7ha9/s2ly/BNrt+ ayv57+uk9GYhYGRi0FWTJHFvnFNplWVXGTn2n+XYQaxMoFMYeDiFICJrHjHwbDzZGJ1H4fz3tww 07/p8iaGmksUnohsDZULuv8sXqmF/02k+4x9/mI3VBLbDxTczjiQnDpl+rJd34RWshfrHJT9Et9 ftKEnVL00+bBXY5n9qzam3nVaxo1MRSlLb1tI7++7ERSjyMZf+a5Y/ue8qRY7J941mbQ6c53e/r n5FjeaWt+zPN8yfZJRfvVZpe9/chVaOmdv9xcXfrrr2yePJ0yz3of88qiZ7Hz2T4pf7cLKXbJSf 1Y5HJzvHnOI56P/u+To1PT3qg8u7b2lX+x86yOX+mTu10K6SkLHHttGOtgH6ogrXxDLnLOJmbPR 6I+O8HFuji4D83wnw9umGyqkPIJDS9SvMhpv+FvsPakMAA== 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 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: Philipp Zabel Reviewed-by: Philipp Zabel --- drivers/reset/reset-meson-audio-arb.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/reset/reset-meson-audio-arb.c b/drivers/reset/reset-me= son-audio-arb.c index 7891d52fa899..8740f5f6abf8 100644 --- a/drivers/reset/reset-meson-audio-arb.c +++ b/drivers/reset/reset-meson-audio-arb.c @@ -120,7 +120,7 @@ static const struct of_device_id meson_audio_arb_of_mat= ch[] =3D { }; MODULE_DEVICE_TABLE(of, meson_audio_arb_of_match); =20 -static int meson_audio_arb_remove(struct platform_device *pdev) +static void meson_audio_arb_remove(struct platform_device *pdev) { struct meson_audio_arb_data *arb =3D platform_get_drvdata(pdev); =20 @@ -130,8 +130,6 @@ static int meson_audio_arb_remove(struct platform_devic= e *pdev) spin_unlock(&arb->lock); =20 clk_disable_unprepare(arb->clk); - - return 0; } =20 static int meson_audio_arb_probe(struct platform_device *pdev) @@ -189,7 +187,7 @@ static int meson_audio_arb_probe(struct platform_device= *pdev) =20 static struct platform_driver meson_audio_arb_pdrv =3D { .probe =3D meson_audio_arb_probe, - .remove =3D meson_audio_arb_remove, + .remove_new =3D meson_audio_arb_remove, .driver =3D { .name =3D "meson-audio-arb-reset", .of_match_table =3D meson_audio_arb_of_match, --=20 2.43.0 From nobody Fri Dec 19 21:45:35 2025 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E29B12B170 for ; Tue, 5 Mar 2024 21:32:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709674350; cv=none; b=gP5QkZTGVPh/FqiUp574JWsSoFFzBS8t7FgsUw0RbUg0gzPQb6hkMmHwyVrAgnCsPzWZ/2wJW/RPteMEoEMTmMw5J6Pxs9819lQbef0AmbuysuByBwiVhRHVFKrZ+RzRZzGzxPZuSv31Mc62wpb2oHWP6d9nCgA8myvZBqipjOs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709674350; c=relaxed/simple; bh=RJT3a4ZOwPoIbhWid5vTNbtT2kN70dCBJPBRAA1Z/9A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=DMhfz/wJ1RGkevenR09I5+J3H5FzOt5dLwT0F269LtEm6zuvFYyJVXwyRmSj1+nNQF1JaOh1l2yMz7E+zyICu9jzE/6fni4os9ZiOh+/pUZ44Rr6bo8cjEKITvWp6CXC0UpMRZMZQBGoZ1/+7OvoMmOPV3DnGBkA/7VxZYExKNU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de 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 1rhcOe-0006r6-S3; Tue, 05 Mar 2024 22:32:24 +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 1rhcOe-004cmK-FY; Tue, 05 Mar 2024 22:32:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rhcOe-000IT1-1J; Tue, 05 Mar 2024 22:32:24 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Philipp Zabel Cc: linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 2/3] reset: rzg2l-usbphy-ctrl: Convert to platform remove callback returning void Date: Tue, 5 Mar 2024 22:32:04 +0100 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1927; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=RJT3a4ZOwPoIbhWid5vTNbtT2kN70dCBJPBRAA1Z/9A=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBl549VQmg+RtR8EoSPs/S/N9KHg1dl76SpHxzU3 J7Nm3SftoiJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZeePVQAKCRCPgPtYfRL+ TkoIB/9e8T6UPxu2idafsNgeZDq9vGs5yhB9eAWO5GRlDPRAYljVprTakizUE4RDNw6+uigeMAS ewERXU34+dSOfgcYktcu6T2yx1qYywW/FwC7VqrkPi0tMh1XBMVTGgjuuvBKv/2fhu8AIeM1id/ 4fbflS9VfwVm+7WdbpDkKHuaVMVrbPtAEUTiPaSJY0eyp36aac58A/HXMPvHflxRrYRpR0B3rAU oGBGYie59oK6Rq2IiFzNiJgzL7JYbEfvl531M7Qf6HnXwu/2d3pn7krVYYfc1CjldoW85kJx8gY 3LuVXXEAT8xvuUu4R22gY3FTa5L/addOn1/0nmWJDfxtkiwu 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 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: Philipp Zabel Reviewed-by: Philipp Zabel --- drivers/reset/reset-rzg2l-usbphy-ctrl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/reset/reset-rzg2l-usbphy-ctrl.c b/drivers/reset/reset-= rzg2l-usbphy-ctrl.c index a8dde4606360..8f6fbd978591 100644 --- a/drivers/reset/reset-rzg2l-usbphy-ctrl.c +++ b/drivers/reset/reset-rzg2l-usbphy-ctrl.c @@ -156,15 +156,13 @@ static int rzg2l_usbphy_ctrl_probe(struct platform_de= vice *pdev) return 0; } =20 -static int rzg2l_usbphy_ctrl_remove(struct platform_device *pdev) +static void rzg2l_usbphy_ctrl_remove(struct platform_device *pdev) { struct rzg2l_usbphy_ctrl_priv *priv =3D dev_get_drvdata(&pdev->dev); =20 pm_runtime_put(&pdev->dev); pm_runtime_disable(&pdev->dev); reset_control_assert(priv->rstc); - - return 0; } =20 static struct platform_driver rzg2l_usbphy_ctrl_driver =3D { @@ -173,7 +171,7 @@ static struct platform_driver rzg2l_usbphy_ctrl_driver = =3D { .of_match_table =3D rzg2l_usbphy_ctrl_match_table, }, .probe =3D rzg2l_usbphy_ctrl_probe, - .remove =3D rzg2l_usbphy_ctrl_remove, + .remove_new =3D rzg2l_usbphy_ctrl_remove, }; module_platform_driver(rzg2l_usbphy_ctrl_driver); =20 --=20 2.43.0 From nobody Fri Dec 19 21:45:35 2025 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC5A612D1F7 for ; Tue, 5 Mar 2024 21:32:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709674355; cv=none; b=G0OvtHwots2BQiv9r3HBoiWxJHaDEO2N9ur5GLXxEfkV/H2oPgLx4ctx7+MpqZJqIQvunYjt42k5FlsU29Qumn10H7yU/q16QvJR+rWtx5XfpzXKjA65lqSFl+0Gn7GWHveCTMsR1XtHJ5qQ62Q/bKpKP+LqMXMZFK6OLTGiPn8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709674355; c=relaxed/simple; bh=0KCo74JW0R7cj4rrSXgXdNuuxSCj5INfxzKV5DEPMwA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qFXyZdFky7ZB0iZ9+KaMkoWUVzwK73Uf5yEH4PUNXnqv1Wqf3McgbOeLqLzQeASLA9Rf+7OezjGekwDdF5XxXHX4mqvUECAczRjbPZ2VTuHrjfSur6t7BIr+mNvxKnrYBUvSfmYRP0bnrAcIaiZXDYiIjE/dAG1Wr9/spz4swnM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de 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 1rhcOf-0006re-CA; Tue, 05 Mar 2024 22:32:25 +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 1rhcOe-004cmN-N6; Tue, 05 Mar 2024 22:32:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rhcOe-000IT5-22; Tue, 05 Mar 2024 22:32:24 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Philipp Zabel Cc: Nishanth Menon , Tero Kristo , Santosh Shilimkar , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 3/3] reset: ti-sci: Convert to platform remove callback returning void Date: Tue, 5 Mar 2024 22:32:05 +0100 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1732; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=0KCo74JW0R7cj4rrSXgXdNuuxSCj5INfxzKV5DEPMwA=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBl549WCXF5BB4pcMzdyMRiMUfC7yDpKh2iaJHow RBlvhGCM+qJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZeePVgAKCRCPgPtYfRL+ TtJsCACwBOqedx5DD+BLQigiE6xZs8ztjqp5kRLf//PAGCMnfX/ObpPhFqIhvSyD3otWmb9MGFn OYMdWzA9bXwJYnwhCI7WZ39j+2/9BOdpgspbWxJqRhlC1LAuouekvnUQfwnZqppChsys1oWjFkX WOUJYgObSAkljvVJs+U5i57UHsGKnQDW5LWz3ZsNvojHh+XptjjQtxY5z9oBkS5YX5k8jOsqhp+ J15eFel536801i1Im7KsOGtGzkb26fvbHI5sv1mDUAzvaEwla+4S6+swMmQK/30/lIJmHQ/jv0u qy/WCGuCqnHYLWv6u3IAgICb1ThFIq2R7Tjh3LlImw8eAYei 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 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: Philipp Zabel Reviewed-by: Nishanth Menon Reviewed-by: Philipp Zabel --- drivers/reset/reset-ti-sci.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/reset/reset-ti-sci.c b/drivers/reset/reset-ti-sci.c index cc01fa5b0bea..d384da0982fa 100644 --- a/drivers/reset/reset-ti-sci.c +++ b/drivers/reset/reset-ti-sci.c @@ -235,20 +235,18 @@ static int ti_sci_reset_probe(struct platform_device = *pdev) return reset_controller_register(&data->rcdev); } =20 -static int ti_sci_reset_remove(struct platform_device *pdev) +static void ti_sci_reset_remove(struct platform_device *pdev) { struct ti_sci_reset_data *data =3D platform_get_drvdata(pdev); =20 reset_controller_unregister(&data->rcdev); =20 idr_destroy(&data->idr); - - return 0; } =20 static struct platform_driver ti_sci_reset_driver =3D { .probe =3D ti_sci_reset_probe, - .remove =3D ti_sci_reset_remove, + .remove_new =3D ti_sci_reset_remove, .driver =3D { .name =3D "ti-sci-reset", .of_match_table =3D ti_sci_reset_of_match, --=20 2.43.0