From patchwork Mon Jul 31 09:16:25 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: 1814898 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt2C1sVwz20GB for ; Mon, 31 Jul 2023 19:18:11 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231560AbjGaJSJ (ORCPT ); Mon, 31 Jul 2023 05:18:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232069AbjGaJRk (ORCPT ); Mon, 31 Jul 2023 05:17: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 DCE2B19F for ; Mon, 31 Jul 2023 02:16:52 -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 1qQP1B-0000A7-4C; Mon, 31 Jul 2023 11:16:45 +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 1qQP19-0005kX-Iv; Mon, 31 Jul 2023 11:16:43 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP18-009GVJ-KT; Mon, 31 Jul 2023 11:16:42 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Viresh Kumar , Damien Le Moal Cc: Sergey Shtylyov , linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 01/12] ata/pata_arasan_cf: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:25 +0200 Message-Id: <20230731091636.693193-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1767; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=4RHNeQCZmIXpEzfkugYOx61xCrtB/xVdCw8NHrfU6Fw=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3t+MmXRbAdgjz9qQTxvnpbmNPva6uTT+GUCz 4Cno0brsDmJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7fgAKCRCPgPtYfRL+ TvdpB/sEaSuztyYIURteHavQLXkA/hec5jJei7RxUegIMNFhcFepFpTOIgepgnur9ym3rWWp+WZ +WweF2L0fQm/XlXmqveMcw2vylhv7GzR8HrHuxbAUmhFdBKjlIhKXFSbWHpxFn/b1P4hG/ngIwv 8MMyRSL36n52fhqneWceoi/Kz0kjQ/i1BC1aU4i/YBt7B2L28eQPaty7200tqvHw5VEYpNMQB4+ PElcf+ZgslVTBRV5lhrPg7NhQRDUqTXeoVz/+qBQXsbmhJebvvDWxyqF1jSNw/Qad7RDdKuv8dq EppaZeKkq5NStX91Ac5+Og226hCbxSS1Igpw7SDxdJ1E6xOH 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Acked-by: Viresh Kumar Reviewed-by: Sergey Shtylyov --- drivers/ata/pata_arasan_cf.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/pata_arasan_cf.c b/drivers/ata/pata_arasan_cf.c index 6ab294322e79..e11eea2e749a 100644 --- a/drivers/ata/pata_arasan_cf.c +++ b/drivers/ata/pata_arasan_cf.c @@ -916,15 +916,13 @@ static int arasan_cf_probe(struct platform_device *pdev) return ret; } -static int arasan_cf_remove(struct platform_device *pdev) +static void arasan_cf_remove(struct platform_device *pdev) { struct ata_host *host = platform_get_drvdata(pdev); struct arasan_cf_dev *acdev = host->ports[0]->private_data; ata_host_detach(host); cf_exit(acdev); - - return 0; } #ifdef CONFIG_PM_SLEEP @@ -965,7 +963,7 @@ MODULE_DEVICE_TABLE(of, arasan_cf_id_table); static struct platform_driver arasan_cf_driver = { .probe = arasan_cf_probe, - .remove = arasan_cf_remove, + .remove_new = arasan_cf_remove, .driver = { .name = DRIVER_NAME, .pm = &arasan_cf_pm_ops, From patchwork Mon Jul 31 09:16:26 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: 1814892 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt0t5539z20GB for ; Mon, 31 Jul 2023 19:17:02 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229961AbjGaJRA (ORCPT ); Mon, 31 Jul 2023 05:17:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45076 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232004AbjGaJQu (ORCPT ); Mon, 31 Jul 2023 05:16:50 -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 35CCA10B for ; Mon, 31 Jul 2023 02:16:48 -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 1qQP1B-0000A9-4C; Mon, 31 Jul 2023 11:16:45 +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 1qQP1A-0005kg-1b; Mon, 31 Jul 2023 11:16:44 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP18-009GVM-R9; Mon, 31 Jul 2023 11:16:42 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: Sergey Shtylyov , linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 02/12] ata/pata_ep93xx: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:26 +0200 Message-Id: <20230731091636.693193-3-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1931; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=0Yewu0bYPIFzw9QueRvudP4lc1nDjVyKgEPp8BzYCZ4=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3t/G/fs6LaGeBUc2sxdRkYC7ng/tT6tVPS4J uNrxIy8gWqJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7fwAKCRCPgPtYfRL+ TmxjB/0U6wYr6rSBQtCSCHUYbUR8urdkNtmMb3q8uTHStDZtpqiQfwILrMDEfTBwrlGSVO2IQCf ox4tX9wOoJC4eO/tgUOzb/Y5k39frCre2dmm1AWXXnYSR+Y0KU9MF2nOarvIEL/8yv05Jhrj0HU u+kguug/7XY672BwlT+ou8hPloYaq4WnUtE3V8S2zX6xcsdH6JOiivAPxFkuaaiMP+20XqQbKTR pPF/fsAsCMmOvW+HLhHy37wb5Pi+6N2HC55c6UhWeVQ/q2uU79qR/vzQLDTuXHSrS+gw1BeiJIf L4/FwAfZOuTy6m+0sw9cigwKFGu3uTjS4NofPfpnzW8HnS+Z 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Reviewed-by: Sergey Shtylyov --- drivers/ata/pata_ep93xx.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/ata/pata_ep93xx.c b/drivers/ata/pata_ep93xx.c index c6e043e05d43..744ad5e8cfbf 100644 --- a/drivers/ata/pata_ep93xx.c +++ b/drivers/ata/pata_ep93xx.c @@ -1004,7 +1004,7 @@ static int ep93xx_pata_probe(struct platform_device *pdev) return err; } -static int ep93xx_pata_remove(struct platform_device *pdev) +static void ep93xx_pata_remove(struct platform_device *pdev) { struct ata_host *host = platform_get_drvdata(pdev); struct ep93xx_pata_data *drv_data = host->private_data; @@ -1013,7 +1013,6 @@ static int ep93xx_pata_remove(struct platform_device *pdev) ep93xx_pata_release_dma(drv_data); ep93xx_pata_clear_regs(drv_data->ide_base); ep93xx_ide_release_gpio(pdev); - return 0; } static struct platform_driver ep93xx_pata_platform_driver = { @@ -1021,7 +1020,7 @@ static struct platform_driver ep93xx_pata_platform_driver = { .name = DRV_NAME, }, .probe = ep93xx_pata_probe, - .remove = ep93xx_pata_remove, + .remove_new = ep93xx_pata_remove, }; module_platform_driver(ep93xx_pata_platform_driver); From patchwork Mon Jul 31 09:16:27 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: 1814894 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt0z3JqLz20GB for ; Mon, 31 Jul 2023 19:17:07 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231889AbjGaJRG (ORCPT ); Mon, 31 Jul 2023 05:17:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232050AbjGaJQw (ORCPT ); Mon, 31 Jul 2023 05:16: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 59B5812B for ; Mon, 31 Jul 2023 02:16:48 -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 1qQP1B-0000A8-4C; Mon, 31 Jul 2023 11:16:45 +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 1qQP19-0005kb-PO; Mon, 31 Jul 2023 11:16:43 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP19-009GVP-1L; Mon, 31 Jul 2023 11:16:43 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Linus Walleij , Damien Le Moal Cc: Sergey Shtylyov , linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 03/12] ata/pata_ftide010: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:27 +0200 Message-Id: <20230731091636.693193-4-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1827; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=6d6GOuRtPKCjUshqSn6ku0LvJ/MQhWAafiYypMjnBcs=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uAFsoVRxuVvZOBAi+rFsQZKJD/jo2P+TRgQ rCo5ltybROJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7gAAKCRCPgPtYfRL+ Tn4bB/9lY9NktjuPidNnFACcPkzLzkLE/SN6fartePcjXticO/8SZta7/G1UJdwrxjy1dkqpC03 80CvOUsXA8D6/85u4+I3awMl3IlDDADM7wgw/pC9D0VUV3V3b5bKisobKosCqrOntBs9sBfaWCw DFahJaRNM55BQ4+ghIFgSf7kYyS5rot6q/pkyOuxOMvUxzioPBezhVhZPztTr70Vp0Izm1N97jl o1xA1l/afzd1SaNnlJTU/8FVYRLYwvlmgQNVuN+Bmghz9doaO3OcC3CTfpWlk7qHYBgVQ9CYS/y jEp6sdDwq5YP35kxdmNukZ9Doen7tBoH4qSYCsO9Tfpwi0mK 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Reviewed-by: Sergey Shtylyov --- drivers/ata/pata_ftide010.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/pata_ftide010.c b/drivers/ata/pata_ftide010.c index 6f6734c09b11..27509ee100c7 100644 --- a/drivers/ata/pata_ftide010.c +++ b/drivers/ata/pata_ftide010.c @@ -541,15 +541,13 @@ static int pata_ftide010_probe(struct platform_device *pdev) return ret; } -static int pata_ftide010_remove(struct platform_device *pdev) +static void pata_ftide010_remove(struct platform_device *pdev) { struct ata_host *host = platform_get_drvdata(pdev); struct ftide010 *ftide = host->private_data; ata_host_detach(ftide->host); clk_disable_unprepare(ftide->pclk); - - return 0; } static const struct of_device_id pata_ftide010_of_match[] = { @@ -563,7 +561,7 @@ static struct platform_driver pata_ftide010_driver = { .of_match_table = pata_ftide010_of_match, }, .probe = pata_ftide010_probe, - .remove = pata_ftide010_remove, + .remove_new = pata_ftide010_remove, }; module_platform_driver(pata_ftide010_driver); From patchwork Mon Jul 31 09:16:28 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: 1814899 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt2D0lydz20GB for ; Mon, 31 Jul 2023 19:18:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232152AbjGaJSK (ORCPT ); Mon, 31 Jul 2023 05:18:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45294 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232206AbjGaJRx (ORCPT ); Mon, 31 Jul 2023 05:17:53 -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 E34A61B1 for ; Mon, 31 Jul 2023 02:16: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 1qQP1B-0000AT-CN; Mon, 31 Jul 2023 11:16:45 +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 1qQP1A-0005kr-MP; Mon, 31 Jul 2023 11:16:44 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP19-009GVS-8D; Mon, 31 Jul 2023 11:16:43 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal , Shawn Guo , Sascha Hauer Cc: Sergey Shtylyov , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , linux-ide@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 04/12] ata/pata_imx: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:28 +0200 Message-Id: <20230731091636.693193-5-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1850; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=TzSO0fMybiSEn7JEaqKjriPwaeueKVBqTMqPBslTagw=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uBLWGIgVtXJ2/6B8y2Bud4LE27nFH7OBFxY Wa3rtWJHcmJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7gQAKCRCPgPtYfRL+ TvByB/sHHxba+fbsy+YMggfBMqlzcaYo4CzxbHzkfAn6h1xkWH/iLpC3GtVW2/HuZd4dWPbb33A 2v7aOoV7rRPtexzJ4YPe1g+725C1Akx2nF+BhPkvGVEB5tS8J5GPrT8rbQYjPqCnKe51QRi4yXN CSkQPxAEOWwVZgC6IGMlZYDbOGPge4VN57RU9UXxYIkyYfIjzzSR7YfRwr9XrbEoJb1QTd/1B1m sr1D8ZsKYmOItAW+GFLxxQjc4v8dBGnYZ2GQR7TCJ6TF125rnlaT5MWkmYjz0IyeamBUsM314HJ psGLI6ejrgkD0+rJtPPd7Hc3OYuVRO5HwyGgYSReoDeM23c/ 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Reviewed-by: Sergey Shtylyov --- drivers/ata/pata_imx.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/pata_imx.c b/drivers/ata/pata_imx.c index 4013f28679a9..6c62b1feade5 100644 --- a/drivers/ata/pata_imx.c +++ b/drivers/ata/pata_imx.c @@ -204,7 +204,7 @@ static int pata_imx_probe(struct platform_device *pdev) return ret; } -static int pata_imx_remove(struct platform_device *pdev) +static void pata_imx_remove(struct platform_device *pdev) { struct ata_host *host = platform_get_drvdata(pdev); struct pata_imx_priv *priv = host->private_data; @@ -214,8 +214,6 @@ static int pata_imx_remove(struct platform_device *pdev) __raw_writel(0, priv->host_regs + PATA_IMX_ATA_INT_EN); clk_disable_unprepare(priv->clk); - - return 0; } #ifdef CONFIG_PM_SLEEP @@ -266,7 +264,7 @@ MODULE_DEVICE_TABLE(of, imx_pata_dt_ids); static struct platform_driver pata_imx_driver = { .probe = pata_imx_probe, - .remove = pata_imx_remove, + .remove_new = pata_imx_remove, .driver = { .name = DRV_NAME, .of_match_table = imx_pata_dt_ids, From patchwork Mon Jul 31 09:16:29 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: 1814893 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt0y0s0qz20GB for ; Mon, 31 Jul 2023 19:17:06 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232166AbjGaJRF (ORCPT ); Mon, 31 Jul 2023 05:17:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45126 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231889AbjGaJQw (ORCPT ); Mon, 31 Jul 2023 05:16: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 5C31B12D for ; Mon, 31 Jul 2023 02:16:48 -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 1qQP1B-0000AU-E9; Mon, 31 Jul 2023 11:16:45 +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 1qQP1A-0005ks-N6; Mon, 31 Jul 2023 11:16:44 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP19-009GVV-En; Mon, 31 Jul 2023 11:16:43 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: Sergey Shtylyov , linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 05/12] ata/pata_mpc52xx: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:29 +0200 Message-Id: <20230731091636.693193-6-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1831; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=ZS00hlSzA6zz37u9JSzRQ8YnvQYXqAHhtuZan7ml6g4=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uCZaqOmN/TyXSfEshUxJJ7sZpxgbDIwvMlo XYkHI6HRPCJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7ggAKCRCPgPtYfRL+ TnL4CAC1xUnLsHz6cg9R+Fsfw42A7tl6C+/1HpZjfn8X7DJX0Ry45SgkRx04TX3kNOvWYhZWSQZ 8kcEafbfGD+d192rhER8GFx1wdg9+XbMf/pBepg3BrRrstxicPMJSw5WUR9mN88VW3uxISC5NfT v/WWdj8CMYCA9Sy5Yzir0Jd2QXspnxCslmQgiw/K40tToYnYuAgLGlRZ4qm95jbH5zT+oIEdGdP 21mnN2UQUsw/UbhP+AQRlKg+usBzqP/Mrnt7DRVZuexTO4w7K0yW8yOnxe3o66yXCsKQPRJRUIo OjK86koA8YH1XanNjJeICP+JJFngNh0e9SVz0YXibjhdoCtE 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Reviewed-by: Sergey Shtylyov --- drivers/ata/pata_mpc52xx.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c index 66c9dea4ea6e..bca7f552e2b5 100644 --- a/drivers/ata/pata_mpc52xx.c +++ b/drivers/ata/pata_mpc52xx.c @@ -800,7 +800,7 @@ static int mpc52xx_ata_probe(struct platform_device *op) return rv; } -static int +static void mpc52xx_ata_remove(struct platform_device *op) { struct ata_host *host = platform_get_drvdata(op); @@ -815,8 +815,6 @@ mpc52xx_ata_remove(struct platform_device *op) irq_dispose_mapping(task_irq); bcom_ata_release(priv->dmatsk); irq_dispose_mapping(priv->ata_irq); - - return 0; } #ifdef CONFIG_PM_SLEEP @@ -857,7 +855,7 @@ static const struct of_device_id mpc52xx_ata_of_match[] = { static struct platform_driver mpc52xx_ata_of_platform_driver = { .probe = mpc52xx_ata_probe, - .remove = mpc52xx_ata_remove, + .remove_new = mpc52xx_ata_remove, #ifdef CONFIG_PM_SLEEP .suspend = mpc52xx_ata_suspend, .resume = mpc52xx_ata_resume, From patchwork Mon Jul 31 09:16:30 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: 1814890 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt0l2xSVz20GB for ; Mon, 31 Jul 2023 19:16:55 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232087AbjGaJQy (ORCPT ); Mon, 31 Jul 2023 05:16:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231980AbjGaJQu (ORCPT ); Mon, 31 Jul 2023 05:16:50 -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 377BE129 for ; Mon, 31 Jul 2023 02:16:48 -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 1qQP1B-0000AS-7W; Mon, 31 Jul 2023 11:16:45 +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 1qQP1A-0005kl-HN; Mon, 31 Jul 2023 11:16:44 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP19-009GVa-Md; Mon, 31 Jul 2023 11:16:43 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: Sergey Shtylyov , linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 06/12] ata/pata_pxa: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:30 +0200 Message-Id: <20230731091636.693193-7-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1701; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=+BfHotY0QcmdlarIBDAD6LVhaI+L2gRy5c/bvmVr0rU=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uE1KaJvjapuLekUX6ZKXLSj/JYZamlM23fI mLsvuObONaJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7hAAKCRCPgPtYfRL+ Tn+GCACXaUue1QUa02wOaki806X7PNMN8z1xXdtHzDmEYIU0/lipYyi6TTGivfZBkvdtxYCq1DM atiLhdAJ3rVL2lGM7NAeUpjBS6L8xebBEFRyBAj/Se/EqEv2wko3g4tKcD0ZkjDzYIn+3M/SzzG 4ImEm5QMlpR5ntSsvRupedjirQ1g48EQA5tO664Mx1F0cpZfWYg2j0RqRSpWvbvPO9YVoGOx6gK T73fuqMzUe1vixORwGQlRfoZjH/oif5ifQzLOA76PY7CwjCivap7w0X78LJOi1B7JOMxgqNRqNH 4IXEgxclRpKlKCPjseUdnS7BfvZlRS0BGzFJpqzNaVDSZSZ9 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Reviewed-by: Sergey Shtylyov --- drivers/ata/pata_pxa.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/pata_pxa.c b/drivers/ata/pata_pxa.c index ea402e02c46e..5275c6464f57 100644 --- a/drivers/ata/pata_pxa.c +++ b/drivers/ata/pata_pxa.c @@ -295,7 +295,7 @@ static int pxa_ata_probe(struct platform_device *pdev) return ret; } -static int pxa_ata_remove(struct platform_device *pdev) +static void pxa_ata_remove(struct platform_device *pdev) { struct ata_host *host = platform_get_drvdata(pdev); struct pata_pxa_data *data = host->ports[0]->private_data; @@ -303,13 +303,11 @@ static int pxa_ata_remove(struct platform_device *pdev) dma_release_channel(data->dma_chan); ata_host_detach(host); - - return 0; } static struct platform_driver pxa_ata_driver = { .probe = pxa_ata_probe, - .remove = pxa_ata_remove, + .remove_new = pxa_ata_remove, .driver = { .name = DRV_NAME, }, From patchwork Mon Jul 31 09:16:31 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: 1814891 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt0n6jjPz20GB for ; Mon, 31 Jul 2023 19:16:57 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231963AbjGaJQz (ORCPT ); Mon, 31 Jul 2023 05:16:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45068 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231998AbjGaJQu (ORCPT ); Mon, 31 Jul 2023 05:16:50 -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 35F0D11A for ; Mon, 31 Jul 2023 02:16:47 -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 1qQP1B-0000CF-W4; Mon, 31 Jul 2023 11:16:46 +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 1qQP1B-0005l6-BR; Mon, 31 Jul 2023 11:16:45 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP19-009GVe-T2; Mon, 31 Jul 2023 11:16:43 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: Sergey Shtylyov , linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 07/12] ata/pata_rb532_cf: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:31 +0200 Message-Id: <20230731091636.693193-8-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1614; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=z2UqSp5tRAXikZAh57VKvvgme/U/5Kex+AA0GT6+ioY=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uFNRnCp2tDT76wWDm/FnxUmGyPO8pVVlcWw wGJAKiVucaJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7hQAKCRCPgPtYfRL+ TufBB/0XmIlG78KcX0DeMPDf7uxI8jnP32VYTkA8XCqiqKgIaCvl1ALIY8yd+gvztnGoas4RMH7 prPZASfYS4W4IPHRUwlff2sTV5y5Zi53AW3SqWulUFYSFQOH4CngLcr832DDPDlreWYLWq5+tZ+ 3TYx/4PGLtLOCV7Yn/fTJ27/aaRFTWJwWBYgqyx+FshnjJGNezStGVIjGUR3twjM9TAnPLRSZIh 2UAOzQpX46wYQrRE4Ubuy7PHE13Qc8RPKjIeFHmixfvr0DdCBEIDU+rtAdwCC5uz/kTSa8v4j5i CSeCUBY7V8W9dd4dhtIMJfCRP1ChR+eKPrs0nDCI2+kDgrO4 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Reviewed-by: Sergey Shtylyov --- drivers/ata/pata_rb532_cf.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c index 3974d294a341..0fa253ad7c93 100644 --- a/drivers/ata/pata_rb532_cf.c +++ b/drivers/ata/pata_rb532_cf.c @@ -155,18 +155,16 @@ static int rb532_pata_driver_probe(struct platform_device *pdev) return 0; } -static int rb532_pata_driver_remove(struct platform_device *pdev) +static void rb532_pata_driver_remove(struct platform_device *pdev) { struct ata_host *ah = platform_get_drvdata(pdev); ata_host_detach(ah); - - return 0; } static struct platform_driver rb532_pata_platform_driver = { .probe = rb532_pata_driver_probe, - .remove = rb532_pata_driver_remove, + .remove_new = rb532_pata_driver_remove, .driver = { .name = DRV_NAME, }, From patchwork Mon Jul 31 09:16:32 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: 1814889 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt0l5fPzz20GC for ; Mon, 31 Jul 2023 19:16:55 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232091AbjGaJQy (ORCPT ); Mon, 31 Jul 2023 05:16:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231963AbjGaJQt (ORCPT ); Mon, 31 Jul 2023 05:16:49 -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 C4E78127 for ; Mon, 31 Jul 2023 02:16:47 -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 1qQP1C-0000CH-64; Mon, 31 Jul 2023 11:16:46 +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 1qQP1B-0005lC-Gz; Mon, 31 Jul 2023 11:16:45 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP1A-009GVh-34; Mon, 31 Jul 2023 11:16:44 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 08/12] ata/sata_dwc_460ex: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:32 +0200 Message-Id: <20230731091636.693193-9-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1805; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=3ZOxtfMDX9p6lg8iNSG8mCBmBipw/6wbtZ/uN6BmuW0=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uGzAt+YBbc19b0tySW4agFVMW7HvIQ0x1Ud BdOdboHuQaJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7hgAKCRCPgPtYfRL+ TguHCACcvPVGhIB5/Qm+mYDSStxBnaVShBEb68FqPyrtvYAsbf6NNcW5VJ67beicyWhFQ1/c318 1UrXS4BjClV2XtCf+iYGjFVQQQb+3dtEST9i1ALGCdfQ/GvfgONWv5hC0JYVlxxPgUH0cA21W6B t60tgLv2nhf4XD5Esx08KFo322ASoVlOw2grn4B0jtwclkDls8z2FWvBaS8nNq3Tdz7o9SNELyn 6QxW8hl14Xus362N1UbXMHZB6Mev4Fij9woJdHZsBNkCv9a/MvHPjC3v2HPvGZHkha0VhGRhGPy OvIu/lQVRaQ+DLAF5ZkRnxtvdWHfmB1LPbEo/XEaQexLXnG/ 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig --- drivers/ata/sata_dwc_460ex.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c index fabdd1e380f9..20ac56da6b47 100644 --- a/drivers/ata/sata_dwc_460ex.c +++ b/drivers/ata/sata_dwc_460ex.c @@ -1211,7 +1211,7 @@ static int sata_dwc_probe(struct platform_device *ofdev) return err; } -static int sata_dwc_remove(struct platform_device *ofdev) +static void sata_dwc_remove(struct platform_device *ofdev) { struct device *dev = &ofdev->dev; struct ata_host *host = dev_get_drvdata(dev); @@ -1227,7 +1227,6 @@ static int sata_dwc_remove(struct platform_device *ofdev) #endif dev_dbg(dev, "done\n"); - return 0; } static const struct of_device_id sata_dwc_match[] = { @@ -1242,7 +1241,7 @@ static struct platform_driver sata_dwc_driver = { .of_match_table = sata_dwc_match, }, .probe = sata_dwc_probe, - .remove = sata_dwc_remove, + .remove_new = sata_dwc_remove, }; module_platform_driver(sata_dwc_driver); From patchwork Mon Jul 31 09:16:33 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: 1814888 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt0j50Bjz20GB for ; Mon, 31 Jul 2023 19:16:53 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231975AbjGaJQt (ORCPT ); Mon, 31 Jul 2023 05:16:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231889AbjGaJQs (ORCPT ); Mon, 31 Jul 2023 05:16:48 -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 B7F7C126 for ; Mon, 31 Jul 2023 02:16:47 -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 1qQP1B-0000C3-Ux; Mon, 31 Jul 2023 11:16:45 +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 1qQP1B-0005l4-AK; Mon, 31 Jul 2023 11:16:45 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP1A-009GVl-9J; Mon, 31 Jul 2023 11:16:44 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 09/12] ata/sata_fsl: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:33 +0200 Message-Id: <20230731091636.693193-10-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1874; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=108KFMwRcujgeu+c9h5PdNygcoOpYEEklqzb8TjHamA=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uHqy/LJVY5n9YJtaHDjrfrG0Lm6koLGRZj9 tyq6sTJ4DGJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7hwAKCRCPgPtYfRL+ TrbCB/48Z4JpUPfmNVIA6x30BQ7UGohYPb5y07LVNw/JoxYaMleFCr65cKt8VPt7L+fr4wA+L/H +fQSUUenpzEmwQNhDIdwDCMkz/sbcadNqY9EXBHF2soErK/E/5oO07F+e71bQxqNuX33DLP/vM1 aI18Keh3S4l1iqXSc8JP0ccUWUaNlOuo95FClbjslO/veAcJNPmydFJom4FAJ6CKd2xFYmu0AMh 6ufx/Tgs0POaXnD/W3NlbLtmq0MnywWzhE4+1au0sD4f4ukG/SCxUUqm8xGD2BXTdpCPL0ehg0+ yINnFFq33MjaES3ke9RlpOMqyEnnzpx1rp+0P9zxnH2tdYBN 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig --- drivers/ata/sata_fsl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index ccd99b9aa9ff..744b91fb0022 100644 --- a/drivers/ata/sata_fsl.c +++ b/drivers/ata/sata_fsl.c @@ -1526,7 +1526,7 @@ static int sata_fsl_probe(struct platform_device *ofdev) return retval; } -static int sata_fsl_remove(struct platform_device *ofdev) +static void sata_fsl_remove(struct platform_device *ofdev) { struct ata_host *host = platform_get_drvdata(ofdev); struct sata_fsl_host_priv *host_priv = host->private_data; @@ -1535,8 +1535,6 @@ static int sata_fsl_remove(struct platform_device *ofdev) device_remove_file(&ofdev->dev, &host_priv->rx_watermark); ata_host_detach(host); - - return 0; } #ifdef CONFIG_PM_SLEEP @@ -1591,7 +1589,7 @@ static struct platform_driver fsl_sata_driver = { .of_match_table = fsl_sata_match, }, .probe = sata_fsl_probe, - .remove = sata_fsl_remove, + .remove_new = sata_fsl_remove, #ifdef CONFIG_PM_SLEEP .suspend = sata_fsl_suspend, .resume = sata_fsl_resume, From patchwork Mon Jul 31 09:16:34 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: 1814895 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt1036rPz20GB for ; Mon, 31 Jul 2023 19:17:08 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232050AbjGaJRG (ORCPT ); Mon, 31 Jul 2023 05:17:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231808AbjGaJQx (ORCPT ); Mon, 31 Jul 2023 05:16:53 -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 D0126123 for ; Mon, 31 Jul 2023 02:16:48 -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 1qQP1C-0000CL-Bn; Mon, 31 Jul 2023 11:16:46 +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 1qQP1B-0005lG-NO; Mon, 31 Jul 2023 11:16:45 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP1A-009GVo-Fh; Mon, 31 Jul 2023 11:16:44 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Linus Walleij , Damien Le Moal Cc: linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 10/12] ata/sata_gemini: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:34 +0200 Message-Id: <20230731091636.693193-11-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1821; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=LqpaDW1WLOTsK730jj7ErLVlvRs2+wZ4omftvew40Ls=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uI5yId3Lkis7o0rTTawOI/W8mKZ/Eh0gVBi jmJ0Mtie/WJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7iAAKCRCPgPtYfRL+ Tk00B/9DB02yJmSqebpIhnVvx0q1OagkONh4vfNmZl4w3Qds2Go0X9ziahQ0ssxq0yMIbt4ZuEc 5QnuzbhF+Wl3SAL6aTTLJ8+pTC5/ZcfHnoRqA9pejrZwxx5vWN9TLm02aqR2Xb9QEoQ17FYCaLt rOrSTgKeKxeFSCDhI1NpitefpeDyILbEl/sFwZWyGsbqA9b17+jiOt03M2aO/ehLpMQgWnMDUM7 VF0+BH8g4iJKEZXGTBFQxpnyxwjyDtjW/GLzZ1g8tyIVIBvjJb7cKEwnbB0Iz9w8fe0AxiA4mWT kl62kFFe7is53WWsK+QGlRPUfKPvzS61qKDTplAO391oaH9b 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Acked-by: Linus Walleij --- drivers/ata/sata_gemini.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/sata_gemini.c b/drivers/ata/sata_gemini.c index c42cc9bbbc4e..94bbb9b69f50 100644 --- a/drivers/ata/sata_gemini.c +++ b/drivers/ata/sata_gemini.c @@ -400,7 +400,7 @@ static int gemini_sata_probe(struct platform_device *pdev) return ret; } -static int gemini_sata_remove(struct platform_device *pdev) +static void gemini_sata_remove(struct platform_device *pdev) { struct sata_gemini *sg = platform_get_drvdata(pdev); @@ -409,8 +409,6 @@ static int gemini_sata_remove(struct platform_device *pdev) clk_unprepare(sg->sata0_pclk); } sg_singleton = NULL; - - return 0; } static const struct of_device_id gemini_sata_of_match[] = { @@ -424,7 +422,7 @@ static struct platform_driver gemini_sata_driver = { .of_match_table = gemini_sata_of_match, }, .probe = gemini_sata_probe, - .remove = gemini_sata_remove, + .remove_new = gemini_sata_remove, }; module_platform_driver(gemini_sata_driver); From patchwork Mon Jul 31 09:16:35 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: 1814896 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt1d3kNJz20GB for ; Mon, 31 Jul 2023 19:17:41 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232182AbjGaJRk (ORCPT ); Mon, 31 Jul 2023 05:17:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232052AbjGaJQx (ORCPT ); Mon, 31 Jul 2023 05:16:53 -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 37D8912A for ; Mon, 31 Jul 2023 02:16:48 -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 1qQP1C-0000CO-FT; Mon, 31 Jul 2023 11:16:46 +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 1qQP1B-0005lH-OL; Mon, 31 Jul 2023 11:16:45 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP1A-009GVs-O9; Mon, 31 Jul 2023 11:16:44 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: linux-ide@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 11/12] ata/sata_mv: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:35 +0200 Message-Id: <20230731091636.693193-12-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1965; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=oGTGzGe5MSm67rut1RPtNLoDXYZ/1rOQlKvc5tGNVpk=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uJ4Pgxz15u/LNqQL3q3dstJhD0rXFnNS4IG vfEbYLA3pmJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7iQAKCRCPgPtYfRL+ Tl7qCACPb0AkLL2obiK3FoKldmgY8J8SyRW9APyfGJlFoi8sQl/dtX9iUM0OROTmVTMn8/MDfUs REAdCWYuycK0LOsYZQGGKbQNDBISh1adixy4EFT7GJr94EeCGmg5pt7oHPcPZi40SV1thqJrunH MxR9xQWkDaUaPvGpmF8rGWh4hFQuG7zf+Fz4Bvk+bHGvCdWuh3BHuWg86F9+y+B4lxBDFBdM9Gh DIZr9ZzbFDleKopX5e+j+O4BL2aGLfQfk13F7kmNpMzQucxGOIsPoZ49mEQ9HdXcP8Q8AKRdbNJ mM8B8WIhCLDJFyG+kAFLsdtlb06genZj4llTA9QH+3i86rhH 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig --- drivers/ata/sata_mv.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index d404e631d152..c691b89a417b 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -4210,7 +4210,7 @@ static int mv_platform_probe(struct platform_device *pdev) * A platform bus SATA device has been unplugged. Perform the needed * cleanup. Also called on module unload for any active devices. */ -static int mv_platform_remove(struct platform_device *pdev) +static void mv_platform_remove(struct platform_device *pdev) { struct ata_host *host = platform_get_drvdata(pdev); struct mv_host_priv *hpriv = host->private_data; @@ -4228,7 +4228,6 @@ static int mv_platform_remove(struct platform_device *pdev) } phy_power_off(hpriv->port_phys[port]); } - return 0; } #ifdef CONFIG_PM_SLEEP @@ -4284,7 +4283,7 @@ MODULE_DEVICE_TABLE(of, mv_sata_dt_ids); static struct platform_driver mv_platform_driver = { .probe = mv_platform_probe, - .remove = mv_platform_remove, + .remove_new = mv_platform_remove, .suspend = mv_platform_suspend, .resume = mv_platform_resume, .driver = { From patchwork Mon Jul 31 09:16:36 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: 1814897 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4RDt1f1jpwz20GB for ; Mon, 31 Jul 2023 19:17:42 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232183AbjGaJRk (ORCPT ); Mon, 31 Jul 2023 05:17:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232058AbjGaJQx (ORCPT ); Mon, 31 Jul 2023 05:16:53 -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 76D3D126 for ; Mon, 31 Jul 2023 02:16:49 -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 1qQP1C-0000Cb-Ju; Mon, 31 Jul 2023 11:16:46 +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 1qQP1B-0005lM-TJ; Mon, 31 Jul 2023 11:16:45 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1qQP1A-009GVx-Uw; Mon, 31 Jul 2023 11:16:44 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Damien Le Moal Cc: Sergey Shtylyov , linux-ide@vger.kernel.org, linux-renesas-soc@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH 12/12] ata/sata_rcar: Convert to platform remove callback returning void Date: Mon, 31 Jul 2023 11:16:36 +0200 Message-Id: <20230731091636.693193-13-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> References: <20230731091636.693193-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1846; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=BS+HPWqvfpOOyfh762W1BEcrMJu/vYZRKWMg/5yzIIA=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkx3uL+qb/o+R3rCzSDrte8YLmWlyIL+7LO5gHl 2/kjB3WhS+JATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZMd7iwAKCRCPgPtYfRL+ TiKGB/9vi0RA/Hm7pYrZWn/yuZwc4Xqh6iiclc3N2DPxOTsRKh9HEut50dsIlo5TV62krShS5gB M5/8zbVlTzmkOtHtqYUWkpKQNqPucnyfDc/M0pyNE0Ibtbcdl8E3UtDoe1sKWEm+/DUsu+KBqRG uxfVxwOUTbvTQF64UA++6Rkda3KX1Do7zqj0ErC1gI7fgJ3/QgGkuBRA0YJuAf+9XCVY0mzmzto 1mJ9+2Pc4BqjDUPHFdOs/oOCszFvqZS6yTym2Uq2gBmzxBZxoqwWRTUblCkv1xi6ZWxRh6oVML9 FO2NuvxTOQhCDQTxJqQVAjEfU34CA6Ceix1N0n58u7HoQyOZ 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-ide@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ide@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önig Reviewed-by: Sergey Shtylyov --- drivers/ata/sata_rcar.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/ata/sata_rcar.c b/drivers/ata/sata_rcar.c index 34790f15c1b8..1a0752255959 100644 --- a/drivers/ata/sata_rcar.c +++ b/drivers/ata/sata_rcar.c @@ -914,7 +914,7 @@ static int sata_rcar_probe(struct platform_device *pdev) return ret; } -static int sata_rcar_remove(struct platform_device *pdev) +static void sata_rcar_remove(struct platform_device *pdev) { struct ata_host *host = platform_get_drvdata(pdev); struct sata_rcar_priv *priv = host->private_data; @@ -930,8 +930,6 @@ static int sata_rcar_remove(struct platform_device *pdev) pm_runtime_put(&pdev->dev); pm_runtime_disable(&pdev->dev); - - return 0; } #ifdef CONFIG_PM_SLEEP @@ -1016,7 +1014,7 @@ static const struct dev_pm_ops sata_rcar_pm_ops = { static struct platform_driver sata_rcar_driver = { .probe = sata_rcar_probe, - .remove = sata_rcar_remove, + .remove_new = sata_rcar_remove, .driver = { .name = DRV_NAME, .of_match_table = sata_rcar_match,