From patchwork Thu May 4 19:44:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 679095 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 B649DC7EE21 for ; Thu, 4 May 2023 20:59:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229577AbjEDU72 (ORCPT ); Thu, 4 May 2023 16:59:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55180 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229446AbjEDU71 (ORCPT ); Thu, 4 May 2023 16:59: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 E2CED11DA9 for ; Thu, 4 May 2023 13:59:01 -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 1puet5-0007iK-2C; Thu, 04 May 2023 21:45:11 +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 1puet4-0018Fo-4d; Thu, 04 May 2023 21:45:10 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1puet3-001Jhl-Ek; Thu, 04 May 2023 21:45:09 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Andy Gross , Bjorn Andersson , Mathieu Poirier Cc: Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 09/18] remoteproc: qcom_q6v5_adsp: Convert to platform remove callback returning void Date: Thu, 4 May 2023 21:44:44 +0200 Message-Id: <20230504194453.1150368-10-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> References: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1826; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=w8BbNrcMDsjlvFmJSr9/zSEP0O1sgYg5hpVIF7KDL3U=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkVAnG/9e4AuC9ICOeVXodI0aovYz8pzaAl4W/D v3FIAMINT+JATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZFQJxgAKCRCPgPtYfRL+ Tv5bB/9hNyyor75dsA/tVf0Rlv/eFnL7eyBzSpOAXY/5wN5FvfptFNrr+4A/uWSjC21lqf6r+cW UrI5wvez5ea4/c/oz6lY0upXQGqvUvS2gv0fPb/vgMtVyDjlZn37aSt70jVTDU80Z/dANY4n7Ng d0YCuo9lFhqaCr3RhFdYiNIt5YPIPKdFcqJzRLan48Mn8bgw17owaK1redZFHsLvhODXklWsOO+ hgHKQRjOWxg/vwDryaxYahY9xLjbCLuTTNKtInGCSd6+rlYqcLvaup3X2CE0G8W7TszhRjNdPus 60VbaZsJb+zQ1UNtd7YFirR/qU5N7uTjOtqPA5X2eJFsPCcj X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 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-arm-msm@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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 (mostly) ignored 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. Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König Reviewed-by: Caleb Connolly --- drivers/remoteproc/qcom_q6v5_adsp.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c index d546ab9dc141..6777a3bd6226 100644 --- a/drivers/remoteproc/qcom_q6v5_adsp.c +++ b/drivers/remoteproc/qcom_q6v5_adsp.c @@ -763,7 +763,7 @@ static int adsp_probe(struct platform_device *pdev) return ret; } -static int adsp_remove(struct platform_device *pdev) +static void adsp_remove(struct platform_device *pdev) { struct qcom_adsp *adsp = platform_get_drvdata(pdev); @@ -775,8 +775,6 @@ static int adsp_remove(struct platform_device *pdev) qcom_remove_ssr_subdev(adsp->rproc, &adsp->ssr_subdev); qcom_rproc_pds_detach(adsp, adsp->proxy_pds, adsp->proxy_pd_count); rproc_free(adsp->rproc); - - return 0; } static const struct adsp_pil_data adsp_resource_init = { @@ -859,7 +857,7 @@ MODULE_DEVICE_TABLE(of, adsp_of_match); static struct platform_driver adsp_pil_driver = { .probe = adsp_probe, - .remove = adsp_remove, + .remove_new = adsp_remove, .driver = { .name = "qcom_q6v5_adsp", .of_match_table = adsp_of_match, From patchwork Thu May 4 19:44:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 679636 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 78A87C7EE30 for ; Thu, 4 May 2023 19:50:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231283AbjEDTub (ORCPT ); Thu, 4 May 2023 15:50:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60048 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231392AbjEDTtw (ORCPT ); Thu, 4 May 2023 15:49:52 -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 607E3AD1A for ; Thu, 4 May 2023 12:46:08 -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 1puet5-0007ja-Jn; Thu, 04 May 2023 21:45:11 +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 1puet4-0018Fu-KZ; Thu, 04 May 2023 21:45:10 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1puet3-001Jhp-PF; Thu, 04 May 2023 21:45:09 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Andy Gross , Bjorn Andersson , Mathieu Poirier Cc: Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 10/18] remoteproc: qcom_q6v5_mss: Convert to platform remove callback returning void Date: Thu, 4 May 2023 21:44:45 +0200 Message-Id: <20230504194453.1150368-11-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> References: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1785; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=EYnLrzOM2rM4Jue/3vyy45KaW8+/jp3OdNzA5zZlpE8=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkVAnI3xxaSoIaxtSvV4e3LTgLaHDJN0PPL9pG+ N8tgLqO0pyJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZFQJyAAKCRCPgPtYfRL+ TsPUB/0VcyvP3Isi32TDoXohP1VzYo8DMFJifba0igswSRlsckAczkuiRQF1vTQr1DdFWe7Txm8 dxrDcpEDZmjVTMA9566tkoYUDRYA+7EC7t0fCOwIrth1jB0R1p0PKTy91VNuOd2Ue/wxfWnHOEQ cqa1kZfnOb0rXW6KoWV9JZ/a2EusIbuGumG7JI/0RsJgKXbf66+q6ncbSYQ8r//JtReOg+nlTN+ mD5jwVhp2gR6+ZOkdQqYlnkzq6f11mXeCZAMURW9vyDmAXjWHd1lMx3ConnspfUMrhPGPEJDTGx ycg+naWEWd8QVVQ4gbkw/7g618/dYKCzzj3Yb30xdR+5oYMh X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 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-arm-msm@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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 (mostly) ignored 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. Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/qcom_q6v5_mss.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index 8e15e4f85de1..70bffc9f33f6 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -2110,7 +2110,7 @@ static int q6v5_probe(struct platform_device *pdev) return ret; } -static int q6v5_remove(struct platform_device *pdev) +static void q6v5_remove(struct platform_device *pdev) { struct q6v5 *qproc = platform_get_drvdata(pdev); struct rproc *rproc = qproc->rproc; @@ -2128,8 +2128,6 @@ static int q6v5_remove(struct platform_device *pdev) q6v5_pds_detach(qproc, qproc->proxy_pds, qproc->proxy_pd_count); rproc_free(rproc); - - return 0; } static const struct rproc_hexagon_res sc7180_mss = { @@ -2482,7 +2480,7 @@ MODULE_DEVICE_TABLE(of, q6v5_of_match); static struct platform_driver q6v5_driver = { .probe = q6v5_probe, - .remove = q6v5_remove, + .remove_new = q6v5_remove, .driver = { .name = "qcom-q6v5-mss", .of_match_table = q6v5_of_match, From patchwork Thu May 4 19:44:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 679634 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 A6FE2C77B73 for ; Thu, 4 May 2023 21:01:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229819AbjEDVBc (ORCPT ); Thu, 4 May 2023 17:01:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56508 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230307AbjEDVBN (ORCPT ); Thu, 4 May 2023 17:01:13 -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 373D514917 for ; Thu, 4 May 2023 14:00:55 -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 1puet5-0007jb-O4; Thu, 04 May 2023 21:45:11 +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 1puet4-0018Fw-Lz; Thu, 04 May 2023 21:45:10 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1puet4-001Jhs-0I; Thu, 04 May 2023 21:45:10 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Andy Gross , Bjorn Andersson , Mathieu Poirier Cc: Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 11/18] remoteproc: qcom_q6v5_pas: Convert to platform remove callback returning void Date: Thu, 4 May 2023 21:44:46 +0200 Message-Id: <20230504194453.1150368-12-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> References: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1790; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=Rx7MisoIWczS7vTkwc+JN9okHCh91LoVa9cU1pwtpOs=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkVAnJmpgKoh4e5GF3VxYZh8fWoNbsYsF3TRpTv cw1nfT6sSuJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZFQJyQAKCRCPgPtYfRL+ TrSAB/0f+poUouZ4ZlmHaBFwpeFSd/hc/FCgcdBA8YpDrtCiDWCgT8fJuzZfaBMYAv6afMk+cb8 OokuUMD3hu6oN/LPYsm2KgcsL5YNtjs31BwIaFFiFbo3xU0ADcmxC2Mg7mqCOy+KefP1uFpk3qM dEB7fdaXsIfrLjQEdTnpPsrzeAhH4fjIzP5aGIn1HkUne8qsQeNmpgLDlqmMf0e+pfymFr/vNIu shLIvmhhacvdvk7IEGowvt/ookG3G06k+yFZD/Mw7mH6WIFUL5ojTTkrTyTPDX6ZqTP6R/YBqEr fRUgNnewtG6v37Bk6SZtyqxaLbTrBCUOCOR651fOHLOY8AKE X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 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-arm-msm@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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 (mostly) ignored 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. Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/qcom_q6v5_pas.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index e34d82b18a67..ca0155f41dac 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -754,7 +754,7 @@ static int adsp_probe(struct platform_device *pdev) return ret; } -static int adsp_remove(struct platform_device *pdev) +static void adsp_remove(struct platform_device *pdev) { struct qcom_adsp *adsp = platform_get_drvdata(pdev); @@ -769,8 +769,6 @@ static int adsp_remove(struct platform_device *pdev) adsp_pds_detach(adsp, adsp->proxy_pds, adsp->proxy_pd_count); device_init_wakeup(adsp->dev, false); rproc_free(adsp->rproc); - - return 0; } static const struct adsp_data adsp_resource_init = { @@ -1232,7 +1230,7 @@ MODULE_DEVICE_TABLE(of, adsp_of_match); static struct platform_driver adsp_driver = { .probe = adsp_probe, - .remove = adsp_remove, + .remove_new = adsp_remove, .driver = { .name = "qcom_q6v5_pas", .of_match_table = adsp_of_match, From patchwork Thu May 4 19:44:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 679633 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 D8EB3C7EE21 for ; Thu, 4 May 2023 21:03:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229482AbjEDVDz (ORCPT ); Thu, 4 May 2023 17:03:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230059AbjEDVDd (ORCPT ); Thu, 4 May 2023 17:03:33 -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 C3CCA120BF for ; Thu, 4 May 2023 14:03:04 -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 1puet5-0007ju-QQ; Thu, 04 May 2023 21:45:11 +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 1puet4-0018G1-Ta; Thu, 04 May 2023 21:45:10 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1puet4-001Jhx-8p; Thu, 04 May 2023 21:45:10 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Andy Gross , Bjorn Andersson , Mathieu Poirier Cc: Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 12/18] remoteproc: qcom_q6v5_wcss: Convert to platform remove callback returning void Date: Thu, 4 May 2023 21:44:47 +0200 Message-Id: <20230504194453.1150368-13-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> References: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1835; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=hEYOLla0s10ljNMOkN+X1sTxpgifBXFer6YgKTNfGws=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkVAnKlnGL4MZgBwGnntyjvdSP2hUu+n+fNJe2s EAWRsPSgGCJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZFQJygAKCRCPgPtYfRL+ TqufB/9GUwk/g09ooQe/jDzDQJPbJwctnWtt1laYnXkW4jhRPl3mmyIxWnFUfSM4Ta0PKAfFpxH G1hppe8O1jO2gRCjJep1Fzy0xA6irdpvZgkzEReHOLy1JRO1+9nxX6C0p0jUqichDCMOy8u5Ftd yIY6eWBH0KjHEMFjvwL20s0+q9qOpq3Vv7wDEvlwWzVCrasIf7+Ople8fHfZACkmM1NMvRYG/ow jGIDX8xEsgVntVnx5Xj9TvUY5zjecUoKMG21SS5ZGqIKZKYHUR8LNVCEA81JNcgKFqZTp8DmmBZ nqXhoU732Zjn9DryQkuCR0td+X1lVzM9xvvja1LDQlwC/YbH X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 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-arm-msm@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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 (mostly) ignored 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. Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König --- drivers/remoteproc/qcom_q6v5_wcss.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c index ba24d745b2d6..b437044aa126 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -1074,7 +1074,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev) return ret; } -static int q6v5_wcss_remove(struct platform_device *pdev) +static void q6v5_wcss_remove(struct platform_device *pdev) { struct rproc *rproc = platform_get_drvdata(pdev); struct q6v5_wcss *wcss = rproc->priv; @@ -1082,8 +1082,6 @@ static int q6v5_wcss_remove(struct platform_device *pdev) qcom_q6v5_deinit(&wcss->q6v5); rproc_del(rproc); rproc_free(rproc); - - return 0; } static const struct wcss_data wcss_ipq8074_res_init = { @@ -1117,7 +1115,7 @@ MODULE_DEVICE_TABLE(of, q6v5_wcss_of_match); static struct platform_driver q6v5_wcss_driver = { .probe = q6v5_wcss_probe, - .remove = q6v5_wcss_remove, + .remove_new = q6v5_wcss_remove, .driver = { .name = "qcom-q6v5-wcss-pil", .of_match_table = q6v5_wcss_of_match, From patchwork Thu May 4 19:44:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 679093 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 F3363C7EE21 for ; Thu, 4 May 2023 21:05:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229670AbjEDVE7 (ORCPT ); Thu, 4 May 2023 17:04:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230253AbjEDVEk (ORCPT ); Thu, 4 May 2023 17:04:40 -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 352F97EF9 for ; Thu, 4 May 2023 14:04: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 1puet6-0007mp-C4; Thu, 04 May 2023 21:45:12 +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 1puet5-0018G9-NO; Thu, 04 May 2023 21:45:11 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1puet4-001Ji0-Kz; Thu, 04 May 2023 21:45:10 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Andy Gross , Bjorn Andersson , Mathieu Poirier Cc: Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 13/18] remoteproc: qcom_wcnss: Convert to platform remove callback returning void Date: Thu, 4 May 2023 21:44:48 +0200 Message-Id: <20230504194453.1150368-14-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> References: <20230504194453.1150368-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1772; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=wPCGQ3JvapnfUS9R6SCqKUY+mu+gIbMPpiPT6sWua18=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkVAnL24Hw6S4/I1v3fN5apzb8C+43L/r3A1bNW +08kV4Cj1qJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZFQJywAKCRCPgPtYfRL+ TrUgB/46lfgC70m6DYG/9veyjxPxlNSXPXGC5ddSpS/35Ma/LlLV1jZtLlACs5c+4Cuh/T48fUj rtqib8B4sTUthru1Ntan0gZGytvq3r+zbMjLOEMZSDVWSiTKbasdJEXfNIRQ2q5R5vUNQmiI7bJ zpDNszZsjm2/Jwu7ngYP49dMI0E/8hKNGChxsWR3AvSGSRU446t7ep8Ox5TXXs5xt9AFMyOVy4J uqPxHeB+ftKsNvjhj/gIDfaRfL1GkegzFnAdhF538hQiUCIyrBtB7CtP5fUhBwaD62q7sTwRVWh BmxoQihmLxIK0OEexyq5ctc7zTPycfxksn/X1jcgfX+YG/oT X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 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-arm-msm@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@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 (mostly) ignored 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. Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König Reviewed-by: Caleb Connolly --- drivers/remoteproc/qcom_wcnss.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c index 0fc317265064..1ed0647bc962 100644 --- a/drivers/remoteproc/qcom_wcnss.c +++ b/drivers/remoteproc/qcom_wcnss.c @@ -666,7 +666,7 @@ static int wcnss_probe(struct platform_device *pdev) return ret; } -static int wcnss_remove(struct platform_device *pdev) +static void wcnss_remove(struct platform_device *pdev) { struct qcom_wcnss *wcnss = platform_get_drvdata(pdev); @@ -678,8 +678,6 @@ static int wcnss_remove(struct platform_device *pdev) qcom_remove_smd_subdev(wcnss->rproc, &wcnss->smd_subdev); wcnss_release_pds(wcnss); rproc_free(wcnss->rproc); - - return 0; } static const struct of_device_id wcnss_of_match[] = { @@ -693,7 +691,7 @@ MODULE_DEVICE_TABLE(of, wcnss_of_match); static struct platform_driver wcnss_driver = { .probe = wcnss_probe, - .remove = wcnss_remove, + .remove_new = wcnss_remove, .driver = { .name = "qcom-wcnss-pil", .of_match_table = wcnss_of_match,