From patchwork Fri Dec 15 13:59: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: 13494494 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 A47FCC35274 for ; Fri, 15 Dec 2023 14:00:19 +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=4EGo2pjH24bnDuMMpZL6GGsnB/OhH6yd1+a7B157C/4=; b=gyJWq5mwhv+3og YcCIxcf4Ze4fsQ1yP6g6OcEvjRrCyHeJ2ImOTtzgb97OsRrmhrDuwAti+hGFMMRVKK5gUeGqnqKuX 4AM8qJpGRyfcp5Mv2qQAloadbdU01LhSmaMoeZXDX2PSRKh+NHxHK9+Wa91eC+0GsK2MDibYV32ek EtUM1Z+07TLvEUys/CHFRmWx3YzTX7j/UC+gBJ6vEhbb2zekn/JXh5Ui6pUyp/mQk62Fk4RCXN81f svO1d415PEwcgj983geIdqyd5mEO9XBYJR3iZ0tj8LJQyaRu0CpbNYrU1u/kp/IsgJn/CNebk2kux JSxJWnu5tKQUa6cfOvIQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rE8jD-003Su4-2F; Fri, 15 Dec 2023 13:59:47 +0000 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rE8iy-003SkL-2D for linux-arm-kernel@lists.infradead.org; Fri, 15 Dec 2023 13:59:34 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rE8iw-0002m9-KH; Fri, 15 Dec 2023 14:59:30 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rE8iw-00G2Zh-6a; Fri, 15 Dec 2023 14:59:30 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1rE8iv-003cCU-T8; Fri, 15 Dec 2023 14:59:29 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Will Deacon , Mark Rutland Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/18] perf: arm_dsu: Convert to platform remove callback returning void Date: Fri, 15 Dec 2023 14:59:08 +0100 Message-ID: <1eda5e216afcb0e26a50e9be112d4514ffd0844a.1702648125.git.u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1833; i=u.kleine-koenig@pengutronix.de; h=from:subject:message-id; bh=gKSz5agc738Ao0P2osYXM1UoZoFjy/rLUQ5L4iZFmyI=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBlfFuu4w/8xSjfL5Jy4Q+gBWkJl5quzF8u2c9EF ZSuJkFazxuJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZXxbrgAKCRCPgPtYfRL+ TnOwCACE2E0Wcd9duOUJS8zMVcNOKoztafxCDtZwFHXmU9Uad7QEAI0yl4pvEb5PKqJKWNqFfRO B3u9lOiEFQy6jStJIZMkq0RR5R0h4wwib+AX5JzwbARfq8QHxivZkuE8A/kcq5YaXJ50hkCSejm LWFWQEEFRBvD6lF52g6PwP7sEp9r5tBXGuNVh8tyzHqpUavxP9H1OesP84ffBqqhT++Y7VGllmu 5q19d8J7n3Zj1WZuDQWpwBP2m0dL7lc0c7eBSQY+1JX56nCLCCdUF+KwT+OidYq50NOcykRSCRR BlAt53FRc+G0RUFizKpv0L30X/+WSHiL0tpEFmZNWJSs0Q0v 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.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231215_055932_740607_01E42B90 X-CRM114-Status: GOOD ( 15.92 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=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 ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König --- drivers/perf/arm_dsu_pmu.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/perf/arm_dsu_pmu.c b/drivers/perf/arm_dsu_pmu.c index 7ec4498e312f..bae3ca37f846 100644 --- a/drivers/perf/arm_dsu_pmu.c +++ b/drivers/perf/arm_dsu_pmu.c @@ -774,14 +774,12 @@ static int dsu_pmu_device_probe(struct platform_device *pdev) return rc; } -static int dsu_pmu_device_remove(struct platform_device *pdev) +static void dsu_pmu_device_remove(struct platform_device *pdev) { struct dsu_pmu *dsu_pmu = platform_get_drvdata(pdev); perf_pmu_unregister(&dsu_pmu->pmu); cpuhp_state_remove_instance(dsu_pmu_cpuhp_state, &dsu_pmu->cpuhp_node); - - return 0; } static const struct of_device_id dsu_pmu_of_match[] = { @@ -806,7 +804,7 @@ static struct platform_driver dsu_pmu_driver = { .suppress_bind_attrs = true, }, .probe = dsu_pmu_device_probe, - .remove = dsu_pmu_device_remove, + .remove_new = dsu_pmu_device_remove, }; static int dsu_pmu_cpu_online(unsigned int cpu, struct hlist_node *node)