From nobody Fri Sep 20 19:23:30 2024 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 B0134C77B73 for ; Tue, 30 May 2023 07:19:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230288AbjE3HTc (ORCPT ); Tue, 30 May 2023 03:19:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229627AbjE3HTY (ORCPT ); Tue, 30 May 2023 03:19:24 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31F4990 for ; Tue, 30 May 2023 00:19:23 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tdZ-0006UP-0S; Tue, 30 May 2023 09:19:21 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orI-5S; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdW-009OQk-PA; Tue, 30 May 2023 09:19:18 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Minas Harutyunyan , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, Minas Harutyunyan Subject: [PATCH v2 1/6] usb: dwc2/platform: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:08 +0200 Message-Id: <20230530071913.2192214-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1921; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=ftSCFNBqW4RCJYtuDczd14yu9FrAHicQAwihlFp9aNE=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNoOOlLGJfWGniNRqHtS99WBUZhA06l0i85g 8ZMrJVttqeJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjaAAKCRCPgPtYfRL+ TmsqB/4x//lvQZlITmETYWDiAdUXAM3zUX2qZOfKuKKXCwKOOicz3Od20jxBOepmDkaL7wBauA8 FWz0ldEhoibRJhfkDOh+74AyBrJwR19qiaRTF/iJNLpKzNHJRKYTbpK2a0FbwYSj1Ur9eSpHxfI 6V21ATu0l5EQncpPt+z+osRIbaP2ya0/IRYv+/pQUcOFoGSFseEiIqbrUaZUjVAm6sL+5XHQS02 fgJkz0FpL/SyVEkZGcvFrpPNYYRCO9xEbDFa7Nn6NPTmMQP1aIAmKCvg+dBy+NfuyRJmEcuo+3R +jdRhFRYhRy83CPzgF6BG0OwE2NVX8rnVcp3hrSw5gJVRmOx 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.ext.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() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Acked-by: Minas Harutyunyan Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/usb/dwc2/platform.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c index 5cf025511cce..0a806f80217e 100644 --- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c @@ -301,7 +301,7 @@ static int dwc2_lowlevel_hw_init(struct dwc2_hsotg *hso= tg) * stops device processing. Any resources used on behalf of this device are * freed. */ -static int dwc2_driver_remove(struct platform_device *dev) +static void dwc2_driver_remove(struct platform_device *dev) { struct dwc2_hsotg *hsotg =3D platform_get_drvdata(dev); struct dwc2_gregs_backup *gr; @@ -351,8 +351,6 @@ static int dwc2_driver_remove(struct platform_device *d= ev) =20 if (hsotg->ll_hw_enabled) dwc2_lowlevel_hw_disable(hsotg); - - return 0; } =20 /** @@ -756,7 +754,7 @@ static struct platform_driver dwc2_platform_driver =3D { .pm =3D &dwc2_dev_pm_ops, }, .probe =3D dwc2_driver_probe, - .remove =3D dwc2_driver_remove, + .remove_new =3D dwc2_driver_remove, .shutdown =3D dwc2_driver_shutdown, }; =20 --=20 2.39.2 From nobody Fri Sep 20 19:23:30 2024 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 ED254C7EE23 for ; Tue, 30 May 2023 07:19:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230417AbjE3HTj (ORCPT ); Tue, 30 May 2023 03:19:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50666 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230021AbjE3HT1 (ORCPT ); Tue, 30 May 2023 03:19:27 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 255C990 for ; Tue, 30 May 2023 00:19:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tdZ-0006UO-9v; Tue, 30 May 2023 09:19:21 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdX-003orD-P3; Tue, 30 May 2023 09:19:19 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdW-009OQn-Vo; Tue, 30 May 2023 09:19:18 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 2/6] usb: xhci-histb: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:09 +0200 Message-Id: <20230530071913.2192214-3-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1910; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=U3rXptJKZVfEw+MHdwyDbq+XxbeLCznWrbH7lif8zkw=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNquZ36UD22fQhXa1UNpGm8ZYvjDueQv+VLQ q8kKGk4Q9eJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjagAKCRCPgPtYfRL+ TmChB/9ofZMjHxKtzPBb1AnM7b50A36Jlk5NmqBFdbt74LsoPwOUP4faqHwnxXwNGRxOfkYV4q+ A/4ZBkQ22sv0ad3gqOjA7KPQ6VjPmoPd0ibrVSxCwdirwFalmrv6sbAIl1tCJ+3eKVnlyhAWeOE IcqmzWQBuryg2/CVFybJq2wxl+B+4Rp79ltol5+Ikwm9RaVdqjimMKSD/1FExTxzKuowPuhk/jN iewHMdhg3RvLMDp1pf/1khxGWz//27vlE4/A/nDCP+tton+SZ0gCYgLcIYWk0sTG9P3TxBVZInl TxvdYYAdQceNrewwnzP8wWpHTLRD8Pnp3qnNwfqndghy7lZZ 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.ext.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() is 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/usb/host/xhci-histb.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/host/xhci-histb.c b/drivers/usb/host/xhci-histb.c index 91ce97821de5..d8aba07e802d 100644 --- a/drivers/usb/host/xhci-histb.c +++ b/drivers/usb/host/xhci-histb.c @@ -319,7 +319,7 @@ static int xhci_histb_probe(struct platform_device *pde= v) return ret; } =20 -static int xhci_histb_remove(struct platform_device *dev) +static void xhci_histb_remove(struct platform_device *dev) { struct xhci_hcd_histb *histb =3D platform_get_drvdata(dev); struct usb_hcd *hcd =3D histb->hcd; @@ -339,8 +339,6 @@ static int xhci_histb_remove(struct platform_device *de= v) usb_put_hcd(hcd); pm_runtime_put_sync(&dev->dev); pm_runtime_disable(&dev->dev); - - return 0; } =20 static int __maybe_unused xhci_histb_suspend(struct device *dev) @@ -385,7 +383,7 @@ MODULE_DEVICE_TABLE(of, histb_xhci_of_match); =20 static struct platform_driver histb_xhci_driver =3D { .probe =3D xhci_histb_probe, - .remove =3D xhci_histb_remove, + .remove_new =3D xhci_histb_remove, .driver =3D { .name =3D "xhci-histb", .pm =3D DEV_PM_OPS, --=20 2.39.2 From nobody Fri Sep 20 19:23:30 2024 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 10503C7EE23 for ; Tue, 30 May 2023 07:20:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231128AbjE3HUO (ORCPT ); Tue, 30 May 2023 03:20:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230507AbjE3HTz (ORCPT ); Tue, 30 May 2023 03:19:55 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1277B185 for ; Tue, 30 May 2023 00:19:37 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tda-0006UR-VG; Tue, 30 May 2023 09:19:23 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orL-BX; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OQq-6I; Tue, 30 May 2023 09:19:19 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , Chunfeng Yun , Matthias Brugger , AngeloGioacchino Del Regno , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 3/6] usb: xhci-mtk: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:10 +0200 Message-Id: <20230530071913.2192214-4-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1962; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=RinVfZYjAScwU7jEpi6Dz9/WO/ViUXjuFQrBaAhOb1w=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNrHSUjvY7u/dQD2YJ/vxI2vJy7rtRQ7QLtD qNgRQmQVyKJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjawAKCRCPgPtYfRL+ TnkrB/9LiRr878SVBC3p+kwbWsp4YeWJUwXVWtY6TnRl+gt29oeuPcTuXlXau7LXhDf5/NIQBi/ fVD2KW3vabRfI2tkjSDFTvNVW8yE27rdQenfmn0eI08GZpUygumXtVJlotokQqTlLSmbqco2Lh4 fWvhlob6tyk5cc+NzlMLa0qZFm09SDAhtPmCb7jTFsBYjUvTskWOU5aJebYvRGc35KNJURDMyvZ P9FCeVWVqT715HfyPLsSRZ7pvpwyUs2iTA0mhJRXz72LAD9H7B0bNXhAtTQrp3cSCb5irOJmuHj kJrXxHBq9I/U4DEpa5IdPl5dRx0vh2cHF9tzpSDa+IQbyWN5 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.ext.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() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/usb/host/xhci-mtk.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c index 90cf40d6d0c3..8d9a55b0281b 100644 --- a/drivers/usb/host/xhci-mtk.c +++ b/drivers/usb/host/xhci-mtk.c @@ -673,7 +673,7 @@ static int xhci_mtk_probe(struct platform_device *pdev) return ret; } =20 -static int xhci_mtk_remove(struct platform_device *pdev) +static void xhci_mtk_remove(struct platform_device *pdev) { struct xhci_hcd_mtk *mtk =3D platform_get_drvdata(pdev); struct usb_hcd *hcd =3D mtk->hcd; @@ -703,8 +703,6 @@ static int xhci_mtk_remove(struct platform_device *pdev) pm_runtime_disable(dev); pm_runtime_put_noidle(dev); pm_runtime_set_suspended(dev); - - return 0; } =20 static int __maybe_unused xhci_mtk_suspend(struct device *dev) @@ -824,7 +822,7 @@ MODULE_DEVICE_TABLE(of, mtk_xhci_of_match); =20 static struct platform_driver mtk_xhci_driver =3D { .probe =3D xhci_mtk_probe, - .remove =3D xhci_mtk_remove, + .remove_new =3D xhci_mtk_remove, .driver =3D { .name =3D "xhci-mtk", .pm =3D DEV_PM_OPS, --=20 2.39.2 From nobody Fri Sep 20 19:23:30 2024 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 709DAC7EE23 for ; Tue, 30 May 2023 07:19:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229627AbjE3HTm (ORCPT ); Tue, 30 May 2023 03:19:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230048AbjE3HT2 (ORCPT ); Tue, 30 May 2023 03:19:28 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C81E2A0 for ; Tue, 30 May 2023 00:19:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tdZ-0006US-9t; Tue, 30 May 2023 09:19:21 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orM-Cf; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OQt-Co; Tue, 30 May 2023 09:19:19 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 4/6] usb: xhci-plat: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:11 +0200 Message-Id: <20230530071913.2192214-5-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=3314; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=YYc694febUOSmPcBF9ut/bBjNN5AUTaNWOSw51GRHbk=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNslW7H6OYyDOVIF/bbx8UO3wm9DXLAhk0jo LoMaMJnOMuJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjbAAKCRCPgPtYfRL+ Tty/CACEUxJnhSekiONvj04ozkJ91q9iWgXaaJUNw7lmJ7Jl/fYx9lYG2784dj3ibhp8iUffqBa HOkIKxvSA2hZ6JHfmC3ITeoq7gLHKisGzyBXObj5kW6kjokSzmDrm2cT/GdOHQi/pz0ULQaK9KH MA4SHM3phvtlIouMtiLTfhS64TjVFB3cY0tHbtiISUQAxRaGg7SoyVzmD4j5LacT4eZMCJCk2QC 0O1UZMVMMd5m3kM94L/MqCQlpuAKK33aN+Wptu8VhTcGREJeDJC/p9d6Lx537afVMsO7ybJNkJk Qt9b30USgwAPGXbgFFQdcAEIx6i1mYA9fwhGIydv7+G8AsEp 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.ext.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() is renamed to .remove(). To convert the xhci-plat driver, change the prototype of xhci_plat_remove() to return void. As this function is exported and used by the xhci-rcar driver, convert this driver at the same time accordingly. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/usb/host/xhci-plat.c | 6 ++---- drivers/usb/host/xhci-plat.h | 2 +- drivers/usb/host/xhci-rcar.c | 6 +++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index a666b21c21bb..a52d73c2cd80 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -395,7 +395,7 @@ static int xhci_generic_plat_probe(struct platform_devi= ce *pdev) return xhci_plat_probe(pdev, sysdev, priv_match); } =20 -int xhci_plat_remove(struct platform_device *dev) +void xhci_plat_remove(struct platform_device *dev) { struct usb_hcd *hcd =3D platform_get_drvdata(dev); struct xhci_hcd *xhci =3D hcd_to_xhci(hcd); @@ -426,8 +426,6 @@ int xhci_plat_remove(struct platform_device *dev) pm_runtime_disable(&dev->dev); pm_runtime_put_noidle(&dev->dev); pm_runtime_set_suspended(&dev->dev); - - return 0; } EXPORT_SYMBOL_GPL(xhci_plat_remove); =20 @@ -526,7 +524,7 @@ MODULE_DEVICE_TABLE(acpi, usb_xhci_acpi_match); =20 static struct platform_driver usb_generic_xhci_driver =3D { .probe =3D xhci_generic_plat_probe, - .remove =3D xhci_plat_remove, + .remove_new =3D xhci_plat_remove, .shutdown =3D usb_hcd_platform_shutdown, .driver =3D { .name =3D "xhci-hcd", diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h index 83b5b5aa9f8e..2d15386f2c50 100644 --- a/drivers/usb/host/xhci-plat.h +++ b/drivers/usb/host/xhci-plat.h @@ -25,7 +25,7 @@ struct xhci_plat_priv { int xhci_plat_probe(struct platform_device *pdev, struct device *sysdev, const struct xhci_plat_priv *priv_match); =20 -int xhci_plat_remove(struct platform_device *dev); +void xhci_plat_remove(struct platform_device *dev); extern const struct dev_pm_ops xhci_plat_pm_ops; =20 #endif /* _XHCI_PLAT_H */ diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c index ad966b797b89..bf5261fed32c 100644 --- a/drivers/usb/host/xhci-rcar.c +++ b/drivers/usb/host/xhci-rcar.c @@ -276,10 +276,10 @@ static int xhci_renesas_probe(struct platform_device = *pdev) } =20 static struct platform_driver usb_xhci_renesas_driver =3D { - .probe =3D xhci_renesas_probe, - .remove =3D xhci_plat_remove, + .probe =3D xhci_renesas_probe, + .remove_new =3D xhci_plat_remove, .shutdown =3D usb_hcd_platform_shutdown, - .driver =3D { + .driver =3D { .name =3D "xhci-renesas-hcd", .pm =3D &xhci_plat_pm_ops, .of_match_table =3D usb_xhci_of_match, --=20 2.39.2 From nobody Fri Sep 20 19:23:30 2024 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 ECD9DC7EE23 for ; Tue, 30 May 2023 07:19:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230471AbjE3HTx (ORCPT ); Tue, 30 May 2023 03:19:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230343AbjE3HTh (ORCPT ); Tue, 30 May 2023 03:19:37 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67798FA for ; Tue, 30 May 2023 00:19:30 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tda-0006UT-7R; Tue, 30 May 2023 09:19:22 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orP-Dp; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OQx-LX; Tue, 30 May 2023 09:19:19 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , Thierry Reding , Jonathan Hunter , linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 5/6] usb: xhci-tegra: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:12 +0200 Message-Id: <20230530071913.2192214-6-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1988; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=D03RaPledHkbDmX3jxjjjIz2QcRcNBKlRdfPy+QWwm4=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNtHEwbsEmoBDCMj25ZlRvDNhIjatU2qBWai wGtSKOpjQ2JATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjbQAKCRCPgPtYfRL+ ToxgCACfJvxTpMm3VLewY6OdSuWp1MRkbZo/35viwLR3ueU/OLqFsZg+kPpusf67m5Uyu9aKaLr gUELWDbxsIUuKI0dRGoN0Y8Cv5m7dU+EtcwXYiOev8/7NGreQlS8XjcZtAezL8wVVG1UDQdftiT KccCp1tjU4DEB5JKSirTqfudX8yKCDL/+dJOJlrWe+joyXan4IQ7S4sp4X1zkiINVpffu3adu0d 40Hhj5AJitqcTjVkJ81Hl+B6eti6iv9MxmymDbKGbqbIsIbjJ4EHNpy4t2kS2bkBWsX2AJdPCxu AUAEGYvRwXAU75ghpFhkFnMrNJJXyX7Wa5MnxpnZB/4UkycR 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.ext.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() is 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/usb/host/xhci-tegra.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c index 393e2c8064bd..f124483044a2 100644 --- a/drivers/usb/host/xhci-tegra.c +++ b/drivers/usb/host/xhci-tegra.c @@ -1912,7 +1912,7 @@ static int tegra_xusb_probe(struct platform_device *p= dev) return err; } =20 -static int tegra_xusb_remove(struct platform_device *pdev) +static void tegra_xusb_remove(struct platform_device *pdev) { struct tegra_xusb *tegra =3D platform_get_drvdata(pdev); struct xhci_hcd *xhci =3D hcd_to_xhci(tegra->hcd); @@ -1942,8 +1942,6 @@ static int tegra_xusb_remove(struct platform_device *= pdev) tegra_xusb_clk_disable(tegra); regulator_bulk_disable(tegra->soc->num_supplies, tegra->supplies); tegra_xusb_padctl_put(tegra->padctl); - - return 0; } =20 static bool xhci_hub_ports_suspended(struct xhci_hub *hub) @@ -2653,7 +2651,7 @@ MODULE_DEVICE_TABLE(of, tegra_xusb_of_match); =20 static struct platform_driver tegra_xusb_driver =3D { .probe =3D tegra_xusb_probe, - .remove =3D tegra_xusb_remove, + .remove_new =3D tegra_xusb_remove, .driver =3D { .name =3D "tegra-xusb", .pm =3D &tegra_xusb_pm_ops, --=20 2.39.2 From nobody Fri Sep 20 19:23:30 2024 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 4E718C7EE23 for ; Tue, 30 May 2023 07:21:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230505AbjE3HVG (ORCPT ); Tue, 30 May 2023 03:21:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51770 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231130AbjE3HUr (ORCPT ); Tue, 30 May 2023 03:20:47 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 88647130 for ; Tue, 30 May 2023 00:20:11 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tda-0006UU-IX; Tue, 30 May 2023 09:19:22 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orU-JK; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OR1-SR; Tue, 30 May 2023 09:19:19 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Bryan O'Donoghue , Guenter Roeck , Andy Gross , Bjorn Andersson , Konrad Dybcio , Heikki Krogerus , linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 6/6] usb: typec: qcom-pmic-typec: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:13 +0200 Message-Id: <20230530071913.2192214-7-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2217; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=jpdI0wKAzCKfSIdoytHtaArQhcpWcjWM7rMVkKxkEf8=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNuHZQHNrrYNxx7x6G8L2H4hx+Uadud3Tupk DLu1oU6p9qJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjbgAKCRCPgPtYfRL+ Thh/CACxNzUceNfCaLmXLS91AoiU3oYlDx3kbimDWN849Bb81GFi0f0IPnZ0SZkflTYVYaZ8YOc PWheY7wGuat7niquEnZCtVziQm33cZ10UXgsxJgWfuVaRHsIxxVRdkmhEGG4Vmxs75xKOEwjy45 q2hzDx7jI9zIkkgZvMB8V6LzrovT728DXSgkQ4bXE9uLGxBUAdmPpd9I0J3+jOlhTSPFBys7vCB QDBhWG3gBZAxuRTGibWSsxqIG7GmsOomuR9stCwzUemKEQF1gaq7B0IXNHy9d1T2qAisdA5i0Qm +FCEz7vErMTeomPi/kvHx4pPG/8RRh/BzBGxlZQZrOBwWJjh 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.ext.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() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Reviewed-by: Konrad Dybcio Acked-by: Bryan O'Donoghue Acked-by: Heikki Krogerus Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/ty= pec/tcpm/qcom/qcom_pmic_typec.c index 191458ce4a06..f9e63ef35dca 100644 --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c @@ -236,7 +236,7 @@ static int qcom_pmic_typec_probe(struct platform_device= *pdev) return ret; } =20 -static int qcom_pmic_typec_remove(struct platform_device *pdev) +static void qcom_pmic_typec_remove(struct platform_device *pdev) { struct pmic_typec *tcpm =3D platform_get_drvdata(pdev); =20 @@ -244,8 +244,6 @@ static int qcom_pmic_typec_remove(struct platform_devic= e *pdev) qcom_pmic_typec_port_stop(tcpm->pmic_typec_port); tcpm_unregister_port(tcpm->tcpm_port); fwnode_remove_software_node(tcpm->tcpc.fwnode); - - return 0; } =20 static struct pmic_typec_pdphy_resources pm8150b_pdphy_res =3D { @@ -337,7 +335,7 @@ static struct platform_driver qcom_pmic_typec_driver = =3D { .of_match_table =3D qcom_pmic_typec_table, }, .probe =3D qcom_pmic_typec_probe, - .remove =3D qcom_pmic_typec_remove, + .remove_new =3D qcom_pmic_typec_remove, }; =20 module_platform_driver(qcom_pmic_typec_driver); --=20 2.39.2