From patchwork Sat Mar 18 23:33:07 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: 13180482 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2CCDFC6FD1F for ; Sun, 19 Mar 2023 17:07:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ETXRVkNoL/PEZOG4bIsF2xmk5613L9K1H/h6Qq9vCgE=; b=4QnmOWMTEU/hLG NT7Mh3pzMt0M0gR1VLnzxo7Eodw5nnh/SCjpHz9saXSUEzezRgbY7dg3kP9iMO9xT87eBBjyBZi7V NQv218wCaRW8D1c/eF9zNex3QJkZA2oTbvTOW7QjDlcIwzeknoUJdZSZoUOikKyTcarA8/A+uG/AN g9fL4WMAKyyE7FntBbDe1dkESe4mFzSNRVUA4tEjBi6sYc2sw17KrNBMfCL3AN7aVyJxnfVUBnypM JJKNhPabL9V7z4ExM3hLpDsrB+QYpJl1wI1LjQTndPpnDEpOHE1VoVqgsXUGxehOQxN9+5l0C9ppJ q01ikovFoPepjYeniWCA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pdwVe-0074PX-2g; Sun, 19 Mar 2023 17:07:54 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pdg3D-005ZV4-2Z for linux-i3c@lists.infradead.org; Sat, 18 Mar 2023 23:33:29 +0000 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 1pdg3A-00026D-3d; Sun, 19 Mar 2023 00:33:24 +0100 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 1pdg38-0056Uy-BS; Sun, 19 Mar 2023 00:33:22 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pdg37-005zQq-JV; Sun, 19 Mar 2023 00:33:21 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Alexandre Belloni , =?utf-8?q?Przemys?= =?utf-8?q?=C5=82aw_Gaj?= , Miquel Raynal , Conor Culhane Cc: linux-i3c@lists.infradead.org, kernel@pengutronix.de Subject: [PATCH 1/5] i3c: Make i3c_master_unregister() return void Date: Sun, 19 Mar 2023 00:33:07 +0100 Message-Id: <20230318233311.265186-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> References: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=4365; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=L0YPQG1s3UCFY9B2X8LirGqav/q2tkZht5t/68x8vT0=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkFkotw+/CawB42NIRvubXFWwkQTub9EvueiwGC GhkdDrwgU2JATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZBZKLQAKCRCPgPtYfRL+ TrU1B/9kBrquqyKbehPSP4OcUTjtsbx+9YnwYPyuXxZRykf2xoSzgluApamrBykhNZAlCMG2V5j 8slNo9u+Q1fCPRuzlrTXxvJ0Ojhmr7srVvmuCGq8VIlenLp6CqfsrEudicZuynM+sSB1/M2FJnx hsjtgTRQBzycmskVbnfond37A2X2dS3IaAdAzM2iqXKybJESW7zr/H4kNLuqmI2fsbXB8UXfREL ohWFNHwKXIO7jw2Iye0T8USUOBuKQo8gfvSvIM6n2Ha3M6YJfNmxM65uSCXFIXa+SKPLIx50vlr k5GDRZVtEX0Sw3TmjUVKuS0w0DuNc6HzFAvnd++pmdYPdas2 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-i3c@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230318_163327_831660_750B0E3C X-CRM114-Status: GOOD ( 13.65 ) X-Mailman-Approved-At: Sun, 19 Mar 2023 10:07:52 -0700 X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org The function returned zero unconditionally. Switch the return type to void and simplify the callers accordingly. Signed-off-by: Uwe Kleine-König Reviewed-by: Miquel Raynal --- drivers/i3c/master.c | 6 +----- drivers/i3c/master/dw-i3c-master.c | 5 +---- drivers/i3c/master/i3c-master-cdns.c | 5 +---- drivers/i3c/master/mipi-i3c-hci/core.c | 4 +++- drivers/i3c/master/svc-i3c-master.c | 5 +---- include/linux/i3c/master.h | 2 +- 6 files changed, 8 insertions(+), 19 deletions(-) diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 54e4c34b4a22..04d6d54d2ab8 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -2695,17 +2695,13 @@ EXPORT_SYMBOL_GPL(i3c_master_register); * @master: master used to send frames on the bus * * Basically undo everything done in i3c_master_register(). - * - * Return: 0 in case of success, a negative error code otherwise. */ -int i3c_master_unregister(struct i3c_master_controller *master) +void i3c_master_unregister(struct i3c_master_controller *master) { i3c_master_i2c_adapter_cleanup(master); i3c_master_unregister_i3c_devs(master); i3c_master_bus_cleanup(master); device_unregister(&master->dev); - - return 0; } EXPORT_SYMBOL_GPL(i3c_master_unregister); diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c index 48954d3e6571..7135daada3e3 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -1185,11 +1185,8 @@ static int dw_i3c_probe(struct platform_device *pdev) static int dw_i3c_remove(struct platform_device *pdev) { struct dw_i3c_master *master = platform_get_drvdata(pdev); - int ret; - ret = i3c_master_unregister(&master->base); - if (ret) - return ret; + i3c_master_unregister(&master->base); reset_control_assert(master->core_rst); diff --git a/drivers/i3c/master/i3c-master-cdns.c b/drivers/i3c/master/i3c-master-cdns.c index 5b37ffe5ad5b..454925c5e097 100644 --- a/drivers/i3c/master/i3c-master-cdns.c +++ b/drivers/i3c/master/i3c-master-cdns.c @@ -1665,11 +1665,8 @@ static int cdns_i3c_master_probe(struct platform_device *pdev) static int cdns_i3c_master_remove(struct platform_device *pdev) { struct cdns_i3c_master *master = platform_get_drvdata(pdev); - int ret; - ret = i3c_master_unregister(&master->base); - if (ret) - return ret; + i3c_master_unregister(&master->base); clk_disable_unprepare(master->sysclk); clk_disable_unprepare(master->pclk); diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c index 6aef5ce43cc1..f9bc58366a72 100644 --- a/drivers/i3c/master/mipi-i3c-hci/core.c +++ b/drivers/i3c/master/mipi-i3c-hci/core.c @@ -769,7 +769,9 @@ static int i3c_hci_remove(struct platform_device *pdev) { struct i3c_hci *hci = platform_get_drvdata(pdev); - return i3c_master_unregister(&hci->master); + i3c_master_unregister(&hci->master); + + return 0; } static const __maybe_unused struct of_device_id i3c_hci_of_match[] = { diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index d6e9ed74cdcf..e5476d04b403 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -1572,11 +1572,8 @@ static int svc_i3c_master_probe(struct platform_device *pdev) static int svc_i3c_master_remove(struct platform_device *pdev) { struct svc_i3c_master *master = platform_get_drvdata(pdev); - int ret; - ret = i3c_master_unregister(&master->base); - if (ret) - return ret; + i3c_master_unregister(&master->base); pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); diff --git a/include/linux/i3c/master.h b/include/linux/i3c/master.h index 604a126b78c8..4b7bb43bf430 100644 --- a/include/linux/i3c/master.h +++ b/include/linux/i3c/master.h @@ -541,7 +541,7 @@ int i3c_master_register(struct i3c_master_controller *master, struct device *parent, const struct i3c_master_controller_ops *ops, bool secondary); -int i3c_master_unregister(struct i3c_master_controller *master); +void i3c_master_unregister(struct i3c_master_controller *master); /** * i3c_dev_get_master_data() - get master private data attached to an I3C From patchwork Sat Mar 18 23:33:08 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: 13180479 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 68136C7618A for ; Sun, 19 Mar 2023 17:07:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=lhCvOnjccRfE0NROUmxhUIDoh0wkQbMS10WQsf9h8Co=; b=h1QHzeLM1RH3Tu dFDUIk2xh3VVOPHg5wpFupYjE9X+K7Ru557Jn/Ks1Ib+iZUi5RrmQ1P/BzIwBRwusnL17O25/MUT9 0XMZtc9G5wnKWnnsSV8Js2TdMfJ1rGFmZIOMdpvWkmw+DfldivR9e4umEFZiHkHOyqOTCx/OKe1eJ kwnG7mUCKgLNxj/S8b1yEdvWLvuTn9gJbHeNVmeCXXFg3bceEr0MENhcSgzGEIxYqaIRjQpHMSFJn Z4+X+J52q2952e3WhcjvsRRgknI2vGt9LvzuG6zOQy2JQpDyqmrfya6A0fB05GVjwG3zUMumfheFJ vw3ptrSuFFGE6xrlelFQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pdwVd-0074P3-1W; Sun, 19 Mar 2023 17:07:53 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pdg3C-005ZUA-1t for linux-i3c@lists.infradead.org; Sat, 18 Mar 2023 23:33:27 +0000 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 1pdg39-00026F-P5; Sun, 19 Mar 2023 00:33:23 +0100 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 1pdg39-0056V7-0L; Sun, 19 Mar 2023 00:33:23 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pdg37-005zQt-Pq; Sun, 19 Mar 2023 00:33:21 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Alexandre Belloni Cc: linux-i3c@lists.infradead.org, kernel@pengutronix.de Subject: [PATCH 2/5] i3c: dw: Convert to platform remove callback returning void Date: Sun, 19 Mar 2023 00:33:08 +0100 Message-Id: <20230318233311.265186-3-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> References: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1813; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=htTuUT4c/2CCmv0QHZ6AOTyXnCc1zupZ0qWEhfKT3Ow=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkFkouXH20m1uYEZXD20y2TttfZFqDt8qp8SzlO l89RghdcPOJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZBZKLgAKCRCPgPtYfRL+ Tlo7CAC7bYv+krow+fzsxEQdRKIMng3ol0TOBGvseQ2UVcptAjOHRGchXKZZZFleLWXJMm+lS04 zTzarw4pl05iJfBwxKgRbk7vP68QbuSH4Jq1MdSCmLLL1298pk2JJ/XrZI9xJCur1CBg6t1QmwW lt8PITNNSoWo2a4t7CVYl2Iic3x+J2q+nseLFPtcY2sqojHM3pf3whB+ttM6iBB2cm40NQAGWFV TuU2n9p2vcIs5XnaKx9LgWSNmOHPS2ebhwfmMM8AWifujeoYYxsDDyvZp1yv8jICeGaw9mkkVoe YLXtFpUN8GNBm87GnRsJPOmUCNjmrSdOtoFBehd+Pl+VWRwi 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-i3c@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230318_163326_672771_2DE33E66 X-CRM114-Status: GOOD ( 15.66 ) X-Mailman-Approved-At: Sun, 19 Mar 2023 10:07:52 -0700 X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.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/i3c/master/dw-i3c-master.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c index 7135daada3e3..f5d3b7c04c88 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -1182,7 +1182,7 @@ static int dw_i3c_probe(struct platform_device *pdev) return ret; } -static int dw_i3c_remove(struct platform_device *pdev) +static void dw_i3c_remove(struct platform_device *pdev) { struct dw_i3c_master *master = platform_get_drvdata(pdev); @@ -1191,8 +1191,6 @@ static int dw_i3c_remove(struct platform_device *pdev) reset_control_assert(master->core_rst); clk_disable_unprepare(master->core_clk); - - return 0; } static const struct of_device_id dw_i3c_master_of_match[] = { @@ -1203,7 +1201,7 @@ MODULE_DEVICE_TABLE(of, dw_i3c_master_of_match); static struct platform_driver dw_i3c_driver = { .probe = dw_i3c_probe, - .remove = dw_i3c_remove, + .remove_new = dw_i3c_remove, .driver = { .name = "dw-i3c-master", .of_match_table = of_match_ptr(dw_i3c_master_of_match), From patchwork Sat Mar 18 23:33:09 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: 13180481 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E348AC76195 for ; Sun, 19 Mar 2023 17:07:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=yxpB+r8VhVA4t0OvVDNcRZ5XOZpfs/rLxcBVflSG7Og=; b=xSVHhy0TAwyxMZ wOwL/UytK+wkGXzY4IgeE2q21pHAW9vk14ZQsYhIVm26P4/GwrwEsRJ33fphW5zkeBWrl+0Vsa1w2 s17peqFbvVF9nwOF2Ol2k9MoNkRmVNhAL4jwL1ZtZe4ulKg0Xt8fzFqdtZWrhdDFq7YxRxM1xBgP/ ip/2Gg/zAE4Kz1ywXLX4wmrro3Jn7m7snAFs4yJpVDc85gCIVoQKc5Zi9mCZqllfDnc7m5dC0ZTXR WpCQ2bzSnj9ZMpCw3fDKkgAm4ONmnwsYHDkDko/VOAVga3kZuaajg2wGKuX2gI81kjk/vsIwPvSjO IVyrd2EI4+cm8CmLMotA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pdwVe-0074PO-1o; Sun, 19 Mar 2023 17:07:54 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pdg3C-005ZUF-1t for linux-i3c@lists.infradead.org; Sat, 18 Mar 2023 23:33:29 +0000 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 1pdg39-00026G-R0; Sun, 19 Mar 2023 00:33:23 +0100 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 1pdg39-0056V8-11; Sun, 19 Mar 2023 00:33:23 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pdg38-005zQw-2m; Sun, 19 Mar 2023 00:33:22 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: =?utf-8?q?Przemys=C5=82aw_Gaj?= , Alexandre Belloni Cc: linux-i3c@lists.infradead.org, kernel@pengutronix.de Subject: [PATCH 3/5] i3c: cdns: Convert to platform remove callback returning void Date: Sun, 19 Mar 2023 00:33:09 +0100 Message-Id: <20230318233311.265186-4-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> References: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1736; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=8roCA0Odkx2Qe+8O5bBbJPRTbaX7hFvW3o6ZvVO0byw=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkFkovGERkF8KP481dmK3ldmgOoNdksd3JAmxkL wfDgKrlfquJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZBZKLwAKCRCPgPtYfRL+ Tv5YB/9SAcNUuhPrU9qTlmCd1ikg8AwS4zMuqd04M3JU/a6tfOEq/yDdt7OrUhwh9rpiAQAsnxY pp701cY0fJI5ltjz4KX3U5+Dbwyzs8F75sVeR03ElYZsPyiNILb7vxdExlH+lxNQd3KxGH7KGm7 VLOgyeycDQKz4aoj/65am08aGmLbfnVKM3hIPzlwmvxdNsG/2TvVW85QFQzIOpshUzisZXT4wmN 3p7fu56R//o7N+/+Q8B9Sdo1KSc00LkN8nS3YwT9uGOTnPziXl8+CeGGnkr8qTj9dPh8fL82/wc lWSqFFFS7VA0uexE3FOWorcas81qvzBP+0MtAiYVUHl175wR 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-i3c@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230318_163326_672914_4B2B9A57 X-CRM114-Status: GOOD ( 15.28 ) X-Mailman-Approved-At: Sun, 19 Mar 2023 10:07:52 -0700 X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.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/i3c/master/i3c-master-cdns.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/i3c/master/i3c-master-cdns.c b/drivers/i3c/master/i3c-master-cdns.c index 454925c5e097..01610fa5b0cc 100644 --- a/drivers/i3c/master/i3c-master-cdns.c +++ b/drivers/i3c/master/i3c-master-cdns.c @@ -1662,7 +1662,7 @@ static int cdns_i3c_master_probe(struct platform_device *pdev) return ret; } -static int cdns_i3c_master_remove(struct platform_device *pdev) +static void cdns_i3c_master_remove(struct platform_device *pdev) { struct cdns_i3c_master *master = platform_get_drvdata(pdev); @@ -1670,13 +1670,11 @@ static int cdns_i3c_master_remove(struct platform_device *pdev) clk_disable_unprepare(master->sysclk); clk_disable_unprepare(master->pclk); - - return 0; } static struct platform_driver cdns_i3c_master = { .probe = cdns_i3c_master_probe, - .remove = cdns_i3c_master_remove, + .remove_new = cdns_i3c_master_remove, .driver = { .name = "cdns-i3c-master", .of_match_table = cdns_i3c_master_of_ids, From patchwork Sat Mar 18 23:33:10 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: 13180480 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 92D4DC7618E for ; Sun, 19 Mar 2023 17:07:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=lDPySDHInyvX7uc/saWi/oKc+53BgnecNRNUQyaFLiw=; b=jfIA5KICUtwZeR vEoRyvLom0UpjSx+y/umcYDOgYKcOA/Utq52rWg0CjA0EQdxtmT2T71sjOcAs71JLrLpcv7aV+wg7 cwuLpFz/4Pu8oarPRCpr3bnJiq+yIkxBoxInVShC3VR8nQfNxJ0YwSLf3z9dllvIwmu0cq5ZbDXrR OyGMh5lt10H8Mx6zWQtuy4SA6O7g+7M+IdXDURz2bao8qWLGEX0kGZ3PYDp4fevfoFU9fxxogxbbf Ed9zhCAdPxRHgSQASzt1MwwZVAyaecqpIHmrFYG/lU/+tFRnw8h7RoYL36Oc0pIhZ2x5dUoXDtePM YdVq5Da5rSdiF/SosCcg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pdwVd-0074P8-35; Sun, 19 Mar 2023 17:07:53 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pdg3C-005ZUB-1t for linux-i3c@lists.infradead.org; Sat, 18 Mar 2023 23:33:27 +0000 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 1pdg39-00026E-P6; Sun, 19 Mar 2023 00:33:23 +0100 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 1pdg38-0056V4-Tz; Sun, 19 Mar 2023 00:33:22 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pdg38-005zR0-9b; Sun, 19 Mar 2023 00:33:22 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Alexandre Belloni Cc: linux-i3c@lists.infradead.org, kernel@pengutronix.de Subject: [PATCH 4/5] i3c: mipi-i3c-hci: Convert to platform remove callback returning void Date: Sun, 19 Mar 2023 00:33:10 +0100 Message-Id: <20230318233311.265186-5-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> References: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1695; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=nsieFt6mg9CaybaICqixNjISERpRyQorI3iQO6kK0k4=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkFkowfPkBNRUuGohmQbrKeNS+bStDp5DiRoswG yUIeOvxzGeJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZBZKMAAKCRCPgPtYfRL+ TuylB/4rJ66LT4wux88L1Ai06G/JzO8wnwNVG92+S+kp8+UwlaPVwdU+nSonBmHGYK/dkR854OY ynsoLRJi+8bFzVz0Venj3tojA89Pljhek0iiFC4i7kt9wgXq0OmRXxPn6si9ONbyo5meKj1n9hg nYq873Hwpz3+zIwhZXCWn3fGIfmzrqT3WQLR5ccS8jSln+OtkECTnbRaL++Q37+IFKqPTQEUkqU fyMtddJG2gMV9sk0pCrtuAbjIUDW6Pql+O9GYPo8uTHGq1HXHe91yCObMZ1GtwVo55WNY1+Oz1h OHM5VfYJ/B982myhA15bjF+WncqqISoAJDGEZ9V6/a/MaZ5l 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-i3c@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230318_163326_672771_7BBD5100 X-CRM114-Status: GOOD ( 15.61 ) X-Mailman-Approved-At: Sun, 19 Mar 2023 10:07:52 -0700 X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.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/i3c/master/mipi-i3c-hci/core.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c index f9bc58366a72..837af83c85f4 100644 --- a/drivers/i3c/master/mipi-i3c-hci/core.c +++ b/drivers/i3c/master/mipi-i3c-hci/core.c @@ -765,13 +765,11 @@ static int i3c_hci_probe(struct platform_device *pdev) return 0; } -static int i3c_hci_remove(struct platform_device *pdev) +static void i3c_hci_remove(struct platform_device *pdev) { struct i3c_hci *hci = platform_get_drvdata(pdev); i3c_master_unregister(&hci->master); - - return 0; } static const __maybe_unused struct of_device_id i3c_hci_of_match[] = { @@ -782,7 +780,7 @@ MODULE_DEVICE_TABLE(of, i3c_hci_of_match); static struct platform_driver i3c_hci_driver = { .probe = i3c_hci_probe, - .remove = i3c_hci_remove, + .remove_new = i3c_hci_remove, .driver = { .name = "mipi-i3c-hci", .of_match_table = of_match_ptr(i3c_hci_of_match), From patchwork Sat Mar 18 23:33:11 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: 13180484 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EE95BC761A6 for ; Sun, 19 Mar 2023 17:07:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hcrZolh8V+5bq8T5CBddmPXL8iMu5lpqa2Nu0RMRiJs=; b=TTaaIcswXhMczr OymgO8wx0MZFX4V144+ijiLjC1txijarQz5j1NJ6R+1MqUg/W58G8BSdc0lwSkCLZXTSDg6YdJNAe HIpFuRTbM226K80/QETjxGlIuLvfiQ/hpaqwNyBLTqEL8RNi1MrMCj2pEf75XJTvW84aKiS9rb0wd 50CVDcSImUbDxMZ6BRPHpK6gQlHsL16OpxD10MK12bbTGzz0GIY7NNAimR7Qj0Vtzag5NAB2xMCYF onJ1bx2SiXP12/KlblHs4kh9XV1/ywHpcoQ4lmV9BpbHsGf1n9BL/K60clij10SgOPwEHYfWcCKbd pGh507dOYg1gPkMFkV9Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pdwVe-0074PH-0o; Sun, 19 Mar 2023 17:07:54 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pdg3D-005ZUP-0c for linux-i3c@lists.infradead.org; Sat, 18 Mar 2023 23:33:29 +0000 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 1pdg3A-00026H-3p; Sun, 19 Mar 2023 00:33:24 +0100 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 1pdg39-0056VD-DB; Sun, 19 Mar 2023 00:33:23 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pdg38-005zR4-Fu; Sun, 19 Mar 2023 00:33:22 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Miquel Raynal , Conor Culhane , Alexandre Belloni Cc: linux-i3c@lists.infradead.org, kernel@pengutronix.de Subject: [PATCH 5/5] i3c: svc: Convert to platform remove callback returning void Date: Sun, 19 Mar 2023 00:33:11 +0100 Message-Id: <20230318233311.265186-6-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> References: <20230318233311.265186-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1881; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=X1MRC8dZ6L3SY9IGorYLDJgu18rnXTtbRXFDOkbscEg=; b=owGbwMvMwMXY3/A7olbonx/jabUkhhQxL8Md/hpp+5evtl9fKGT9fJLzvF9XPqhcNz1/cjb3g 3zXgonynYzGLAyMXAyyYoos9o1rMq2q5CI71/67DDOIlQlkCgMXpwBMZKI4+/8gw/X+1Qrqz9eE y2+e8j/SJuNiUZFaZqzwLo8VSUmtZqzGF0ryeyPDN3e1RT86ucMhM4GpukpGc4sgx5/5l5bOmCJ tPqU77oTR3b+32SSYtkW5rk/Pynj9keNb1W+NJ9EvEj/mebWbGHC+PB6bFdL52THOL4E1QtvvcK Alxzuj87Vyh/Wdtm6QY9RLd7q4Za9TqBib+43ZeTlPIgveCfmFfpnkELP6mKxM4gMZtfBTTm4zi /XcVtvuS9606urqMLm1UpkGusuSvJ8aZf9JOvxvzhu3BWzRT8qeqXdPF5k255THcymJexfky68p KLx/XnmCS9yP91JqJzv3d8aM+Ted5F1XTGpOjp/T9ZARAA== 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-i3c@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230318_163327_229466_86F1D225 X-CRM114-Status: GOOD ( 15.27 ) X-Mailman-Approved-At: Sun, 19 Mar 2023 10:07:52 -0700 X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.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: Miquel Raynal --- drivers/i3c/master/svc-i3c-master.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index e5476d04b403..e3f454123805 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -1569,7 +1569,7 @@ static int svc_i3c_master_probe(struct platform_device *pdev) return ret; } -static int svc_i3c_master_remove(struct platform_device *pdev) +static void svc_i3c_master_remove(struct platform_device *pdev) { struct svc_i3c_master *master = platform_get_drvdata(pdev); @@ -1577,8 +1577,6 @@ static int svc_i3c_master_remove(struct platform_device *pdev) pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); - - return 0; } static int __maybe_unused svc_i3c_runtime_suspend(struct device *dev) @@ -1616,7 +1614,7 @@ MODULE_DEVICE_TABLE(of, svc_i3c_master_of_match_tbl); static struct platform_driver svc_i3c_master = { .probe = svc_i3c_master_probe, - .remove = svc_i3c_master_remove, + .remove_new = svc_i3c_master_remove, .driver = { .name = "silvaco-i3c-master", .of_match_table = svc_i3c_master_of_match_tbl,