From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EC5D9C6FD19 for ; Sun, 12 Mar 2023 16:16:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230458AbjCLQQz (ORCPT ); Sun, 12 Mar 2023 12:16:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230157AbjCLQPr (ORCPT ); Sun, 12 Mar 2023 12:15:47 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BDB4F37B5D for ; Sun, 12 Mar 2023 09:15:31 -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 1pbOLw-0007nl-Sw; Sun, 12 Mar 2023 17:15:20 +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 1pbOLv-003f1X-Co; Sun, 12 Mar 2023 17:15:19 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLu-004K85-A2; Sun, 12 Mar 2023 17:15:18 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Matthias Brugger Cc: AngeloGioacchino Del Regno , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH 01/30] clk: mediatek: Make mtk_clk_simple_remove() return void Date: Sun, 12 Mar 2023 17:14:43 +0100 Message-Id: <20230312161512.2715500-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=65806; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=KsRbqheX8bGJCmbC01rWZIl2ibfXZY+kyfP/fFUm8go=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfoVJhBTw1f1/HjTZ0a9gjNMaJuup7459xZ/D TBLrXJQ2x+JATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36FQAKCRDB/BR4rcrs CSr2CACV3jMpjp8YkAwRgBTOVcgwIponDdsxhzRJcNGNgqC6HCMIM7br4MgeT09UNxMPumWirhJ hAEWldnPn8EeOwdnj9iXTwKycJwijT5n1TC3Bzg5ra2JlHM5OSn2TdTLuSs3gKzrsCAU2xGvUoa TzODX+cyutRzf1BXwz5VBvME8+rKT2nEjUq9P2kS6NPmEoFiX8qhyti5bKpbo58ryNLloIK7GTq e4Y/Ubf6PKOo1vgbWzy5+BdHC8HU8uMo8u54y6pN67OnmXnIyJPCilNsEiqV3tD+rudvXs514Et k7divILLGdQhCcheDZkKSj2UxNob6dL7zEN24CV4YX8WYKSQ X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org mtk_clk_simple_remove() returned zero unconditionally. Make it return no value instead and convert the respective drivers to .remove_new. This makes the semantics in the callers of mtk_clk_simple_remove() clearer and prepares for the quest to make platform driver's remove function return void. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/clk/mediatek/clk-mt2701-aud.c | 6 +++--- drivers/clk/mediatek/clk-mt2701-bdp.c | 2 +- drivers/clk/mediatek/clk-mt2701-eth.c | 2 +- drivers/clk/mediatek/clk-mt2701-g3d.c | 2 +- drivers/clk/mediatek/clk-mt2701-hif.c | 2 +- drivers/clk/mediatek/clk-mt2701-img.c | 2 +- drivers/clk/mediatek/clk-mt2701-vdec.c | 2 +- drivers/clk/mediatek/clk-mt2712-bdp.c | 2 +- drivers/clk/mediatek/clk-mt2712-img.c | 2 +- drivers/clk/mediatek/clk-mt2712-jpgdec.c | 2 +- drivers/clk/mediatek/clk-mt2712-mfg.c | 2 +- drivers/clk/mediatek/clk-mt2712-vdec.c | 2 +- drivers/clk/mediatek/clk-mt2712-venc.c | 2 +- drivers/clk/mediatek/clk-mt2712.c | 2 +- drivers/clk/mediatek/clk-mt6765-audio.c | 2 +- drivers/clk/mediatek/clk-mt6765-cam.c | 2 +- drivers/clk/mediatek/clk-mt6765-img.c | 2 +- drivers/clk/mediatek/clk-mt6765-mipi0a.c | 2 +- drivers/clk/mediatek/clk-mt6765-mm.c | 2 +- drivers/clk/mediatek/clk-mt6765-vcodec.c | 2 +- drivers/clk/mediatek/clk-mt6779-aud.c | 2 +- drivers/clk/mediatek/clk-mt6779-cam.c | 2 +- drivers/clk/mediatek/clk-mt6779-img.c | 2 +- drivers/clk/mediatek/clk-mt6779-ipe.c | 2 +- drivers/clk/mediatek/clk-mt6779-mfg.c | 2 +- drivers/clk/mediatek/clk-mt6779-vdec.c | 2 +- drivers/clk/mediatek/clk-mt6779-venc.c | 2 +- drivers/clk/mediatek/clk-mt6779.c | 2 +- drivers/clk/mediatek/clk-mt6795-mfg.c | 2 +- drivers/clk/mediatek/clk-mt6795-topckgen.c | 2 +- drivers/clk/mediatek/clk-mt6795-vdecsys.c | 2 +- drivers/clk/mediatek/clk-mt6795-vencsys.c | 2 +- drivers/clk/mediatek/clk-mt6797-img.c | 2 +- drivers/clk/mediatek/clk-mt6797-vdec.c | 2 +- drivers/clk/mediatek/clk-mt6797-venc.c | 2 +- drivers/clk/mediatek/clk-mt7622-aud.c | 6 +++--- drivers/clk/mediatek/clk-mt7622-eth.c | 2 +- drivers/clk/mediatek/clk-mt7622-hif.c | 2 +- drivers/clk/mediatek/clk-mt7629-hif.c | 2 +- drivers/clk/mediatek/clk-mt7981-eth.c | 2 +- drivers/clk/mediatek/clk-mt7981-infracfg.c | 2 +- drivers/clk/mediatek/clk-mt7981-topckgen.c | 2 +- drivers/clk/mediatek/clk-mt7986-topckgen.c | 2 +- drivers/clk/mediatek/clk-mt8173-img.c | 2 +- drivers/clk/mediatek/clk-mt8173-pericfg.c | 2 +- drivers/clk/mediatek/clk-mt8173-topckgen.c | 2 +- drivers/clk/mediatek/clk-mt8173-vdecsys.c | 2 +- drivers/clk/mediatek/clk-mt8173-vencsys.c | 2 +- drivers/clk/mediatek/clk-mt8183-audio.c | 6 +++--- drivers/clk/mediatek/clk-mt8183-cam.c | 2 +- drivers/clk/mediatek/clk-mt8183-img.c | 2 +- drivers/clk/mediatek/clk-mt8183-ipu0.c | 2 +- drivers/clk/mediatek/clk-mt8183-ipu1.c | 2 +- drivers/clk/mediatek/clk-mt8183-ipu_adl.c | 2 +- drivers/clk/mediatek/clk-mt8183-ipu_conn.c | 2 +- drivers/clk/mediatek/clk-mt8183-mfgcfg.c | 2 +- drivers/clk/mediatek/clk-mt8183-vdec.c | 2 +- drivers/clk/mediatek/clk-mt8183-venc.c | 2 +- drivers/clk/mediatek/clk-mt8183.c | 2 +- drivers/clk/mediatek/clk-mt8186-cam.c | 2 +- drivers/clk/mediatek/clk-mt8186-img.c | 2 +- drivers/clk/mediatek/clk-mt8186-imp_iic_wrap.c | 2 +- drivers/clk/mediatek/clk-mt8186-infra_ao.c | 2 +- drivers/clk/mediatek/clk-mt8186-ipe.c | 2 +- drivers/clk/mediatek/clk-mt8186-mdp.c | 2 +- drivers/clk/mediatek/clk-mt8186-mfg.c | 2 +- drivers/clk/mediatek/clk-mt8186-topckgen.c | 2 +- drivers/clk/mediatek/clk-mt8186-vdec.c | 2 +- drivers/clk/mediatek/clk-mt8186-venc.c | 2 +- drivers/clk/mediatek/clk-mt8186-wpe.c | 2 +- drivers/clk/mediatek/clk-mt8192-aud.c | 6 +++--- drivers/clk/mediatek/clk-mt8192-cam.c | 2 +- drivers/clk/mediatek/clk-mt8192-img.c | 2 +- drivers/clk/mediatek/clk-mt8192-imp_iic_wrap.c | 2 +- drivers/clk/mediatek/clk-mt8192-ipe.c | 2 +- drivers/clk/mediatek/clk-mt8192-mdp.c | 2 +- drivers/clk/mediatek/clk-mt8192-mfg.c | 2 +- drivers/clk/mediatek/clk-mt8192-msdc.c | 2 +- drivers/clk/mediatek/clk-mt8192-scp_adsp.c | 2 +- drivers/clk/mediatek/clk-mt8192-vdec.c | 2 +- drivers/clk/mediatek/clk-mt8192-venc.c | 2 +- drivers/clk/mediatek/clk-mt8192.c | 2 +- drivers/clk/mediatek/clk-mt8195-cam.c | 2 +- drivers/clk/mediatek/clk-mt8195-ccu.c | 2 +- drivers/clk/mediatek/clk-mt8195-img.c | 2 +- drivers/clk/mediatek/clk-mt8195-imp_iic_wrap.c | 2 +- drivers/clk/mediatek/clk-mt8195-infra_ao.c | 2 +- drivers/clk/mediatek/clk-mt8195-ipe.c | 2 +- drivers/clk/mediatek/clk-mt8195-mfg.c | 2 +- drivers/clk/mediatek/clk-mt8195-peri_ao.c | 2 +- drivers/clk/mediatek/clk-mt8195-scp_adsp.c | 2 +- drivers/clk/mediatek/clk-mt8195-vdec.c | 2 +- drivers/clk/mediatek/clk-mt8195-venc.c | 2 +- drivers/clk/mediatek/clk-mt8195-wpe.c | 2 +- drivers/clk/mediatek/clk-mt8365-apu.c | 2 +- drivers/clk/mediatek/clk-mt8365-cam.c | 2 +- drivers/clk/mediatek/clk-mt8365-mfg.c | 2 +- drivers/clk/mediatek/clk-mt8365-vdec.c | 2 +- drivers/clk/mediatek/clk-mt8365-venc.c | 2 +- drivers/clk/mediatek/clk-mtk.c | 4 +--- drivers/clk/mediatek/clk-mtk.h | 2 +- 101 files changed, 109 insertions(+), 111 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt2701-aud.c b/drivers/clk/mediatek/c= lk-mt2701-aud.c index 1a32d8b7db84..218c7586983a 100644 --- a/drivers/clk/mediatek/clk-mt2701-aud.c +++ b/drivers/clk/mediatek/clk-mt2701-aud.c @@ -173,15 +173,15 @@ static int clk_mt2701_aud_probe(struct platform_devic= e *pdev) return r; } =20 -static int clk_mt2701_aud_remove(struct platform_device *pdev) +static void clk_mt2701_aud_remove(struct platform_device *pdev) { of_platform_depopulate(&pdev->dev); - return mtk_clk_simple_remove(pdev); + mtk_clk_simple_remove(pdev); } =20 static struct platform_driver clk_mt2701_aud_drv =3D { .probe =3D clk_mt2701_aud_probe, - .remove =3D clk_mt2701_aud_remove, + .remove_new =3D clk_mt2701_aud_remove, .driver =3D { .name =3D "clk-mt2701-aud", .of_match_table =3D of_match_clk_mt2701_aud, diff --git a/drivers/clk/mediatek/clk-mt2701-bdp.c b/drivers/clk/mediatek/c= lk-mt2701-bdp.c index 435ed4819d56..cf6a07de5dcb 100644 --- a/drivers/clk/mediatek/clk-mt2701-bdp.c +++ b/drivers/clk/mediatek/clk-mt2701-bdp.c @@ -110,7 +110,7 @@ static const struct of_device_id of_match_clk_mt2701_bd= p[] =3D { =20 static struct platform_driver clk_mt2701_bdp_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2701-bdp", .of_match_table =3D of_match_clk_mt2701_bdp, diff --git a/drivers/clk/mediatek/clk-mt2701-eth.c b/drivers/clk/mediatek/c= lk-mt2701-eth.c index f3cb78e7f6e9..92576bdb8a5b 100644 --- a/drivers/clk/mediatek/clk-mt2701-eth.c +++ b/drivers/clk/mediatek/clk-mt2701-eth.c @@ -58,7 +58,7 @@ static const struct of_device_id of_match_clk_mt2701_eth[= ] =3D { =20 static struct platform_driver clk_mt2701_eth_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2701-eth", .of_match_table =3D of_match_clk_mt2701_eth, diff --git a/drivers/clk/mediatek/clk-mt2701-g3d.c b/drivers/clk/mediatek/c= lk-mt2701-g3d.c index 499a170ba5f9..e5ba06c1b6c4 100644 --- a/drivers/clk/mediatek/clk-mt2701-g3d.c +++ b/drivers/clk/mediatek/clk-mt2701-g3d.c @@ -57,7 +57,7 @@ static const struct of_device_id of_match_clk_mt2701_g3d[= ] =3D { =20 static struct platform_driver clk_mt2701_g3d_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2701-g3d", .of_match_table =3D of_match_clk_mt2701_g3d, diff --git a/drivers/clk/mediatek/clk-mt2701-hif.c b/drivers/clk/mediatek/c= lk-mt2701-hif.c index d5465d782993..466829edd490 100644 --- a/drivers/clk/mediatek/clk-mt2701-hif.c +++ b/drivers/clk/mediatek/clk-mt2701-hif.c @@ -55,7 +55,7 @@ static const struct of_device_id of_match_clk_mt2701_hif[= ] =3D { =20 static struct platform_driver clk_mt2701_hif_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2701-hif", .of_match_table =3D of_match_clk_mt2701_hif, diff --git a/drivers/clk/mediatek/clk-mt2701-img.c b/drivers/clk/mediatek/c= lk-mt2701-img.c index 7e53deb7f990..44df1addc9f5 100644 --- a/drivers/clk/mediatek/clk-mt2701-img.c +++ b/drivers/clk/mediatek/clk-mt2701-img.c @@ -52,7 +52,7 @@ static const struct of_device_id of_match_clk_mt2701_img[= ] =3D { =20 static struct platform_driver clk_mt2701_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2701-img", .of_match_table =3D of_match_clk_mt2701_img, diff --git a/drivers/clk/mediatek/clk-mt2701-vdec.c b/drivers/clk/mediatek/= clk-mt2701-vdec.c index d3089da0ab62..923c43ddee30 100644 --- a/drivers/clk/mediatek/clk-mt2701-vdec.c +++ b/drivers/clk/mediatek/clk-mt2701-vdec.c @@ -63,7 +63,7 @@ static const struct of_device_id of_match_clk_mt2701_vdec= [] =3D { =20 static struct platform_driver clk_mt2701_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2701-vdec", .of_match_table =3D of_match_clk_mt2701_vdec, diff --git a/drivers/clk/mediatek/clk-mt2712-bdp.c b/drivers/clk/mediatek/c= lk-mt2712-bdp.c index 684d03e9f6de..3c42427c765a 100644 --- a/drivers/clk/mediatek/clk-mt2712-bdp.c +++ b/drivers/clk/mediatek/clk-mt2712-bdp.c @@ -74,7 +74,7 @@ static const struct of_device_id of_match_clk_mt2712_bdp[= ] =3D { =20 static struct platform_driver clk_mt2712_bdp_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2712-bdp", .of_match_table =3D of_match_clk_mt2712_bdp, diff --git a/drivers/clk/mediatek/clk-mt2712-img.c b/drivers/clk/mediatek/c= lk-mt2712-img.c index 335049cdc856..41c928024e75 100644 --- a/drivers/clk/mediatek/clk-mt2712-img.c +++ b/drivers/clk/mediatek/clk-mt2712-img.c @@ -52,7 +52,7 @@ static const struct of_device_id of_match_clk_mt2712_img[= ] =3D { =20 static struct platform_driver clk_mt2712_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2712-img", .of_match_table =3D of_match_clk_mt2712_img, diff --git a/drivers/clk/mediatek/clk-mt2712-jpgdec.c b/drivers/clk/mediate= k/clk-mt2712-jpgdec.c index 07ba7c5e80af..af133ab42296 100644 --- a/drivers/clk/mediatek/clk-mt2712-jpgdec.c +++ b/drivers/clk/mediatek/clk-mt2712-jpgdec.c @@ -48,7 +48,7 @@ static const struct of_device_id of_match_clk_mt2712_jpgd= ec[] =3D { =20 static struct platform_driver clk_mt2712_jpgdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2712-jpgdec", .of_match_table =3D of_match_clk_mt2712_jpgdec, diff --git a/drivers/clk/mediatek/clk-mt2712-mfg.c b/drivers/clk/mediatek/c= lk-mt2712-mfg.c index 42f8cf3ecf4c..d20b7d025e47 100644 --- a/drivers/clk/mediatek/clk-mt2712-mfg.c +++ b/drivers/clk/mediatek/clk-mt2712-mfg.c @@ -47,7 +47,7 @@ static const struct of_device_id of_match_clk_mt2712_mfg[= ] =3D { =20 static struct platform_driver clk_mt2712_mfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2712-mfg", .of_match_table =3D of_match_clk_mt2712_mfg, diff --git a/drivers/clk/mediatek/clk-mt2712-vdec.c b/drivers/clk/mediatek/= clk-mt2712-vdec.c index 6296ed5c5b55..74ebe298c52e 100644 --- a/drivers/clk/mediatek/clk-mt2712-vdec.c +++ b/drivers/clk/mediatek/clk-mt2712-vdec.c @@ -66,7 +66,7 @@ static const struct of_device_id of_match_clk_mt2712_vdec= [] =3D { =20 static struct platform_driver clk_mt2712_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2712-vdec", .of_match_table =3D of_match_clk_mt2712_vdec, diff --git a/drivers/clk/mediatek/clk-mt2712-venc.c b/drivers/clk/mediatek/= clk-mt2712-venc.c index b9bfc35de629..64cda87875ce 100644 --- a/drivers/clk/mediatek/clk-mt2712-venc.c +++ b/drivers/clk/mediatek/clk-mt2712-venc.c @@ -49,7 +49,7 @@ static const struct of_device_id of_match_clk_mt2712_venc= [] =3D { =20 static struct platform_driver clk_mt2712_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2712-venc", .of_match_table =3D of_match_clk_mt2712_venc, diff --git a/drivers/clk/mediatek/clk-mt2712.c b/drivers/clk/mediatek/clk-m= t2712.c index 94f8fc2a4f7b..07f5cf8b0040 100644 --- a/drivers/clk/mediatek/clk-mt2712.c +++ b/drivers/clk/mediatek/clk-mt2712.c @@ -1446,7 +1446,7 @@ static const struct of_device_id of_match_clk_mt2712_= simple[] =3D { =20 static struct platform_driver clk_mt2712_simple_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt2712-simple", .of_match_table =3D of_match_clk_mt2712_simple, diff --git a/drivers/clk/mediatek/clk-mt6765-audio.c b/drivers/clk/mediatek= /clk-mt6765-audio.c index 0aa6c0d352ca..504812cf4647 100644 --- a/drivers/clk/mediatek/clk-mt6765-audio.c +++ b/drivers/clk/mediatek/clk-mt6765-audio.c @@ -80,7 +80,7 @@ static const struct of_device_id of_match_clk_mt6765_audi= o[] =3D { =20 static struct platform_driver clk_mt6765_audio_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6765-audio", .of_match_table =3D of_match_clk_mt6765_audio, diff --git a/drivers/clk/mediatek/clk-mt6765-cam.c b/drivers/clk/mediatek/c= lk-mt6765-cam.c index 25f2bef38126..1e0de9422aaa 100644 --- a/drivers/clk/mediatek/clk-mt6765-cam.c +++ b/drivers/clk/mediatek/clk-mt6765-cam.c @@ -55,7 +55,7 @@ static const struct of_device_id of_match_clk_mt6765_cam[= ] =3D { =20 static struct platform_driver clk_mt6765_cam_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6765-cam", .of_match_table =3D of_match_clk_mt6765_cam, diff --git a/drivers/clk/mediatek/clk-mt6765-img.c b/drivers/clk/mediatek/c= lk-mt6765-img.c index a62303ef4f41..284133aac909 100644 --- a/drivers/clk/mediatek/clk-mt6765-img.c +++ b/drivers/clk/mediatek/clk-mt6765-img.c @@ -51,7 +51,7 @@ static const struct of_device_id of_match_clk_mt6765_img[= ] =3D { =20 static struct platform_driver clk_mt6765_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6765-img", .of_match_table =3D of_match_clk_mt6765_img, diff --git a/drivers/clk/mediatek/clk-mt6765-mipi0a.c b/drivers/clk/mediate= k/clk-mt6765-mipi0a.c index 25c829fc3866..ad543b601023 100644 --- a/drivers/clk/mediatek/clk-mt6765-mipi0a.c +++ b/drivers/clk/mediatek/clk-mt6765-mipi0a.c @@ -48,7 +48,7 @@ static const struct of_device_id of_match_clk_mt6765_mipi= 0a[] =3D { =20 static struct platform_driver clk_mt6765_mipi0a_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6765-mipi0a", .of_match_table =3D of_match_clk_mt6765_mipi0a, diff --git a/drivers/clk/mediatek/clk-mt6765-mm.c b/drivers/clk/mediatek/cl= k-mt6765-mm.c index bda774668a36..ef05a7283b4d 100644 --- a/drivers/clk/mediatek/clk-mt6765-mm.c +++ b/drivers/clk/mediatek/clk-mt6765-mm.c @@ -77,7 +77,7 @@ static const struct of_device_id of_match_clk_mt6765_mm[]= =3D { =20 static struct platform_driver clk_mt6765_mm_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6765-mm", .of_match_table =3D of_match_clk_mt6765_mm, diff --git a/drivers/clk/mediatek/clk-mt6765-vcodec.c b/drivers/clk/mediate= k/clk-mt6765-vcodec.c index 2bc1fbde87da..87ddfdafaa7a 100644 --- a/drivers/clk/mediatek/clk-mt6765-vcodec.c +++ b/drivers/clk/mediatek/clk-mt6765-vcodec.c @@ -50,7 +50,7 @@ static const struct of_device_id of_match_clk_mt6765_vcod= ec[] =3D { =20 static struct platform_driver clk_mt6765_vcodec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6765-vcodec", .of_match_table =3D of_match_clk_mt6765_vcodec, diff --git a/drivers/clk/mediatek/clk-mt6779-aud.c b/drivers/clk/mediatek/c= lk-mt6779-aud.c index 6e473ae1fd90..03a258682ff7 100644 --- a/drivers/clk/mediatek/clk-mt6779-aud.c +++ b/drivers/clk/mediatek/clk-mt6779-aud.c @@ -105,7 +105,7 @@ static const struct of_device_id of_match_clk_mt6779_au= d[] =3D { =20 static struct platform_driver clk_mt6779_aud_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-aud", .of_match_table =3D of_match_clk_mt6779_aud, diff --git a/drivers/clk/mediatek/clk-mt6779-cam.c b/drivers/clk/mediatek/c= lk-mt6779-cam.c index 7be3db90fa4a..b57f577e28dd 100644 --- a/drivers/clk/mediatek/clk-mt6779-cam.c +++ b/drivers/clk/mediatek/clk-mt6779-cam.c @@ -54,7 +54,7 @@ static const struct of_device_id of_match_clk_mt6779_cam[= ] =3D { =20 static struct platform_driver clk_mt6779_cam_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-cam", .of_match_table =3D of_match_clk_mt6779_cam, diff --git a/drivers/clk/mediatek/clk-mt6779-img.c b/drivers/clk/mediatek/c= lk-mt6779-img.c index 9bc51fc82dbd..468c254be1cc 100644 --- a/drivers/clk/mediatek/clk-mt6779-img.c +++ b/drivers/clk/mediatek/clk-mt6779-img.c @@ -46,7 +46,7 @@ static const struct of_device_id of_match_clk_mt6779_img[= ] =3D { =20 static struct platform_driver clk_mt6779_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-img", .of_match_table =3D of_match_clk_mt6779_img, diff --git a/drivers/clk/mediatek/clk-mt6779-ipe.c b/drivers/clk/mediatek/c= lk-mt6779-ipe.c index 92e9d1ade422..b7d3c25f6f8e 100644 --- a/drivers/clk/mediatek/clk-mt6779-ipe.c +++ b/drivers/clk/mediatek/clk-mt6779-ipe.c @@ -48,7 +48,7 @@ static const struct of_device_id of_match_clk_mt6779_ipe[= ] =3D { =20 static struct platform_driver clk_mt6779_ipe_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-ipe", .of_match_table =3D of_match_clk_mt6779_ipe, diff --git a/drivers/clk/mediatek/clk-mt6779-mfg.c b/drivers/clk/mediatek/c= lk-mt6779-mfg.c index efc793a1969a..b60868e03d63 100644 --- a/drivers/clk/mediatek/clk-mt6779-mfg.c +++ b/drivers/clk/mediatek/clk-mt6779-mfg.c @@ -43,7 +43,7 @@ static const struct of_device_id of_match_clk_mt6779_mfg[= ] =3D { =20 static struct platform_driver clk_mt6779_mfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-mfg", .of_match_table =3D of_match_clk_mt6779_mfg, diff --git a/drivers/clk/mediatek/clk-mt6779-vdec.c b/drivers/clk/mediatek/= clk-mt6779-vdec.c index 3209a6518d5b..24e8064795bd 100644 --- a/drivers/clk/mediatek/clk-mt6779-vdec.c +++ b/drivers/clk/mediatek/clk-mt6779-vdec.c @@ -55,7 +55,7 @@ static const struct of_device_id of_match_clk_mt6779_vdec= [] =3D { =20 static struct platform_driver clk_mt6779_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-vdec", .of_match_table =3D of_match_clk_mt6779_vdec, diff --git a/drivers/clk/mediatek/clk-mt6779-venc.c b/drivers/clk/mediatek/= clk-mt6779-venc.c index c25035c0f334..f51e1299ce26 100644 --- a/drivers/clk/mediatek/clk-mt6779-venc.c +++ b/drivers/clk/mediatek/clk-mt6779-venc.c @@ -46,7 +46,7 @@ static const struct of_device_id of_match_clk_mt6779_venc= [] =3D { =20 static struct platform_driver clk_mt6779_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-venc", .of_match_table =3D of_match_clk_mt6779_venc, diff --git a/drivers/clk/mediatek/clk-mt6779.c b/drivers/clk/mediatek/clk-m= t6779.c index 827025d127d9..63b7d68de13b 100644 --- a/drivers/clk/mediatek/clk-mt6779.c +++ b/drivers/clk/mediatek/clk-mt6779.c @@ -1302,7 +1302,7 @@ static const struct of_device_id of_match_clk_mt6779_= infra[] =3D { =20 static struct platform_driver clk_mt6779_infra_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6779-infra", .of_match_table =3D of_match_clk_mt6779_infra, diff --git a/drivers/clk/mediatek/clk-mt6795-mfg.c b/drivers/clk/mediatek/c= lk-mt6795-mfg.c index ee7aab24eb24..239c2a286cc4 100644 --- a/drivers/clk/mediatek/clk-mt6795-mfg.c +++ b/drivers/clk/mediatek/clk-mt6795-mfg.c @@ -42,7 +42,7 @@ static struct platform_driver clk_mt6795_mfg_drv =3D { .of_match_table =3D of_match_clk_mt6795_mfg, }, .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, }; module_platform_driver(clk_mt6795_mfg_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt6795-topckgen.c b/drivers/clk/media= tek/clk-mt6795-topckgen.c index e80fa588e309..7e54233e7b19 100644 --- a/drivers/clk/mediatek/clk-mt6795-topckgen.c +++ b/drivers/clk/mediatek/clk-mt6795-topckgen.c @@ -546,7 +546,7 @@ static struct platform_driver clk_mt6795_topckgen_drv = =3D { .of_match_table =3D of_match_clk_mt6795_topckgen, }, .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, }; module_platform_driver(clk_mt6795_topckgen_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt6795-vdecsys.c b/drivers/clk/mediat= ek/clk-mt6795-vdecsys.c index d85d04e0d016..bbc800512ac5 100644 --- a/drivers/clk/mediatek/clk-mt6795-vdecsys.c +++ b/drivers/clk/mediatek/clk-mt6795-vdecsys.c @@ -43,7 +43,7 @@ static const struct of_device_id of_match_clk_mt6795_vdec= sys[] =3D { =20 static struct platform_driver clk_mt6795_vdecsys_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6795-vdecsys", .of_match_table =3D of_match_clk_mt6795_vdecsys, diff --git a/drivers/clk/mediatek/clk-mt6795-vencsys.c b/drivers/clk/mediat= ek/clk-mt6795-vencsys.c index de40a982ca96..5eb6fd540d13 100644 --- a/drivers/clk/mediatek/clk-mt6795-vencsys.c +++ b/drivers/clk/mediatek/clk-mt6795-vencsys.c @@ -42,7 +42,7 @@ static struct platform_driver clk_mt6795_vencsys_drv =3D { .of_match_table =3D of_match_clk_mt6795_vencsys, }, .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, }; module_platform_driver(clk_mt6795_vencsys_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt6797-img.c b/drivers/clk/mediatek/c= lk-mt6797-img.c index 7c6a53fbb8be..eddf9ab1d443 100644 --- a/drivers/clk/mediatek/clk-mt6797-img.c +++ b/drivers/clk/mediatek/clk-mt6797-img.c @@ -48,7 +48,7 @@ static const struct of_device_id of_match_clk_mt6797_img[= ] =3D { =20 static struct platform_driver clk_mt6797_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6797-img", .of_match_table =3D of_match_clk_mt6797_img, diff --git a/drivers/clk/mediatek/clk-mt6797-vdec.c b/drivers/clk/mediatek/= clk-mt6797-vdec.c index 6120fccc859f..983471d71d0e 100644 --- a/drivers/clk/mediatek/clk-mt6797-vdec.c +++ b/drivers/clk/mediatek/clk-mt6797-vdec.c @@ -65,7 +65,7 @@ static const struct of_device_id of_match_clk_mt6797_vdec= [] =3D { =20 static struct platform_driver clk_mt6797_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6797-vdec", .of_match_table =3D of_match_clk_mt6797_vdec, diff --git a/drivers/clk/mediatek/clk-mt6797-venc.c b/drivers/clk/mediatek/= clk-mt6797-venc.c index 834d3834d2bb..1120e25ef10f 100644 --- a/drivers/clk/mediatek/clk-mt6797-venc.c +++ b/drivers/clk/mediatek/clk-mt6797-venc.c @@ -50,7 +50,7 @@ static const struct of_device_id of_match_clk_mt6797_venc= [] =3D { =20 static struct platform_driver clk_mt6797_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt6797-venc", .of_match_table =3D of_match_clk_mt6797_venc, diff --git a/drivers/clk/mediatek/clk-mt7622-aud.c b/drivers/clk/mediatek/c= lk-mt7622-aud.c index b8aabfeb1cba..663680f6f1cd 100644 --- a/drivers/clk/mediatek/clk-mt7622-aud.c +++ b/drivers/clk/mediatek/clk-mt7622-aud.c @@ -159,10 +159,10 @@ static int clk_mt7622_aud_probe(struct platform_devic= e *pdev) return r; } =20 -static int clk_mt7622_aud_remove(struct platform_device *pdev) +static void clk_mt7622_aud_remove(struct platform_device *pdev) { of_platform_depopulate(&pdev->dev); - return mtk_clk_simple_remove(pdev); + mtk_clk_simple_remove(pdev); } =20 static const struct of_device_id of_match_clk_mt7622_aud[] =3D { @@ -172,7 +172,7 @@ static const struct of_device_id of_match_clk_mt7622_au= d[] =3D { =20 static struct platform_driver clk_mt7622_aud_drv =3D { .probe =3D clk_mt7622_aud_probe, - .remove =3D clk_mt7622_aud_remove, + .remove_new =3D clk_mt7622_aud_remove, .driver =3D { .name =3D "clk-mt7622-aud", .of_match_table =3D of_match_clk_mt7622_aud, diff --git a/drivers/clk/mediatek/clk-mt7622-eth.c b/drivers/clk/mediatek/c= lk-mt7622-eth.c index aee583fa77d0..bb98c3d21968 100644 --- a/drivers/clk/mediatek/clk-mt7622-eth.c +++ b/drivers/clk/mediatek/clk-mt7622-eth.c @@ -92,7 +92,7 @@ static const struct of_device_id of_match_clk_mt7622_eth[= ] =3D { =20 static struct platform_driver clk_mt7622_eth_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt7622-eth", .of_match_table =3D of_match_clk_mt7622_eth, diff --git a/drivers/clk/mediatek/clk-mt7622-hif.c b/drivers/clk/mediatek/c= lk-mt7622-hif.c index ab5cad0c2b1c..b3673838b04b 100644 --- a/drivers/clk/mediatek/clk-mt7622-hif.c +++ b/drivers/clk/mediatek/clk-mt7622-hif.c @@ -104,7 +104,7 @@ static const struct of_device_id of_match_clk_mt7622_hi= f[] =3D { =20 static struct platform_driver clk_mt7622_hif_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt7622-hif", .of_match_table =3D of_match_clk_mt7622_hif, diff --git a/drivers/clk/mediatek/clk-mt7629-hif.c b/drivers/clk/mediatek/c= lk-mt7629-hif.c index c3eb09ea6036..879c449be122 100644 --- a/drivers/clk/mediatek/clk-mt7629-hif.c +++ b/drivers/clk/mediatek/clk-mt7629-hif.c @@ -99,7 +99,7 @@ static const struct of_device_id of_match_clk_mt7629_hif[= ] =3D { =20 static struct platform_driver clk_mt7629_hif_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt7629-hif", .of_match_table =3D of_match_clk_mt7629_hif, diff --git a/drivers/clk/mediatek/clk-mt7981-eth.c b/drivers/clk/mediatek/c= lk-mt7981-eth.c index 773350911be2..8c95713e0e32 100644 --- a/drivers/clk/mediatek/clk-mt7981-eth.c +++ b/drivers/clk/mediatek/clk-mt7981-eth.c @@ -108,7 +108,7 @@ static const struct of_device_id of_match_clk_mt7981_et= h[] =3D { =20 static struct platform_driver clk_mt7981_eth_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt7981-eth", .of_match_table =3D of_match_clk_mt7981_eth, diff --git a/drivers/clk/mediatek/clk-mt7981-infracfg.c b/drivers/clk/media= tek/clk-mt7981-infracfg.c index 8cf5057419e8..15b84919afe0 100644 --- a/drivers/clk/mediatek/clk-mt7981-infracfg.c +++ b/drivers/clk/mediatek/clk-mt7981-infracfg.c @@ -198,7 +198,7 @@ static const struct of_device_id of_match_clk_mt7981_in= fracfg[] =3D { =20 static struct platform_driver clk_mt7981_infracfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt7981-infracfg", .of_match_table =3D of_match_clk_mt7981_infracfg, diff --git a/drivers/clk/mediatek/clk-mt7981-topckgen.c b/drivers/clk/media= tek/clk-mt7981-topckgen.c index 74634d65f5f6..7ed7d8bff245 100644 --- a/drivers/clk/mediatek/clk-mt7981-topckgen.c +++ b/drivers/clk/mediatek/clk-mt7981-topckgen.c @@ -413,7 +413,7 @@ static const struct of_device_id of_match_clk_mt7981_to= pckgen[] =3D { =20 static struct platform_driver clk_mt7981_topckgen_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt7981-topckgen", .of_match_table =3D of_match_clk_mt7981_topckgen, diff --git a/drivers/clk/mediatek/clk-mt7986-topckgen.c b/drivers/clk/media= tek/clk-mt7986-topckgen.c index dff9976fa689..ac793027c903 100644 --- a/drivers/clk/mediatek/clk-mt7986-topckgen.c +++ b/drivers/clk/mediatek/clk-mt7986-topckgen.c @@ -307,7 +307,7 @@ static const struct of_device_id of_match_clk_mt7986_to= pckgen[] =3D { =20 static struct platform_driver clk_mt7986_topckgen_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt7986-topckgen", .of_match_table =3D of_match_clk_mt7986_topckgen, diff --git a/drivers/clk/mediatek/clk-mt8173-img.c b/drivers/clk/mediatek/c= lk-mt8173-img.c index 7b50ffb7a8a5..f5fe7b6bd066 100644 --- a/drivers/clk/mediatek/clk-mt8173-img.c +++ b/drivers/clk/mediatek/clk-mt8173-img.c @@ -43,7 +43,7 @@ static const struct of_device_id of_match_clk_mt8173_imgs= ys[] =3D { =20 static struct platform_driver clk_mt8173_vdecsys_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8173-imgsys", .of_match_table =3D of_match_clk_mt8173_imgsys, diff --git a/drivers/clk/mediatek/clk-mt8173-pericfg.c b/drivers/clk/mediat= ek/clk-mt8173-pericfg.c index e87294b72c2c..a8f7b744af60 100644 --- a/drivers/clk/mediatek/clk-mt8173-pericfg.c +++ b/drivers/clk/mediatek/clk-mt8173-pericfg.c @@ -114,7 +114,7 @@ static struct platform_driver clk_mt8173_pericfg_drv = =3D { .of_match_table =3D of_match_clk_mt8173_pericfg, }, .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, }; module_platform_driver(clk_mt8173_pericfg_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt8173-topckgen.c b/drivers/clk/media= tek/clk-mt8173-topckgen.c index 257961528fe2..32d5d8a822f5 100644 --- a/drivers/clk/mediatek/clk-mt8173-topckgen.c +++ b/drivers/clk/mediatek/clk-mt8173-topckgen.c @@ -645,7 +645,7 @@ static struct platform_driver clk_mt8173_topckgen_drv = =3D { .of_match_table =3D of_match_clk_mt8173_topckgen, }, .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, }; module_platform_driver(clk_mt8173_topckgen_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt8173-vdecsys.c b/drivers/clk/mediat= ek/clk-mt8173-vdecsys.c index 5105b8e0969d..0d3f1eb1c3d1 100644 --- a/drivers/clk/mediatek/clk-mt8173-vdecsys.c +++ b/drivers/clk/mediatek/clk-mt8173-vdecsys.c @@ -45,7 +45,7 @@ static const struct of_device_id of_match_clk_mt8173_vdec= sys[] =3D { =20 static struct platform_driver clk_mt8173_vdecsys_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8173-vdecsys", .of_match_table =3D of_match_clk_mt8173_vdecsys, diff --git a/drivers/clk/mediatek/clk-mt8173-vencsys.c b/drivers/clk/mediat= ek/clk-mt8173-vencsys.c index ff4f1cb735de..aefd9a46e991 100644 --- a/drivers/clk/mediatek/clk-mt8173-vencsys.c +++ b/drivers/clk/mediatek/clk-mt8173-vencsys.c @@ -56,7 +56,7 @@ static struct platform_driver clk_mt8173_vencsys_drv =3D { .of_match_table =3D of_match_clk_mt8173_vencsys, }, .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, }; module_platform_driver(clk_mt8173_vencsys_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt8183-audio.c b/drivers/clk/mediatek= /clk-mt8183-audio.c index 3f1630290b93..b53ec528bf8f 100644 --- a/drivers/clk/mediatek/clk-mt8183-audio.c +++ b/drivers/clk/mediatek/clk-mt8183-audio.c @@ -87,10 +87,10 @@ static int clk_mt8183_audio_probe(struct platform_devic= e *pdev) return r; } =20 -static int clk_mt8183_audio_remove(struct platform_device *pdev) +static void clk_mt8183_audio_remove(struct platform_device *pdev) { of_platform_depopulate(&pdev->dev); - return mtk_clk_simple_remove(pdev); + mtk_clk_simple_remove(pdev); } =20 static const struct of_device_id of_match_clk_mt8183_audio[] =3D { @@ -100,7 +100,7 @@ static const struct of_device_id of_match_clk_mt8183_au= dio[] =3D { =20 static struct platform_driver clk_mt8183_audio_drv =3D { .probe =3D clk_mt8183_audio_probe, - .remove =3D clk_mt8183_audio_remove, + .remove_new =3D clk_mt8183_audio_remove, .driver =3D { .name =3D "clk-mt8183-audio", .of_match_table =3D of_match_clk_mt8183_audio, diff --git a/drivers/clk/mediatek/clk-mt8183-cam.c b/drivers/clk/mediatek/c= lk-mt8183-cam.c index 6907b1a6a824..d3f41f7017e2 100644 --- a/drivers/clk/mediatek/clk-mt8183-cam.c +++ b/drivers/clk/mediatek/clk-mt8183-cam.c @@ -50,7 +50,7 @@ static const struct of_device_id of_match_clk_mt8183_cam[= ] =3D { =20 static struct platform_driver clk_mt8183_cam_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-cam", .of_match_table =3D of_match_clk_mt8183_cam, diff --git a/drivers/clk/mediatek/clk-mt8183-img.c b/drivers/clk/mediatek/c= lk-mt8183-img.c index 8d884425d79f..8561c8c46481 100644 --- a/drivers/clk/mediatek/clk-mt8183-img.c +++ b/drivers/clk/mediatek/clk-mt8183-img.c @@ -50,7 +50,7 @@ static const struct of_device_id of_match_clk_mt8183_img[= ] =3D { =20 static struct platform_driver clk_mt8183_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-img", .of_match_table =3D of_match_clk_mt8183_img, diff --git a/drivers/clk/mediatek/clk-mt8183-ipu0.c b/drivers/clk/mediatek/= clk-mt8183-ipu0.c index 953a8a33d048..0076998307b7 100644 --- a/drivers/clk/mediatek/clk-mt8183-ipu0.c +++ b/drivers/clk/mediatek/clk-mt8183-ipu0.c @@ -43,7 +43,7 @@ static const struct of_device_id of_match_clk_mt8183_ipu_= core0[] =3D { =20 static struct platform_driver clk_mt8183_ipu_core0_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-ipu_core0", .of_match_table =3D of_match_clk_mt8183_ipu_core0, diff --git a/drivers/clk/mediatek/clk-mt8183-ipu1.c b/drivers/clk/mediatek/= clk-mt8183-ipu1.c index 221d12265974..b92d177d9473 100644 --- a/drivers/clk/mediatek/clk-mt8183-ipu1.c +++ b/drivers/clk/mediatek/clk-mt8183-ipu1.c @@ -43,7 +43,7 @@ static const struct of_device_id of_match_clk_mt8183_ipu_= core1[] =3D { =20 static struct platform_driver clk_mt8183_ipu_core1_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-ipu_core1", .of_match_table =3D of_match_clk_mt8183_ipu_core1, diff --git a/drivers/clk/mediatek/clk-mt8183-ipu_adl.c b/drivers/clk/mediat= ek/clk-mt8183-ipu_adl.c index 8c4fd96df821..ac12b4febddd 100644 --- a/drivers/clk/mediatek/clk-mt8183-ipu_adl.c +++ b/drivers/clk/mediatek/clk-mt8183-ipu_adl.c @@ -41,7 +41,7 @@ static const struct of_device_id of_match_clk_mt8183_ipu_= adl[] =3D { =20 static struct platform_driver clk_mt8183_ipu_adl_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-ipu_adl", .of_match_table =3D of_match_clk_mt8183_ipu_adl, diff --git a/drivers/clk/mediatek/clk-mt8183-ipu_conn.c b/drivers/clk/media= tek/clk-mt8183-ipu_conn.c index 14a4c3ff82a1..528729fa62e2 100644 --- a/drivers/clk/mediatek/clk-mt8183-ipu_conn.c +++ b/drivers/clk/mediatek/clk-mt8183-ipu_conn.c @@ -110,7 +110,7 @@ static const struct of_device_id of_match_clk_mt8183_ip= u_conn[] =3D { =20 static struct platform_driver clk_mt8183_ipu_conn_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-ipu_conn", .of_match_table =3D of_match_clk_mt8183_ipu_conn, diff --git a/drivers/clk/mediatek/clk-mt8183-mfgcfg.c b/drivers/clk/mediate= k/clk-mt8183-mfgcfg.c index 730c9ae5ea12..fc23ac2b2d17 100644 --- a/drivers/clk/mediatek/clk-mt8183-mfgcfg.c +++ b/drivers/clk/mediatek/clk-mt8183-mfgcfg.c @@ -42,7 +42,7 @@ static const struct of_device_id of_match_clk_mt8183_mfg[= ] =3D { =20 static struct platform_driver clk_mt8183_mfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-mfg", .of_match_table =3D of_match_clk_mt8183_mfg, diff --git a/drivers/clk/mediatek/clk-mt8183-vdec.c b/drivers/clk/mediatek/= clk-mt8183-vdec.c index c294e50b96b7..9c1c325ee513 100644 --- a/drivers/clk/mediatek/clk-mt8183-vdec.c +++ b/drivers/clk/mediatek/clk-mt8183-vdec.c @@ -54,7 +54,7 @@ static const struct of_device_id of_match_clk_mt8183_vdec= [] =3D { =20 static struct platform_driver clk_mt8183_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-vdec", .of_match_table =3D of_match_clk_mt8183_vdec, diff --git a/drivers/clk/mediatek/clk-mt8183-venc.c b/drivers/clk/mediatek/= clk-mt8183-venc.c index 0051c5d92fc5..da883ed74ea6 100644 --- a/drivers/clk/mediatek/clk-mt8183-venc.c +++ b/drivers/clk/mediatek/clk-mt8183-venc.c @@ -46,7 +46,7 @@ static const struct of_device_id of_match_clk_mt8183_venc= [] =3D { =20 static struct platform_driver clk_mt8183_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-venc", .of_match_table =3D of_match_clk_mt8183_venc, diff --git a/drivers/clk/mediatek/clk-mt8183.c b/drivers/clk/mediatek/clk-m= t8183.c index 722d913f0b4d..41581715a951 100644 --- a/drivers/clk/mediatek/clk-mt8183.c +++ b/drivers/clk/mediatek/clk-mt8183.c @@ -1254,7 +1254,7 @@ static const struct of_device_id of_match_clk_mt8183_= simple[] =3D { =20 static struct platform_driver clk_mt8183_simple_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8183-simple", .of_match_table =3D of_match_clk_mt8183_simple, diff --git a/drivers/clk/mediatek/clk-mt8186-cam.c b/drivers/clk/mediatek/c= lk-mt8186-cam.c index 9ec345a2ce66..7b1b9455b2c8 100644 --- a/drivers/clk/mediatek/clk-mt8186-cam.c +++ b/drivers/clk/mediatek/clk-mt8186-cam.c @@ -81,7 +81,7 @@ static const struct of_device_id of_match_clk_mt8186_cam[= ] =3D { =20 static struct platform_driver clk_mt8186_cam_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-cam", .of_match_table =3D of_match_clk_mt8186_cam, diff --git a/drivers/clk/mediatek/clk-mt8186-img.c b/drivers/clk/mediatek/c= lk-mt8186-img.c index 08a625475aee..dd9ae2891556 100644 --- a/drivers/clk/mediatek/clk-mt8186-img.c +++ b/drivers/clk/mediatek/clk-mt8186-img.c @@ -59,7 +59,7 @@ static const struct of_device_id of_match_clk_mt8186_img[= ] =3D { =20 static struct platform_driver clk_mt8186_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-img", .of_match_table =3D of_match_clk_mt8186_img, diff --git a/drivers/clk/mediatek/clk-mt8186-imp_iic_wrap.c b/drivers/clk/m= ediatek/clk-mt8186-imp_iic_wrap.c index 47f2e480a05e..d2933d69cc1c 100644 --- a/drivers/clk/mediatek/clk-mt8186-imp_iic_wrap.c +++ b/drivers/clk/mediatek/clk-mt8186-imp_iic_wrap.c @@ -58,7 +58,7 @@ static const struct of_device_id of_match_clk_mt8186_imp_= iic_wrap[] =3D { =20 static struct platform_driver clk_mt8186_imp_iic_wrap_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-imp_iic_wrap", .of_match_table =3D of_match_clk_mt8186_imp_iic_wrap, diff --git a/drivers/clk/mediatek/clk-mt8186-infra_ao.c b/drivers/clk/media= tek/clk-mt8186-infra_ao.c index df2a6bd1aefa..49a7fb24ac1b 100644 --- a/drivers/clk/mediatek/clk-mt8186-infra_ao.c +++ b/drivers/clk/mediatek/clk-mt8186-infra_ao.c @@ -230,7 +230,7 @@ static const struct of_device_id of_match_clk_mt8186_in= fra_ao[] =3D { =20 static struct platform_driver clk_mt8186_infra_ao_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-infra-ao", .of_match_table =3D of_match_clk_mt8186_infra_ao, diff --git a/drivers/clk/mediatek/clk-mt8186-ipe.c b/drivers/clk/mediatek/c= lk-mt8186-ipe.c index 8fca148effa6..1530614c0668 100644 --- a/drivers/clk/mediatek/clk-mt8186-ipe.c +++ b/drivers/clk/mediatek/clk-mt8186-ipe.c @@ -46,7 +46,7 @@ static const struct of_device_id of_match_clk_mt8186_ipe[= ] =3D { =20 static struct platform_driver clk_mt8186_ipe_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-ipe", .of_match_table =3D of_match_clk_mt8186_ipe, diff --git a/drivers/clk/mediatek/clk-mt8186-mdp.c b/drivers/clk/mediatek/c= lk-mt8186-mdp.c index 05174088ef20..32b5a69cd310 100644 --- a/drivers/clk/mediatek/clk-mt8186-mdp.c +++ b/drivers/clk/mediatek/clk-mt8186-mdp.c @@ -71,7 +71,7 @@ static const struct of_device_id of_match_clk_mt8186_mdp[= ] =3D { =20 static struct platform_driver clk_mt8186_mdp_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-mdp", .of_match_table =3D of_match_clk_mt8186_mdp, diff --git a/drivers/clk/mediatek/clk-mt8186-mfg.c b/drivers/clk/mediatek/c= lk-mt8186-mfg.c index 0142d741053a..f58919bd47ac 100644 --- a/drivers/clk/mediatek/clk-mt8186-mfg.c +++ b/drivers/clk/mediatek/clk-mt8186-mfg.c @@ -40,7 +40,7 @@ static const struct of_device_id of_match_clk_mt8186_mfg[= ] =3D { =20 static struct platform_driver clk_mt8186_mfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-mfg", .of_match_table =3D of_match_clk_mt8186_mfg, diff --git a/drivers/clk/mediatek/clk-mt8186-topckgen.c b/drivers/clk/media= tek/clk-mt8186-topckgen.c index c6786c8b315f..632d54bcb1b3 100644 --- a/drivers/clk/mediatek/clk-mt8186-topckgen.c +++ b/drivers/clk/mediatek/clk-mt8186-topckgen.c @@ -724,7 +724,7 @@ static const struct of_device_id of_match_clk_mt8186_to= pck[] =3D { =20 static struct platform_driver clk_mt8186_topck_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-topck", .of_match_table =3D of_match_clk_mt8186_topck, diff --git a/drivers/clk/mediatek/clk-mt8186-vdec.c b/drivers/clk/mediatek/= clk-mt8186-vdec.c index 5ad7e1ae0bac..4379fc958408 100644 --- a/drivers/clk/mediatek/clk-mt8186-vdec.c +++ b/drivers/clk/mediatek/clk-mt8186-vdec.c @@ -79,7 +79,7 @@ static const struct of_device_id of_match_clk_mt8186_vdec= [] =3D { =20 static struct platform_driver clk_mt8186_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-vdec", .of_match_table =3D of_match_clk_mt8186_vdec, diff --git a/drivers/clk/mediatek/clk-mt8186-venc.c b/drivers/clk/mediatek/= clk-mt8186-venc.c index f5519f794c45..ec502adfadad 100644 --- a/drivers/clk/mediatek/clk-mt8186-venc.c +++ b/drivers/clk/mediatek/clk-mt8186-venc.c @@ -42,7 +42,7 @@ static const struct of_device_id of_match_clk_mt8186_venc= [] =3D { =20 static struct platform_driver clk_mt8186_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-venc", .of_match_table =3D of_match_clk_mt8186_venc, diff --git a/drivers/clk/mediatek/clk-mt8186-wpe.c b/drivers/clk/mediatek/c= lk-mt8186-wpe.c index 8db3e9178a1e..23a47fcb2782 100644 --- a/drivers/clk/mediatek/clk-mt8186-wpe.c +++ b/drivers/clk/mediatek/clk-mt8186-wpe.c @@ -42,7 +42,7 @@ static const struct of_device_id of_match_clk_mt8186_wpe[= ] =3D { =20 static struct platform_driver clk_mt8186_wpe_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8186-wpe", .of_match_table =3D of_match_clk_mt8186_wpe, diff --git a/drivers/clk/mediatek/clk-mt8192-aud.c b/drivers/clk/mediatek/c= lk-mt8192-aud.c index 29affb68e854..8b8c4057c82f 100644 --- a/drivers/clk/mediatek/clk-mt8192-aud.c +++ b/drivers/clk/mediatek/clk-mt8192-aud.c @@ -97,10 +97,10 @@ static int clk_mt8192_aud_probe(struct platform_device = *pdev) return r; } =20 -static int clk_mt8192_aud_remove(struct platform_device *pdev) +static void clk_mt8192_aud_remove(struct platform_device *pdev) { of_platform_depopulate(&pdev->dev); - return mtk_clk_simple_remove(pdev); + mtk_clk_simple_remove(pdev); } =20 static const struct of_device_id of_match_clk_mt8192_aud[] =3D { @@ -110,7 +110,7 @@ static const struct of_device_id of_match_clk_mt8192_au= d[] =3D { =20 static struct platform_driver clk_mt8192_aud_drv =3D { .probe =3D clk_mt8192_aud_probe, - .remove =3D clk_mt8192_aud_remove, + .remove_new =3D clk_mt8192_aud_remove, .driver =3D { .name =3D "clk-mt8192-aud", .of_match_table =3D of_match_clk_mt8192_aud, diff --git a/drivers/clk/mediatek/clk-mt8192-cam.c b/drivers/clk/mediatek/c= lk-mt8192-cam.c index 90b57d46eef7..eb5052a9b149 100644 --- a/drivers/clk/mediatek/clk-mt8192-cam.c +++ b/drivers/clk/mediatek/clk-mt8192-cam.c @@ -98,7 +98,7 @@ static const struct of_device_id of_match_clk_mt8192_cam[= ] =3D { =20 static struct platform_driver clk_mt8192_cam_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-cam", .of_match_table =3D of_match_clk_mt8192_cam, diff --git a/drivers/clk/mediatek/clk-mt8192-img.c b/drivers/clk/mediatek/c= lk-mt8192-img.c index da82d65a7650..de69711ad09d 100644 --- a/drivers/clk/mediatek/clk-mt8192-img.c +++ b/drivers/clk/mediatek/clk-mt8192-img.c @@ -61,7 +61,7 @@ static const struct of_device_id of_match_clk_mt8192_img[= ] =3D { =20 static struct platform_driver clk_mt8192_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-img", .of_match_table =3D of_match_clk_mt8192_img, diff --git a/drivers/clk/mediatek/clk-mt8192-imp_iic_wrap.c b/drivers/clk/m= ediatek/clk-mt8192-imp_iic_wrap.c index ff8e20bb44bb..f9473d6c4c14 100644 --- a/drivers/clk/mediatek/clk-mt8192-imp_iic_wrap.c +++ b/drivers/clk/mediatek/clk-mt8192-imp_iic_wrap.c @@ -110,7 +110,7 @@ static const struct of_device_id of_match_clk_mt8192_im= p_iic_wrap[] =3D { =20 static struct platform_driver clk_mt8192_imp_iic_wrap_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-imp_iic_wrap", .of_match_table =3D of_match_clk_mt8192_imp_iic_wrap, diff --git a/drivers/clk/mediatek/clk-mt8192-ipe.c b/drivers/clk/mediatek/c= lk-mt8192-ipe.c index 0225abe4170a..823bdf49735e 100644 --- a/drivers/clk/mediatek/clk-mt8192-ipe.c +++ b/drivers/clk/mediatek/clk-mt8192-ipe.c @@ -48,7 +48,7 @@ static const struct of_device_id of_match_clk_mt8192_ipe[= ] =3D { =20 static struct platform_driver clk_mt8192_ipe_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-ipe", .of_match_table =3D of_match_clk_mt8192_ipe, diff --git a/drivers/clk/mediatek/clk-mt8192-mdp.c b/drivers/clk/mediatek/c= lk-mt8192-mdp.c index 4675788d7816..50ee62829bd7 100644 --- a/drivers/clk/mediatek/clk-mt8192-mdp.c +++ b/drivers/clk/mediatek/clk-mt8192-mdp.c @@ -73,7 +73,7 @@ static const struct of_device_id of_match_clk_mt8192_mdp[= ] =3D { =20 static struct platform_driver clk_mt8192_mdp_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-mdp", .of_match_table =3D of_match_clk_mt8192_mdp, diff --git a/drivers/clk/mediatek/clk-mt8192-mfg.c b/drivers/clk/mediatek/c= lk-mt8192-mfg.c index ec5b44ffa458..3f4274e25103 100644 --- a/drivers/clk/mediatek/clk-mt8192-mfg.c +++ b/drivers/clk/mediatek/clk-mt8192-mfg.c @@ -43,7 +43,7 @@ static const struct of_device_id of_match_clk_mt8192_mfg[= ] =3D { =20 static struct platform_driver clk_mt8192_mfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-mfg", .of_match_table =3D of_match_clk_mt8192_mfg, diff --git a/drivers/clk/mediatek/clk-mt8192-msdc.c b/drivers/clk/mediatek/= clk-mt8192-msdc.c index a72e1b73fce8..971c7259857a 100644 --- a/drivers/clk/mediatek/clk-mt8192-msdc.c +++ b/drivers/clk/mediatek/clk-mt8192-msdc.c @@ -55,7 +55,7 @@ static const struct of_device_id of_match_clk_mt8192_msdc= [] =3D { =20 static struct platform_driver clk_mt8192_msdc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-msdc", .of_match_table =3D of_match_clk_mt8192_msdc, diff --git a/drivers/clk/mediatek/clk-mt8192-scp_adsp.c b/drivers/clk/media= tek/clk-mt8192-scp_adsp.c index 18a8679108b8..60cb7f64f8b5 100644 --- a/drivers/clk/mediatek/clk-mt8192-scp_adsp.c +++ b/drivers/clk/mediatek/clk-mt8192-scp_adsp.c @@ -41,7 +41,7 @@ static const struct of_device_id of_match_clk_mt8192_scp_= adsp[] =3D { =20 static struct platform_driver clk_mt8192_scp_adsp_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-scp_adsp", .of_match_table =3D of_match_clk_mt8192_scp_adsp, diff --git a/drivers/clk/mediatek/clk-mt8192-vdec.c b/drivers/clk/mediatek/= clk-mt8192-vdec.c index e149962dbbf9..5aaf31f24483 100644 --- a/drivers/clk/mediatek/clk-mt8192-vdec.c +++ b/drivers/clk/mediatek/clk-mt8192-vdec.c @@ -85,7 +85,7 @@ static const struct of_device_id of_match_clk_mt8192_vdec= [] =3D { =20 static struct platform_driver clk_mt8192_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-vdec", .of_match_table =3D of_match_clk_mt8192_vdec, diff --git a/drivers/clk/mediatek/clk-mt8192-venc.c b/drivers/clk/mediatek/= clk-mt8192-venc.c index 80b8bb170996..be301abad23c 100644 --- a/drivers/clk/mediatek/clk-mt8192-venc.c +++ b/drivers/clk/mediatek/clk-mt8192-venc.c @@ -44,7 +44,7 @@ static const struct of_device_id of_match_clk_mt8192_venc= [] =3D { =20 static struct platform_driver clk_mt8192_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-venc", .of_match_table =3D of_match_clk_mt8192_venc, diff --git a/drivers/clk/mediatek/clk-mt8192.c b/drivers/clk/mediatek/clk-m= t8192.c index 61299960d28a..d370bcb69be0 100644 --- a/drivers/clk/mediatek/clk-mt8192.c +++ b/drivers/clk/mediatek/clk-mt8192.c @@ -1154,7 +1154,7 @@ static const struct of_device_id of_match_clk_mt8192_= simple[] =3D { =20 static struct platform_driver clk_mt8192_simple_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8192-simple", .of_match_table =3D of_match_clk_mt8192_simple, diff --git a/drivers/clk/mediatek/clk-mt8195-cam.c b/drivers/clk/mediatek/c= lk-mt8195-cam.c index e4d00fe6e757..a105e0ca6c12 100644 --- a/drivers/clk/mediatek/clk-mt8195-cam.c +++ b/drivers/clk/mediatek/clk-mt8195-cam.c @@ -134,7 +134,7 @@ static const struct of_device_id of_match_clk_mt8195_ca= m[] =3D { =20 static struct platform_driver clk_mt8195_cam_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-cam", .of_match_table =3D of_match_clk_mt8195_cam, diff --git a/drivers/clk/mediatek/clk-mt8195-ccu.c b/drivers/clk/mediatek/c= lk-mt8195-ccu.c index 4e326b6301ba..b378e1d89bde 100644 --- a/drivers/clk/mediatek/clk-mt8195-ccu.c +++ b/drivers/clk/mediatek/clk-mt8195-ccu.c @@ -42,7 +42,7 @@ static const struct of_device_id of_match_clk_mt8195_ccu[= ] =3D { =20 static struct platform_driver clk_mt8195_ccu_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-ccu", .of_match_table =3D of_match_clk_mt8195_ccu, diff --git a/drivers/clk/mediatek/clk-mt8195-img.c b/drivers/clk/mediatek/c= lk-mt8195-img.c index 12f5c436d075..f09719a4275b 100644 --- a/drivers/clk/mediatek/clk-mt8195-img.c +++ b/drivers/clk/mediatek/clk-mt8195-img.c @@ -88,7 +88,7 @@ static const struct of_device_id of_match_clk_mt8195_img[= ] =3D { =20 static struct platform_driver clk_mt8195_img_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-img", .of_match_table =3D of_match_clk_mt8195_img, diff --git a/drivers/clk/mediatek/clk-mt8195-imp_iic_wrap.c b/drivers/clk/m= ediatek/clk-mt8195-imp_iic_wrap.c index fbc809d05072..e1f86d7d1495 100644 --- a/drivers/clk/mediatek/clk-mt8195-imp_iic_wrap.c +++ b/drivers/clk/mediatek/clk-mt8195-imp_iic_wrap.c @@ -58,7 +58,7 @@ static const struct of_device_id of_match_clk_mt8195_imp_= iic_wrap[] =3D { =20 static struct platform_driver clk_mt8195_imp_iic_wrap_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-imp_iic_wrap", .of_match_table =3D of_match_clk_mt8195_imp_iic_wrap, diff --git a/drivers/clk/mediatek/clk-mt8195-infra_ao.c b/drivers/clk/media= tek/clk-mt8195-infra_ao.c index fcd410461d3b..e62e8f5f446a 100644 --- a/drivers/clk/mediatek/clk-mt8195-infra_ao.c +++ b/drivers/clk/mediatek/clk-mt8195-infra_ao.c @@ -232,7 +232,7 @@ static const struct of_device_id of_match_clk_mt8195_in= fra_ao[] =3D { =20 static struct platform_driver clk_mt8195_infra_ao_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-infra_ao", .of_match_table =3D of_match_clk_mt8195_infra_ao, diff --git a/drivers/clk/mediatek/clk-mt8195-ipe.c b/drivers/clk/mediatek/c= lk-mt8195-ipe.c index b0d745cf7752..13a81353438c 100644 --- a/drivers/clk/mediatek/clk-mt8195-ipe.c +++ b/drivers/clk/mediatek/clk-mt8195-ipe.c @@ -43,7 +43,7 @@ static const struct of_device_id of_match_clk_mt8195_ipe[= ] =3D { =20 static struct platform_driver clk_mt8195_ipe_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-ipe", .of_match_table =3D of_match_clk_mt8195_ipe, diff --git a/drivers/clk/mediatek/clk-mt8195-mfg.c b/drivers/clk/mediatek/c= lk-mt8195-mfg.c index c94cb71bd9b9..4a696e86083a 100644 --- a/drivers/clk/mediatek/clk-mt8195-mfg.c +++ b/drivers/clk/mediatek/clk-mt8195-mfg.c @@ -41,7 +41,7 @@ static const struct of_device_id of_match_clk_mt8195_mfg[= ] =3D { =20 static struct platform_driver clk_mt8195_mfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-mfg", .of_match_table =3D of_match_clk_mt8195_mfg, diff --git a/drivers/clk/mediatek/clk-mt8195-peri_ao.c b/drivers/clk/mediat= ek/clk-mt8195-peri_ao.c index 2f6b3bb657db..140d0fad8342 100644 --- a/drivers/clk/mediatek/clk-mt8195-peri_ao.c +++ b/drivers/clk/mediatek/clk-mt8195-peri_ao.c @@ -54,7 +54,7 @@ static const struct of_device_id of_match_clk_mt8195_peri= _ao[] =3D { =20 static struct platform_driver clk_mt8195_peri_ao_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-peri_ao", .of_match_table =3D of_match_clk_mt8195_peri_ao, diff --git a/drivers/clk/mediatek/clk-mt8195-scp_adsp.c b/drivers/clk/media= tek/clk-mt8195-scp_adsp.c index e16c383f631b..dfd9e159150a 100644 --- a/drivers/clk/mediatek/clk-mt8195-scp_adsp.c +++ b/drivers/clk/mediatek/clk-mt8195-scp_adsp.c @@ -39,7 +39,7 @@ static const struct of_device_id of_match_clk_mt8195_scp_= adsp[] =3D { =20 static struct platform_driver clk_mt8195_scp_adsp_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-scp_adsp", .of_match_table =3D of_match_clk_mt8195_scp_adsp, diff --git a/drivers/clk/mediatek/clk-mt8195-vdec.c b/drivers/clk/mediatek/= clk-mt8195-vdec.c index a1446b666385..224c479f5cf9 100644 --- a/drivers/clk/mediatek/clk-mt8195-vdec.c +++ b/drivers/clk/mediatek/clk-mt8195-vdec.c @@ -96,7 +96,7 @@ static const struct of_device_id of_match_clk_mt8195_vdec= [] =3D { =20 static struct platform_driver clk_mt8195_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-vdec", .of_match_table =3D of_match_clk_mt8195_vdec, diff --git a/drivers/clk/mediatek/clk-mt8195-venc.c b/drivers/clk/mediatek/= clk-mt8195-venc.c index 622f57804f96..d489e419ad87 100644 --- a/drivers/clk/mediatek/clk-mt8195-venc.c +++ b/drivers/clk/mediatek/clk-mt8195-venc.c @@ -61,7 +61,7 @@ static const struct of_device_id of_match_clk_mt8195_venc= [] =3D { =20 static struct platform_driver clk_mt8195_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-venc", .of_match_table =3D of_match_clk_mt8195_venc, diff --git a/drivers/clk/mediatek/clk-mt8195-wpe.c b/drivers/clk/mediatek/c= lk-mt8195-wpe.c index b483fab10e18..ec4efe542566 100644 --- a/drivers/clk/mediatek/clk-mt8195-wpe.c +++ b/drivers/clk/mediatek/clk-mt8195-wpe.c @@ -135,7 +135,7 @@ static const struct of_device_id of_match_clk_mt8195_wp= e[] =3D { =20 static struct platform_driver clk_mt8195_wpe_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8195-wpe", .of_match_table =3D of_match_clk_mt8195_wpe, diff --git a/drivers/clk/mediatek/clk-mt8365-apu.c b/drivers/clk/mediatek/c= lk-mt8365-apu.c index 91ffe89d9721..dd785668c241 100644 --- a/drivers/clk/mediatek/clk-mt8365-apu.c +++ b/drivers/clk/mediatek/clk-mt8365-apu.c @@ -45,7 +45,7 @@ static const struct of_device_id of_match_clk_mt8365_apu[= ] =3D { =20 static struct platform_driver clk_mt8365_apu_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8365-apu", .of_match_table =3D of_match_clk_mt8365_apu, diff --git a/drivers/clk/mediatek/clk-mt8365-cam.c b/drivers/clk/mediatek/c= lk-mt8365-cam.c index 31d5b5cd6de1..3757ef43bbf0 100644 --- a/drivers/clk/mediatek/clk-mt8365-cam.c +++ b/drivers/clk/mediatek/clk-mt8365-cam.c @@ -47,7 +47,7 @@ static const struct of_device_id of_match_clk_mt8365_cam[= ] =3D { =20 static struct platform_driver clk_mt8365_cam_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8365-cam", .of_match_table =3D of_match_clk_mt8365_cam, diff --git a/drivers/clk/mediatek/clk-mt8365-mfg.c b/drivers/clk/mediatek/c= lk-mt8365-mfg.c index 587b49128b03..a63e289ddfa6 100644 --- a/drivers/clk/mediatek/clk-mt8365-mfg.c +++ b/drivers/clk/mediatek/clk-mt8365-mfg.c @@ -53,7 +53,7 @@ static const struct of_device_id of_match_clk_mt8365_mfg[= ] =3D { =20 static struct platform_driver clk_mt8365_mfg_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8365-mfg", .of_match_table =3D of_match_clk_mt8365_mfg, diff --git a/drivers/clk/mediatek/clk-mt8365-vdec.c b/drivers/clk/mediatek/= clk-mt8365-vdec.c index cdc678e8941c..780c4c6887c7 100644 --- a/drivers/clk/mediatek/clk-mt8365-vdec.c +++ b/drivers/clk/mediatek/clk-mt8365-vdec.c @@ -53,7 +53,7 @@ static const struct of_device_id of_match_clk_mt8365_vdec= [] =3D { =20 static struct platform_driver clk_mt8365_vdec_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8365-vdec", .of_match_table =3D of_match_clk_mt8365_vdec, diff --git a/drivers/clk/mediatek/clk-mt8365-venc.c b/drivers/clk/mediatek/= clk-mt8365-venc.c index 0e080c22119d..5bc81f5468c1 100644 --- a/drivers/clk/mediatek/clk-mt8365-venc.c +++ b/drivers/clk/mediatek/clk-mt8365-venc.c @@ -42,7 +42,7 @@ static const struct of_device_id of_match_clk_mt8365_venc= [] =3D { =20 static struct platform_driver clk_mt8365_venc_drv =3D { .probe =3D mtk_clk_simple_probe, - .remove =3D mtk_clk_simple_remove, + .remove_new =3D mtk_clk_simple_remove, .driver =3D { .name =3D "clk-mt8365-venc", .of_match_table =3D of_match_clk_mt8365_venc, diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c index 14e8b64a32a3..388bd0843930 100644 --- a/drivers/clk/mediatek/clk-mtk.c +++ b/drivers/clk/mediatek/clk-mtk.c @@ -584,7 +584,7 @@ int mtk_clk_simple_probe(struct platform_device *pdev) } EXPORT_SYMBOL_GPL(mtk_clk_simple_probe); =20 -int mtk_clk_simple_remove(struct platform_device *pdev) +void mtk_clk_simple_remove(struct platform_device *pdev) { const struct mtk_clk_desc *mcd =3D of_device_get_match_data(&pdev->dev); struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -606,8 +606,6 @@ int mtk_clk_simple_remove(struct platform_device *pdev) mtk_clk_unregister_fixed_clks(mcd->fixed_clks, mcd->num_fixed_clks, clk_data); mtk_free_clk_data(clk_data); - - return 0; } EXPORT_SYMBOL_GPL(mtk_clk_simple_remove); =20 diff --git a/drivers/clk/mediatek/clk-mtk.h b/drivers/clk/mediatek/clk-mtk.h index 41f4fa3b0c21..3c14dc1030e1 100644 --- a/drivers/clk/mediatek/clk-mtk.h +++ b/drivers/clk/mediatek/clk-mtk.h @@ -237,6 +237,6 @@ struct mtk_clk_desc { }; =20 int mtk_clk_simple_probe(struct platform_device *pdev); -int mtk_clk_simple_remove(struct platform_device *pdev); +void mtk_clk_simple_remove(struct platform_device *pdev); =20 #endif /* __DRV_CLK_MTK_H */ --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1F7D6C6FD1F for ; Sun, 12 Mar 2023 16:16:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230390AbjCLQQb (ORCPT ); Sun, 12 Mar 2023 12:16:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230146AbjCLQPd (ORCPT ); Sun, 12 Mar 2023 12:15:33 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BE94536FE6 for ; Sun, 12 Mar 2023 09:15:31 -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 1pbOLw-0007nk-Ja; Sun, 12 Mar 2023 17:15:20 +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 1pbOLv-003f1W-CW; Sun, 12 Mar 2023 17:15:19 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLu-004K88-HS; Sun, 12 Mar 2023 17:15:18 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Stephen Boyd , Thierry Reding , Jonathan Hunter Cc: linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 02/30] clk: tegra: Don't warn three times about failure to unregister Date: Sun, 12 Mar 2023 17:14:44 +0100 Message-Id: <20230312161512.2715500-3-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2287; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=+9AIxbdgygHscbuQBZ/9x7Mj2mdYT5CkFcqptrNLIzs=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfoZt+vEgQUzkC6DfJiC5nFmGIwE1dZDTropc hsVPMpXKMiJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36GQAKCRDB/BR4rcrs CdPQB/9x+RX5qdpP5p75qTQmrWsuZtOUtTbvdCLf6ap0jZk0ajXM6AZAQG6gldT5Dezfdk4nBEH nGaudn6KTmmM5kKwAVzSU9bMMGVViK7U/Ik1BX7d1S+UFXjYZ7DGhrbumaB53BLoNyvq0IrInHH mQFZaJ/aCe/2AelK7D18mVR0W3MtbZPtj6tAJ0GSvIWOtlxSyhx0E0UGpDL2EpAoCBYsGWw4rvT qGcQAaCpIB6ghHcsuSizmiCZXlJARky4QiZo+q9i0p8ujwSHwS2fb1qyBUIczJ04rQQJtq6pdRZ TzmvAMFpB+rrAhMgNatHs12yLJ3EaW/R1dDHKkX7RH5sUH6u X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tegra124_dfll_fcpu_remove() calls tegra_dfll_unregister() and the former emits an error message if the latter fails. In that case tegra_dfll_unregister() already printed an error message. Additionally tegra124_dfll_fcpu_remove() returns an error code which results in yet another warning emitted by platform_remove(). So drop the error message from tegra124_dfll_fcpu_remove() and let it return 0. (Retuning 0 has no side effect but suppressing the error message in platform_remove().) Also add two comments about exiting early being wrong. This is something that needs fixing separately. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/clk/tegra/clk-dfll.c | 5 ++++- drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 11 ++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/clk/tegra/clk-dfll.c b/drivers/clk/tegra/clk-dfll.c index 41433927b55c..58fa5a59e0c7 100644 --- a/drivers/clk/tegra/clk-dfll.c +++ b/drivers/clk/tegra/clk-dfll.c @@ -2081,7 +2081,10 @@ struct tegra_dfll_soc_data *tegra_dfll_unregister(st= ruct platform_device *pdev) { struct tegra_dfll *td =3D platform_get_drvdata(pdev); =20 - /* Try to prevent removal while the DFLL is active */ + /* + * Note that exiting early here doesn't prevent unbinding the driver. + * Exiting early here only leaks some resources. + */ if (td->mode !=3D DFLL_DISABLED) { dev_err(&pdev->dev, "must disable DFLL before removing driver\n"); diff --git a/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c b/drivers/clk/tegra= /clk-tegra124-dfll-fcpu.c index 5e339ad0a97c..15c5e14dd82f 100644 --- a/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c +++ b/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c @@ -616,12 +616,13 @@ static int tegra124_dfll_fcpu_remove(struct platform_= device *pdev) { struct tegra_dfll_soc_data *soc; =20 + /* + * Note that exiting early here is dangerous as after this function + * returns *soc is freed. + */ soc =3D tegra_dfll_unregister(pdev); - if (IS_ERR(soc)) { - dev_err(&pdev->dev, "failed to unregister DFLL: %ld\n", - PTR_ERR(soc)); - return PTR_ERR(soc); - } + if (IS_ERR(soc)) + return 0; =20 tegra_cvb_remove_opp_table(soc->dev, soc->cvb, soc->max_freq); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A210C6FA99 for ; Sun, 12 Mar 2023 16:16:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230347AbjCLQQG (ORCPT ); Sun, 12 Mar 2023 12:16:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230061AbjCLQP2 (ORCPT ); Sun, 12 Mar 2023 12:15:28 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E38134C05 for ; Sun, 12 Mar 2023 09:15:27 -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 1pbOLw-0007ns-M1; Sun, 12 Mar 2023 17:15:20 +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 1pbOLw-003f1i-13; Sun, 12 Mar 2023 17:15:20 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLu-004K8B-Nd; Sun, 12 Mar 2023 17:15:18 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Michal Simek Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 03/30] clk: xilinx: Drop if block with always false condition Date: Sun, 12 Mar 2023 17:14:45 +0100 Message-Id: <20230312161512.2715500-4-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=932; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=2l2y8Hwodd04VIsYFpyJCISjEEwoZDOvzxOqN6nZXvo=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfod91tRBqw4DTMu5AWaEo9bEyJsVu3RB1JsZ RWLXfZAPzqJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36HQAKCRDB/BR4rcrs CYLQB/kBUyFOTio3WkuzOw5MVnPnA08KyRaoE2EbydF8Q8XsArHNbkcU3FJ5xcKZrp6Zzp5GEWX mQfdDhOSXU0ZZTqxHdyVTxnuGbylhwOzJ/AEdxk61lIv24FRljrXwxuagRKBDYflJ4bcWMrJQ7+ tNjWDsO/yeGt5ocCPxd0ooStsRxYsp5vkEH7u8kYHivIcjoB62r7xnBb0QhgblXy8Z0jErrNM6D RayhTythzWRkOXOT3Df75a/qJOSp8Wwrds9XHFeaxeFnxx42MUoISeaMO3jD5yMxMPPLfp9L1+0 iTLKlXFHqZx1/iUjGMhh+bapytf0MENIF530tsPU0uFPZr1Q X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org xvcu_remove() is only called for a device after after xvcu_probe() completed successfully. In that case dev_set_drvdata() was called for that device with a non-NULL parameter, so platform_get_drvdata() won't return NULL and the if condition is never true. Drop the if, preparing a conversion to make platform driver's remove callback return void. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/clk/xilinx/xlnx_vcu.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/clk/xilinx/xlnx_vcu.c b/drivers/clk/xilinx/xlnx_vcu.c index d66b1315114e..54b44debfd3e 100644 --- a/drivers/clk/xilinx/xlnx_vcu.c +++ b/drivers/clk/xilinx/xlnx_vcu.c @@ -707,8 +707,6 @@ static int xvcu_remove(struct platform_device *pdev) struct xvcu_device *xvcu; =20 xvcu =3D platform_get_drvdata(pdev); - if (!xvcu) - return -ENODEV; =20 xvcu_unregister_clock_provider(xvcu); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7898BC6FD1F for ; Sun, 12 Mar 2023 16:15:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230190AbjCLQPz (ORCPT ); Sun, 12 Mar 2023 12:15:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230101AbjCLQP2 (ORCPT ); Sun, 12 Mar 2023 12:15:28 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 30A8E34F6E for ; Sun, 12 Mar 2023 09:15:27 -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 1pbOLw-0007nq-TQ; Sun, 12 Mar 2023 17:15:20 +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 1pbOLv-003f1f-VK; Sun, 12 Mar 2023 17:15:19 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLv-004K8F-0R; Sun, 12 Mar 2023 17:15:19 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Eugeniy Paltsev , Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/30] clk: axs10x: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:46 +0100 Message-Id: <20230312161512.2715500-5-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2548; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=2+AKW+R5wH4GK/jKdVXZCGQtxTtTB3ZfwzT0vCy4l2Y=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfohCZeQbQcyatfA51UEI5TxekIaUWA95adcy p2NyIHnOz2JATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36IQAKCRDB/BR4rcrs CY/mB/0WQIPWqZ53K/EQqG+hwp2fYUlyTZEsHehWIeMopqBKPAPHnhiYAwcqjGohu2VzZ12XoUD 4omlGnxcU2kvZWKcPSX5oXuj3iyfxtUykePqa4Lpam8EbDNPz82AKj+sx2HnQYGeAH+NOW4bmT2 2u/SZWzo8zh1efVFFsqOBQnHlvjmhr2ATVI5/klRxPXvjdf19/UhgIobUuVpUFiM179njMmthkV t+SD0EoKqLVvVpUit3AcDC/Zp/6zIZ2KB6O6+ZZIjwasunMTa5Vu8wksds4CcUDrs/9jbNvhLfy mJGgXfG3jH0bXg0lhfuFLy+AoDmFA6inhNmNPt8w5aYl76X7 X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/axs10x/i2s_pll_clock.c | 5 ++--- drivers/clk/axs10x/pll_clock.c | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/clk/axs10x/i2s_pll_clock.c b/drivers/clk/axs10x/i2s_pl= l_clock.c index e1fda6ad5cd5..2334e6c334cf 100644 --- a/drivers/clk/axs10x/i2s_pll_clock.c +++ b/drivers/clk/axs10x/i2s_pll_clock.c @@ -198,10 +198,9 @@ static int i2s_pll_clk_probe(struct platform_device *p= dev) return of_clk_add_provider(node, of_clk_src_simple_get, clk); } =20 -static int i2s_pll_clk_remove(struct platform_device *pdev) +static void i2s_pll_clk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - return 0; } =20 static const struct of_device_id i2s_pll_clk_id[] =3D { @@ -216,7 +215,7 @@ static struct platform_driver i2s_pll_clk_driver =3D { .of_match_table =3D i2s_pll_clk_id, }, .probe =3D i2s_pll_clk_probe, - .remove =3D i2s_pll_clk_remove, + .remove_new =3D i2s_pll_clk_remove, }; module_platform_driver(i2s_pll_clk_driver); =20 diff --git a/drivers/clk/axs10x/pll_clock.c b/drivers/clk/axs10x/pll_clock.c index 90fb0e6ff573..dbbfa12e530d 100644 --- a/drivers/clk/axs10x/pll_clock.c +++ b/drivers/clk/axs10x/pll_clock.c @@ -257,10 +257,9 @@ static int axs10x_pll_clk_probe(struct platform_device= *pdev) &pll_clk->hw); } =20 -static int axs10x_pll_clk_remove(struct platform_device *pdev) +static void axs10x_pll_clk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - return 0; } =20 static void __init of_axs10x_pll_clk_setup(struct device_node *node) @@ -332,7 +331,7 @@ static struct platform_driver axs10x_pll_clk_driver =3D= { .of_match_table =3D axs10x_pll_clk_id, }, .probe =3D axs10x_pll_clk_probe, - .remove =3D axs10x_pll_clk_remove, + .remove_new =3D axs10x_pll_clk_remove, }; builtin_platform_driver(axs10x_pll_clk_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 025E7C6FD1F for ; Sun, 12 Mar 2023 16:16:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230372AbjCLQQZ (ORCPT ); Sun, 12 Mar 2023 12:16:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230138AbjCLQPc (ORCPT ); Sun, 12 Mar 2023 12:15:32 -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 CE25236448 for ; Sun, 12 Mar 2023 09:15:30 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOLx-0007nu-KB; Sun, 12 Mar 2023 17:15:21 +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 1pbOLw-003f1n-3R; Sun, 12 Mar 2023 17:15:20 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLv-004K8I-6o; Sun, 12 Mar 2023 17:15:19 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Florian Fainelli Cc: Broadcom internal kernel review list , linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 05/30] clk: bcm: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:47 +0100 Message-Id: <20230312161512.2715500-6-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=3859; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=IanNNGBHrcCJAmWf5mu1sRbucThqze61zMSvuzhO+qA=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfolS68+JWJsutAg1Dv7pxwQwnL0jcsu/Rm04 J5EwBXLLl6JATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36JQAKCRDB/BR4rcrs CSd1B/48w5+aiFjQRF5oReqowqPNI0mVBhXVuagj7eeGlaCXssUqUR9O72JSSo9M5NUJhnk7J0X aWFT4r8hyfXDjK8yzhCL77VqKK61akJEgQ8+qGINvBaHjaZ2kGjRhVAeQ4vKBrM7gWtMmitUt5m FlIGr5Jk4VHkGT9v9iaw8v1Nh0tR/Iz26z9LdIrBa5YNMb7Evf/95vH/+jzC6ijjzPdzMyiVjUQ BOXJdJttA381KWDF+4Tr4FW347AnNeBX2CAefe7T21KjPcagSb2iJZV9pRkDaMNsQjXp2XTtFy1 MbTvxyavrKFKwk0+xBj3JIRVzm31Yh+SDj08vadA4zdwKZSF X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig Reviewed-by: Florian Fainelli --- drivers/clk/bcm/clk-bcm2711-dvp.c | 6 ++---- drivers/clk/bcm/clk-bcm63xx-gate.c | 6 ++---- drivers/clk/bcm/clk-raspberrypi.c | 6 ++---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/clk/bcm/clk-bcm2711-dvp.c b/drivers/clk/bcm/clk-bcm271= 1-dvp.c index e63a42618ac2..e4fbbf3c40fe 100644 --- a/drivers/clk/bcm/clk-bcm2711-dvp.c +++ b/drivers/clk/bcm/clk-bcm2711-dvp.c @@ -92,15 +92,13 @@ static int clk_dvp_probe(struct platform_device *pdev) return ret; }; =20 -static int clk_dvp_remove(struct platform_device *pdev) +static void clk_dvp_remove(struct platform_device *pdev) { struct clk_dvp *dvp =3D platform_get_drvdata(pdev); struct clk_hw_onecell_data *data =3D dvp->data; =20 clk_hw_unregister_gate(data->hws[1]); clk_hw_unregister_gate(data->hws[0]); - - return 0; } =20 static const struct of_device_id clk_dvp_dt_ids[] =3D { @@ -111,7 +109,7 @@ MODULE_DEVICE_TABLE(of, clk_dvp_dt_ids); =20 static struct platform_driver clk_dvp_driver =3D { .probe =3D clk_dvp_probe, - .remove =3D clk_dvp_remove, + .remove_new =3D clk_dvp_remove, .driver =3D { .name =3D "brcm2711-dvp", .of_match_table =3D clk_dvp_dt_ids, diff --git a/drivers/clk/bcm/clk-bcm63xx-gate.c b/drivers/clk/bcm/clk-bcm63= xx-gate.c index 89297c57881e..0769f98767da 100644 --- a/drivers/clk/bcm/clk-bcm63xx-gate.c +++ b/drivers/clk/bcm/clk-bcm63xx-gate.c @@ -541,7 +541,7 @@ static int clk_bcm63xx_probe(struct platform_device *pd= ev) return ret; } =20 -static int clk_bcm63xx_remove(struct platform_device *pdev) +static void clk_bcm63xx_remove(struct platform_device *pdev) { struct clk_bcm63xx_hw *hw =3D platform_get_drvdata(pdev); int i; @@ -552,8 +552,6 @@ static int clk_bcm63xx_remove(struct platform_device *p= dev) if (!IS_ERR(hw->data.hws[i])) clk_hw_unregister_gate(hw->data.hws[i]); } - - return 0; } =20 static const struct of_device_id clk_bcm63xx_dt_ids[] =3D { @@ -570,7 +568,7 @@ static const struct of_device_id clk_bcm63xx_dt_ids[] = =3D { =20 static struct platform_driver clk_bcm63xx =3D { .probe =3D clk_bcm63xx_probe, - .remove =3D clk_bcm63xx_remove, + .remove_new =3D clk_bcm63xx_remove, .driver =3D { .name =3D "bcm63xx-clock", .of_match_table =3D clk_bcm63xx_dt_ids, diff --git a/drivers/clk/bcm/clk-raspberrypi.c b/drivers/clk/bcm/clk-raspbe= rrypi.c index ce2f93479736..eb399a4d141b 100644 --- a/drivers/clk/bcm/clk-raspberrypi.c +++ b/drivers/clk/bcm/clk-raspberrypi.c @@ -439,13 +439,11 @@ static int raspberrypi_clk_probe(struct platform_devi= ce *pdev) return 0; } =20 -static int raspberrypi_clk_remove(struct platform_device *pdev) +static void raspberrypi_clk_remove(struct platform_device *pdev) { struct raspberrypi_clk *rpi =3D platform_get_drvdata(pdev); =20 platform_device_unregister(rpi->cpufreq); - - return 0; } =20 static const struct of_device_id raspberrypi_clk_match[] =3D { @@ -460,7 +458,7 @@ static struct platform_driver raspberrypi_clk_driver = =3D { .of_match_table =3D raspberrypi_clk_match, }, .probe =3D raspberrypi_clk_probe, - .remove =3D raspberrypi_clk_remove, + .remove_new =3D raspberrypi_clk_remove, }; module_platform_driver(raspberrypi_clk_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DBF3CC6FD19 for ; Sun, 12 Mar 2023 16:15:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230156AbjCLQPe (ORCPT ); Sun, 12 Mar 2023 12:15:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38562 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230085AbjCLQP0 (ORCPT ); Sun, 12 Mar 2023 12:15:26 -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 6AE3B34C14 for ; Sun, 12 Mar 2023 09:15:25 -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 1pbOLw-0007nt-Nu; Sun, 12 Mar 2023 17:15:20 +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 1pbOLw-003f1m-33; Sun, 12 Mar 2023 17:15:20 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLv-004K8L-D6; Sun, 12 Mar 2023 17:15:19 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 06/30] clk: axi-clkgen: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:48 +0100 Message-Id: <20230312161512.2715500-7-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1568; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=mKWm1tXjLyBA2SWXj77lTJC97AAz8dVbbZwONWNxxz0=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfoprVMb78SIBnkb6CzMjA734MOUZDDgvGbwZ iDAVC4m6AKJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36KQAKCRDB/BR4rcrs CfaJB/wO+xJeQ+MI+rcZY8q1XbpVZNCqDaAxpY5G5GuX8GyvvTXAAE6TetfA3Zaafkvko1OZnLq rzDp8Wc9HBs0KmRsMszYvFd47Dl6vodmfWpP8glXmUBBL9oVG84wN4AZ5tbshg8td/c0UDVJrJZ 4WBx538jrqzK16N1yfy0BYjRe5lbo9MYRabT6N2Ig72yDB3q3gRIUgfvbtPs5JDj6vxvPJtWlkF COXbgaT5jILLhUfdS7CZsvKVjWejoCPAs0LNRagV0euUI5vJr+GYpWLieMU35HE8H9e/6YbxvPN mBsIeWtymULMR7xthHfoayeB4MarC7t/j5EbYS0CvsonZaHS X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-axi-clkgen.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/clk-axi-clkgen.c b/drivers/clk/clk-axi-clkgen.c index ac6ff736ac8f..671bee55ceb3 100644 --- a/drivers/clk/clk-axi-clkgen.c +++ b/drivers/clk/clk-axi-clkgen.c @@ -557,11 +557,9 @@ static int axi_clkgen_probe(struct platform_device *pd= ev) &axi_clkgen->clk_hw); } =20 -static int axi_clkgen_remove(struct platform_device *pdev) +static void axi_clkgen_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - - return 0; } =20 static const struct of_device_id axi_clkgen_ids[] =3D { @@ -583,7 +581,7 @@ static struct platform_driver axi_clkgen_driver =3D { .of_match_table =3D axi_clkgen_ids, }, .probe =3D axi_clkgen_probe, - .remove =3D axi_clkgen_remove, + .remove_new =3D axi_clkgen_remove, }; module_platform_driver(axi_clkgen_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E55D4C7618A for ; Sun, 12 Mar 2023 16:15:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230199AbjCLQPk (ORCPT ); Sun, 12 Mar 2023 12:15:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38600 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230089AbjCLQP1 (ORCPT ); Sun, 12 Mar 2023 12:15:27 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4A1F360A6 for ; Sun, 12 Mar 2023 09:15:25 -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 1pbOLx-0007o3-1M; Sun, 12 Mar 2023 17:15:21 +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 1pbOLw-003f1t-Cq; Sun, 12 Mar 2023 17:15:20 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLv-004K8Q-KQ; Sun, 12 Mar 2023 17:15:19 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/30] clk: axm5516: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:49 +0100 Message-Id: <20230312161512.2715500-8-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1476; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=Z5GZGSWh1Ob3UU9gNPR0/87sU8eq9KSI3jE46vXFDkE=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfosgNnsKcQ5XSf7NAX95edm3ujMAoDJwz6/R Mk2ZKLHpVyJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36LAAKCRDB/BR4rcrs CQBWB/98UBHvsgDINIPdwRsZL4ctsKFwArIpzt4SV/h+vGyGnWA7vRU1ZCXRJ7PybolnKOKeRAm ga0pTo0ZXWZIkYqieTwKAmWP3zJVfYTpfi9BuqbPD59JGfLCIFRSWJ4RNTxBXw9t+5cHJL9YfLR aYoghaJHTmF9s2TRa7jviqiY40f0WUV2FLSClIC3v/aQoLblBTDCqqESDZSZ4FfmsDTk7Wg+M4k 9pAN+bfcvKP7RhpCBZPv9ED9jPtvdDQgV7lBPYeg6wKScob/qzLWkIjp+MDOC1xm2RaojFptZ0K KWsa8qoAPRZVGPxHp9WyHe+kfGYEx+NMV/U8QjydRexgF8TG X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-axm5516.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/clk/clk-axm5516.c b/drivers/clk/clk-axm5516.c index 07e80fe8c310..1dff2017ad9d 100644 --- a/drivers/clk/clk-axm5516.c +++ b/drivers/clk/clk-axm5516.c @@ -572,15 +572,14 @@ static int axmclk_probe(struct platform_device *pdev) return of_clk_add_hw_provider(dev->of_node, of_clk_axmclk_get, NULL); } =20 -static int axmclk_remove(struct platform_device *pdev) +static void axmclk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - return 0; } =20 static struct platform_driver axmclk_driver =3D { .probe =3D axmclk_probe, - .remove =3D axmclk_remove, + .remove_new =3D axmclk_remove, .driver =3D { .name =3D "clk-axm5516", .of_match_table =3D axmclk_match_table, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F6B6C7618A for ; Sun, 12 Mar 2023 16:15:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229665AbjCLQPp (ORCPT ); Sun, 12 Mar 2023 12:15:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230092AbjCLQP1 (ORCPT ); Sun, 12 Mar 2023 12:15:27 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E8F636689 for ; Sun, 12 Mar 2023 09:15:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOLx-0007oS-CL; Sun, 12 Mar 2023 17:15:21 +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 1pbOLw-003f22-Oq; Sun, 12 Mar 2023 17:15:20 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLv-004K8T-Qs; Sun, 12 Mar 2023 17:15:19 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/30] clk: fixed-factor: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:50 +0100 Message-Id: <20230312161512.2715500-9-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1823; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=M5YJcNdD/5hndGzQS3LgoQpQyz7z0G0HAcs9i/Jf418=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfovHqWbj7JZFPDet7+eKJZmO9elyLEyrjbgw 0lSwq5jTPeJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36LwAKCRDB/BR4rcrs CUVjB/9hy8p80nnMmzUBJm4S9UNrcO1YO/GMo86/vZIOXLWwJ9PHfIMZjbYmALSvm+QmHEdthO/ a7N5QDv24kdHsLlDlLkxd9AvLh6nBsDchutGMwZM2EwELSSnlpoOoLyCX3eurEU3OM+BCiRSs7R RR5LSwCsTU86lEgjILzz1yk9miUoUowOdCvgSiiQUGx/jWPc/uBNgkZR/5K0jJm8WxNZTxbD1cV XkwfNa/inoEcx2l2cZUyn5FRLL2TtjjLJeQwplx9cShx1RDEH9cDT5574mFA1xPVywSb757Uv0c Y7F67O1JhKfy7VNTkrs1sXxGQv6HIj0h5fxIc5sV+UneSelm X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-fixed-factor.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/clk-fixed-factor.c b/drivers/clk/clk-fixed-factor.c index f734e34735a9..b3e66202b942 100644 --- a/drivers/clk/clk-fixed-factor.c +++ b/drivers/clk/clk-fixed-factor.c @@ -297,14 +297,12 @@ void __init of_fixed_factor_clk_setup(struct device_n= ode *node) CLK_OF_DECLARE(fixed_factor_clk, "fixed-factor-clock", of_fixed_factor_clk_setup); =20 -static int of_fixed_factor_clk_remove(struct platform_device *pdev) +static void of_fixed_factor_clk_remove(struct platform_device *pdev) { struct clk_hw *clk =3D platform_get_drvdata(pdev); =20 of_clk_del_provider(pdev->dev.of_node); clk_hw_unregister_fixed_factor(clk); - - return 0; } =20 static int of_fixed_factor_clk_probe(struct platform_device *pdev) @@ -336,7 +334,7 @@ static struct platform_driver of_fixed_factor_clk_drive= r =3D { .of_match_table =3D of_fixed_factor_clk_ids, }, .probe =3D of_fixed_factor_clk_probe, - .remove =3D of_fixed_factor_clk_remove, + .remove_new =3D of_fixed_factor_clk_remove, }; builtin_platform_driver(of_fixed_factor_clk_driver); #endif --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94257C6FD19 for ; Sun, 12 Mar 2023 16:15:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230186AbjCLQPh (ORCPT ); Sun, 12 Mar 2023 12:15:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230087AbjCLQP1 (ORCPT ); Sun, 12 Mar 2023 12:15:27 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E0B63647E for ; Sun, 12 Mar 2023 09:15:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOLx-0007oG-9q; Sun, 12 Mar 2023 17:15:21 +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 1pbOLw-003f1x-LO; Sun, 12 Mar 2023 17:15:20 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLw-004K8W-0w; Sun, 12 Mar 2023 17:15:20 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/30] clk: fixed-mmio: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:51 +0100 Message-Id: <20230312161512.2715500-10-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1707; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=O3BSffUzhF87lbhZq01hmKO4dRQjYInCIMfdlJqnSog=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfoz3U7OH8B0N7C8Lm3dEzQKgOrJB5nNt0941 k45EdSkZqOJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36MwAKCRDB/BR4rcrs CSh5B/92q6ddRUWfNxn8SXA3DJ5j/Um3zLfN4gOSGuKYxy2J13NUPww3p4QLMWNTWM2dP2muWee vkfO+duUem0jkgWH0poKrPyG06LSp4dWIIfLRvYI9DYAbZ/HsrfCnHny8OmDPKoPFlxFrSRuwWd 1If6FoEY7tvFudzmUekmY1Y9xdumwJzNR1m5diIVNDF7uK+9Sz7b47prh6cKR6LB4YRPfF3u9M7 0E5111dnP7z5pfkU25w31xuBlD6jnVoOveJ4NqgCChcD36spFvdxrMAthF10pGpgYnylhVHTvtC YU+ymau7Yg7s5NXLYS9SLssKd8qBAumQ4Hr5OPbYef+vbP9O X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-fixed-mmio.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/clk-fixed-mmio.c b/drivers/clk/clk-fixed-mmio.c index 5225d17d6b3f..7435055670d2 100644 --- a/drivers/clk/clk-fixed-mmio.c +++ b/drivers/clk/clk-fixed-mmio.c @@ -71,14 +71,12 @@ static int of_fixed_mmio_clk_probe(struct platform_devi= ce *pdev) return 0; } =20 -static int of_fixed_mmio_clk_remove(struct platform_device *pdev) +static void of_fixed_mmio_clk_remove(struct platform_device *pdev) { struct clk_hw *clk =3D platform_get_drvdata(pdev); =20 of_clk_del_provider(pdev->dev.of_node); clk_hw_unregister_fixed_rate(clk); - - return 0; } =20 static const struct of_device_id of_fixed_mmio_clk_ids[] =3D { @@ -93,7 +91,7 @@ static struct platform_driver of_fixed_mmio_clk_driver = =3D { .of_match_table =3D of_fixed_mmio_clk_ids, }, .probe =3D of_fixed_mmio_clk_probe, - .remove =3D of_fixed_mmio_clk_remove, + .remove_new =3D of_fixed_mmio_clk_remove, }; module_platform_driver(of_fixed_mmio_clk_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF202C6FD1F for ; Sun, 12 Mar 2023 16:15:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230095AbjCLQPt (ORCPT ); Sun, 12 Mar 2023 12:15:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230094AbjCLQP2 (ORCPT ); Sun, 12 Mar 2023 12:15:28 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5F4F366A0 for ; Sun, 12 Mar 2023 09:15:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOLy-0007p5-1f; Sun, 12 Mar 2023 17:15:22 +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 1pbOLx-003f2I-Cf; Sun, 12 Mar 2023 17:15:21 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLw-004K8d-88; Sun, 12 Mar 2023 17:15:20 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/30] clk: fixed-rate: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:52 +0100 Message-Id: <20230312161512.2715500-11-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1718; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=po8EXvs+7kHg+zX81YA98XCvTJMed7ODKE0yUfz1NMA=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfo7HhZVAZ7xgnVadaKVWiVIjah3rnTnbXaAg kP/auTHxkWJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36OwAKCRDB/BR4rcrs CQBoB/970blcFnob82f3+cSBAU22kQDO9u+2fsoXotCRpnYOj8hZiZlU4Wu6W9SbSmJCwzSVbnQ p2Dp7GP3jfWchSOHVqCuLlUw16EEO2rMEHPxNWsP28CSow3Z4bGVM2rX5M4on/0VH+NQWg7rBu2 aKN3w1WCFLc6lwB9MfY63O7uOBov17HVfth8EqORFgvtHucvDczHepS6hT/ZZkrluu74Kk1GAIC Ye7ujDgMZt/eQx7R5iuzFoKrWKxzRm7OoSJ2yIbPw0pfSdrKTRgrKZpKojH+Z23GOfOYWGUR8pa 0rX+eMLhDZmVKxCbWeCtLxJ4F9HMELZJ6yNPKPIyfMuEk+fr X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-fixed-rate.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/clk-fixed-rate.c b/drivers/clk/clk-fixed-rate.c index 7d775954e26d..3481eb8cdeb3 100644 --- a/drivers/clk/clk-fixed-rate.c +++ b/drivers/clk/clk-fixed-rate.c @@ -196,14 +196,12 @@ void __init of_fixed_clk_setup(struct device_node *no= de) } CLK_OF_DECLARE(fixed_clk, "fixed-clock", of_fixed_clk_setup); =20 -static int of_fixed_clk_remove(struct platform_device *pdev) +static void of_fixed_clk_remove(struct platform_device *pdev) { struct clk_hw *hw =3D platform_get_drvdata(pdev); =20 of_clk_del_provider(pdev->dev.of_node); clk_hw_unregister_fixed_rate(hw); - - return 0; } =20 static int of_fixed_clk_probe(struct platform_device *pdev) @@ -234,7 +232,7 @@ static struct platform_driver of_fixed_clk_driver =3D { .of_match_table =3D of_fixed_clk_ids, }, .probe =3D of_fixed_clk_probe, - .remove =3D of_fixed_clk_remove, + .remove_new =3D of_fixed_clk_remove, }; builtin_platform_driver(of_fixed_clk_driver); #endif --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1177C6FD1F for ; Sun, 12 Mar 2023 16:16:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230331AbjCLQQC (ORCPT ); Sun, 12 Mar 2023 12:16:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230111AbjCLQP3 (ORCPT ); Sun, 12 Mar 2023 12:15:29 -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 1350036FE0 for ; Sun, 12 Mar 2023 09:15:28 -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 1pbOLx-0007ox-Tn; Sun, 12 Mar 2023 17:15:21 +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 1pbOLx-003f2D-9E; Sun, 12 Mar 2023 17:15:21 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLw-004K8g-FP; Sun, 12 Mar 2023 17:15:20 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Eugeniy Paltsev , Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 11/30] clk: hsdk-pll: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:53 +0100 Message-Id: <20230312161512.2715500-12-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1568; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=9IIhWYLjDyIormTcpgttLaDidPj81RFP65xbAEWauvk=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfo/+yqn918kUn8pOgYbEqE+b5exqLyF9mW6r K75nsjTeQCJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36PwAKCRDB/BR4rcrs CWOJB/90DoAB++WezQIIJgaJ5BaqL/pdTJ1R4ILNlVPtCWVAmTviQRh4aivInV718Wwry0Rd9Lm FJ22ZEN9LGHv2TSjtQn+2VRRLAwwCTB75yk5+ccgvXUWKQL1aj+DQ8WDu7g2gc2+B3QJPWGaVqC r4wIhVoaN7fHexeAoucGc2xlJXji4gSs/krnj90gNtWjM+0KduYyZhHZTBohBEUgnXMrnXcxYz3 FKefheVYPdbmkC+9/QO1ZiHTILg+IDIRyN+oPEgG1HlRE2sK1jsVvepoKXQ0fMNUyNmGOonITn8 Zt6CkmpL3x5UtYvX83CWW8ozJBJhGgWJoQ8Vn5snkzpnT7nm X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-hsdk-pll.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/clk/clk-hsdk-pll.c b/drivers/clk/clk-hsdk-pll.c index 60007b508590..766e139972fe 100644 --- a/drivers/clk/clk-hsdk-pll.c +++ b/drivers/clk/clk-hsdk-pll.c @@ -350,10 +350,9 @@ static int hsdk_pll_clk_probe(struct platform_device *= pdev) &pll_clk->hw); } =20 -static int hsdk_pll_clk_remove(struct platform_device *pdev) +static void hsdk_pll_clk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - return 0; } =20 static void __init of_hsdk_pll_clk_setup(struct device_node *node) @@ -432,6 +431,6 @@ static struct platform_driver hsdk_pll_clk_driver =3D { .of_match_table =3D hsdk_pll_clk_id, }, .probe =3D hsdk_pll_clk_probe, - .remove =3D hsdk_pll_clk_remove, + .remove_new =3D hsdk_pll_clk_remove, }; builtin_platform_driver(hsdk_pll_clk_driver); --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6EDFDC7618A for ; Sun, 12 Mar 2023 16:15:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230204AbjCLQPm (ORCPT ); Sun, 12 Mar 2023 12:15:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230005AbjCLQP2 (ORCPT ); Sun, 12 Mar 2023 12:15:28 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49C743669A for ; Sun, 12 Mar 2023 09:15:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOLx-0007ov-Tz; Sun, 12 Mar 2023 17:15:21 +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 1pbOLx-003f2C-8s; Sun, 12 Mar 2023 17:15:21 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLw-004K8k-LY; Sun, 12 Mar 2023 17:15:20 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 12/30] clk: palmas: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:54 +0100 Message-Id: <20230312161512.2715500-13-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1538; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=zEZr6iE44gTKWVY3i3VQqSeHRxgblN9cAWTQGCH3j7U=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpCxY8G+6AOtqpcGsR8pWvAP2L4zD2Z/iA2z O1CHq8ezi+JATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36QgAKCRDB/BR4rcrs CfIXB/sFFu8yMgEcJcHDsWKJXt/uzgNB5264hhGM3+xfDr7ZDaQYJwxRRhvZzYn2LFH3SNL3+Oh tvbUkxroxVrfr7mUwj4r6E9rAISFqDnmxj1lfKoA6e1ODz905EcF39bWP9nfsiRZa6aIZ/3c/GI 9Al6AIDuBcGmGX8lPmACB1RVwTwjRjfuoa1VoJAFWmHL3+JFBaoHVt1oGekQ3kAyq0gS/xSwrAV xPk8mDtHmUaDpRP/PDEyOYwvTWPkMm6x64KsdiXHeW/FMeaARSSd4HKE34tZwRsmlwLDdMONyIO uEwPxcj10UimYxGWYg9rwwLB//2zYIpFsq9bgEJj49HBsPqt X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-palmas.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/clk/clk-palmas.c b/drivers/clk/clk-palmas.c index b8c3d0da1918..74a241b1e1f4 100644 --- a/drivers/clk/clk-palmas.c +++ b/drivers/clk/clk-palmas.c @@ -271,10 +271,9 @@ static int palmas_clks_probe(struct platform_device *p= dev) return ret; } =20 -static int palmas_clks_remove(struct platform_device *pdev) +static void palmas_clks_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - return 0; } =20 static struct platform_driver palmas_clks_driver =3D { @@ -283,7 +282,7 @@ static struct platform_driver palmas_clks_driver =3D { .of_match_table =3D palmas_clks_of_match, }, .probe =3D palmas_clks_probe, - .remove =3D palmas_clks_remove, + .remove_new =3D palmas_clks_remove, }; =20 module_platform_driver(palmas_clks_driver); --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 205D9C6FD1F for ; Sun, 12 Mar 2023 16:15:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230243AbjCLQPw (ORCPT ); Sun, 12 Mar 2023 12:15:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230098AbjCLQP2 (ORCPT ); Sun, 12 Mar 2023 12:15:28 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7171367DA for ; Sun, 12 Mar 2023 09:15:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOLy-0007pC-5v; Sun, 12 Mar 2023 17:15:22 +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 1pbOLx-003f2O-H9; Sun, 12 Mar 2023 17:15:21 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLw-004K8p-T4; Sun, 12 Mar 2023 17:15:20 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 13/30] clk: pwm: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:55 +0100 Message-Id: <20230312161512.2715500-14-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1581; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=Q+rpWm1HaK4xx5/3Iyhh29mSbdCQ7CSBoKry7Jsdg+A=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpGnV0BSNFK4Uz6sZ29SPWtGD/x44TndcG5w cCAsvh3fsSJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36RgAKCRDB/BR4rcrs CXCTB/9RpM0vW3C+ksZO4wadXUqTA5CZwwP3+1e1bM4QumdyWcbH31e8qdKW0w2SdAxHWW98v/v SxqmVOYSnUuf3SJbtqdN2xp3Le9rRn1S5ojOIdKMcZyvFYNL/Tvg5v3Q/RCY4TrRU7vIc+tquSq I1rlxSBEnx7IlqV7cNFSeK8iqAqCL6QPbSlNv1rORND0kQw1yP3HlfUJUtmBgj1C88jVLu8mq6s N5JfHxEp/t2zlrwmRWrXJh3hdLPeE39/aJAXRHs+OCnjScEoWeTZYowqeeZ4cNKPodKgAY4kijj pFE/kaQjJpsQTEAK3TnLfPcDxDsvYKugYaN88TslTUMRuRb/ X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-pwm.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/clk-pwm.c b/drivers/clk/clk-pwm.c index da2c8eddfd9f..3dd2b83d0404 100644 --- a/drivers/clk/clk-pwm.c +++ b/drivers/clk/clk-pwm.c @@ -129,11 +129,9 @@ static int clk_pwm_probe(struct platform_device *pdev) return of_clk_add_hw_provider(node, of_clk_hw_simple_get, &clk_pwm->hw); } =20 -static int clk_pwm_remove(struct platform_device *pdev) +static void clk_pwm_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - - return 0; } =20 static const struct of_device_id clk_pwm_dt_ids[] =3D { @@ -144,7 +142,7 @@ MODULE_DEVICE_TABLE(of, clk_pwm_dt_ids); =20 static struct platform_driver clk_pwm_driver =3D { .probe =3D clk_pwm_probe, - .remove =3D clk_pwm_remove, + .remove_new =3D clk_pwm_remove, .driver =3D { .name =3D "pwm-clock", .of_match_table =3D clk_pwm_dt_ids, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A13C8C6FD19 for ; Sun, 12 Mar 2023 16:15:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229515AbjCLQPb (ORCPT ); Sun, 12 Mar 2023 12:15:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230081AbjCLQP0 (ORCPT ); Sun, 12 Mar 2023 12:15:26 -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 13E7934315 for ; Sun, 12 Mar 2023 09:15:25 -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 1pbOLz-0007pu-1m; Sun, 12 Mar 2023 17:15: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 1pbOLy-003f2a-Cn; Sun, 12 Mar 2023 17:15:22 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLx-004K8s-5U; Sun, 12 Mar 2023 17:15:21 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Krzysztof Kozlowski , Michael Turquette , Stephen Boyd Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH 14/30] clk: s2mps11: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:56 +0100 Message-Id: <20230312161512.2715500-15-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1740; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=Xs0m+ONUFGBzpqo3SPbXN28Ib5a63TFdvYWV7zGlfsI=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpJeN2QBtTOvNJ2F99zBqvIKWPabOgHyKqCE GHByGUriRyJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36SQAKCRDB/BR4rcrs CQtxCACghEFEdA2KmcHIGePbaODwj7iMAWEjhR/wD5aQJdtZ+QPkD7iWot+aOH6J2zc72h4xNiz klix6posKc6ApOT3ZNmySv5rOxBBGvEgYgXBlRFhh2tYTMJCNRX6gNcfGd8FXeE/tgeE6cwo2Fe XUt+if/1ZWQVkqGGnjmLkHeD9gddXgMXAS9hQOXJ/7Zp3aKk+OlZHkshhTYLfG06PtHlzUtvBgZ qDlfe7g9ie/Ad7ZUMMcPi5263EwpyuwfoDrHw/YQYPISTvG95md+OuDZm87SItQPHUda+2xH0Ym OVQTdsDDf88Xk31Zg028niO7pIfa+5aYI+hBKGq3Evy3axzm X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig Reviewed-by: Krzysztof Kozlowski --- drivers/clk/clk-s2mps11.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index a3e883a9f406..38c456540d1b 100644 --- a/drivers/clk/clk-s2mps11.c +++ b/drivers/clk/clk-s2mps11.c @@ -202,7 +202,7 @@ static int s2mps11_clk_probe(struct platform_device *pd= ev) return ret; } =20 -static int s2mps11_clk_remove(struct platform_device *pdev) +static void s2mps11_clk_remove(struct platform_device *pdev) { struct s2mps11_clk *s2mps11_clks =3D platform_get_drvdata(pdev); int i; @@ -217,8 +217,6 @@ static int s2mps11_clk_remove(struct platform_device *p= dev) continue; clkdev_drop(s2mps11_clks[i].lookup); } - - return 0; } =20 static const struct platform_device_id s2mps11_clk_id[] =3D { @@ -265,7 +263,7 @@ static struct platform_driver s2mps11_clk_driver =3D { .name =3D "s2mps11-clk", }, .probe =3D s2mps11_clk_probe, - .remove =3D s2mps11_clk_remove, + .remove_new =3D s2mps11_clk_remove, .id_table =3D s2mps11_clk_id, }; module_platform_driver(s2mps11_clk_driver); --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AF435C6FA99 for ; Sun, 12 Mar 2023 16:16:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230072AbjCLQQT (ORCPT ); Sun, 12 Mar 2023 12:16:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229934AbjCLQPc (ORCPT ); Sun, 12 Mar 2023 12:15:32 -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 44258366A0 for ; Sun, 12 Mar 2023 09:15:30 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOLz-0007pw-4T; Sun, 12 Mar 2023 17:15: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 1pbOLy-003f2c-Ed; Sun, 12 Mar 2023 17:15:22 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLx-004K8w-C4; Sun, 12 Mar 2023 17:15:21 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Sudeep Holla , Michael Turquette , Stephen Boyd Cc: Cristian Marussi , linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 15/30] clk: scpi: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:57 +0100 Message-Id: <20230312161512.2715500-16-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1794; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=5MjW7VOTnBQN8nKLLIpeOEnNz12SyhOVFAuyxtqwJh0=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpSJ8kZ9YYoZicMME15YLeYOAXzTzoRJd/w9 RbWIYoa46uJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36UgAKCRDB/BR4rcrs CcajCACIKTV9216hk4TxgtFgcKybJIbdXSl3GMe5VLuQ7axtMl+Klu0Q7fo9MvpT91uFkZmg3U6 W5WidGSi0mjFJefT8EkBXtargZJR+FcJmGPTPAa9G9Iis5Fu0NRROc4ha52DBddGxSCdsCRuWn3 kaYrg6Aw08UOEAONWa2EmGyxDTfwsm7Z/qpJP56CQxwD/VppH3q+uGUbe1O7iOoOyuxlw52FvNN YupboOkvhmLL/yJBsmNOwH9yEdsSr7zPuaZVa9HhQ0GB6pt0caFZnxGujA6lMwgXmJZmziLOTdm r/S5yxYXPu/qW92WjVhjlXCttm+xnyxyUxJQ9ChzaueomuSW X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig Acked-by: Sudeep Holla --- drivers/clk/clk-scpi.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/clk/clk-scpi.c b/drivers/clk/clk-scpi.c index a39af7616b13..3fb4003453ee 100644 --- a/drivers/clk/clk-scpi.c +++ b/drivers/clk/clk-scpi.c @@ -246,7 +246,7 @@ static int scpi_clk_add(struct device *dev, struct devi= ce_node *np, return of_clk_add_hw_provider(np, scpi_of_clk_src_get, clk_data); } =20 -static int scpi_clocks_remove(struct platform_device *pdev) +static void scpi_clocks_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *child, *np =3D dev->of_node; @@ -258,7 +258,6 @@ static int scpi_clocks_remove(struct platform_device *p= dev) =20 for_each_available_child_of_node(np, child) of_clk_del_provider(np); - return 0; } =20 static int scpi_clocks_probe(struct platform_device *pdev) @@ -305,7 +304,7 @@ static struct platform_driver scpi_clocks_driver =3D { .of_match_table =3D scpi_clocks_ids, }, .probe =3D scpi_clocks_probe, - .remove =3D scpi_clocks_remove, + .remove_new =3D scpi_clocks_remove, }; module_platform_driver(scpi_clocks_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F18EC6FA99 for ; Sun, 12 Mar 2023 16:16:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230379AbjCLQQ3 (ORCPT ); Sun, 12 Mar 2023 12:16:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230081AbjCLQPc (ORCPT ); Sun, 12 Mar 2023 12:15:32 -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 50F1634C05 for ; Sun, 12 Mar 2023 09:15:31 -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 1pbOLz-0007qH-Ia; Sun, 12 Mar 2023 17:15: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 1pbOLy-003f2l-Ts; Sun, 12 Mar 2023 17:15:22 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLx-004K91-IS; Sun, 12 Mar 2023 17:15:21 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Maxime Coquelin , Alexandre Torgue Cc: linux-clk@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 16/30] clk: stm32mp1: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:58 +0100 Message-Id: <20230312161512.2715500-17-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1750; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=MogxSQmmNC/utpK5URpwGXRDdvqjCsNxmjM9To6NNPI=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpVv4WC5SN8KRSwbPkT0MGYOp14+cdP+X83h 64BGa9EPMWJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36VQAKCRDB/BR4rcrs CRbaCACa7m2DRFNqbLtWO+lY/78L7saGvxHdMIkcXdeaeAiPFbpjFY4617uowoj4C6b5GnaPfyH Twy4Tx88ijQ4B6ZaK8/Mz6RwJNPoHdsqEfr6pP/J930vPyxyhsqKNiFHf52KT07QR8J+Y0Gysiw OoGJhxXhja8ITO6VbYIwWN1Ra8RTsimGgU31zVpFkeQXcsG4C+q/FSOi6vfs9NDYMOvjSn5UtaQ XsS55usZCJXzeO1JE7Vz5t5BKlsttxmu7cLhvviTfoitn6wzAwCXV6RQG3j69rMduNeVVKNbr9y rzmX+CXLNCzRAo7Kz2H1oFSCFofpB1kpGkANZUqNwRHuLw1s X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/clk-stm32mp1.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/clk-stm32mp1.c b/drivers/clk/clk-stm32mp1.c index 01e5a466897f..939779f66867 100644 --- a/drivers/clk/clk-stm32mp1.c +++ b/drivers/clk/clk-stm32mp1.c @@ -2434,15 +2434,13 @@ static int stm32mp1_rcc_clocks_probe(struct platfor= m_device *pdev) return ret; } =20 -static int stm32mp1_rcc_clocks_remove(struct platform_device *pdev) +static void stm32mp1_rcc_clocks_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *child, *np =3D dev_of_node(dev); =20 for_each_available_child_of_node(np, child) of_clk_del_provider(child); - - return 0; } =20 static struct platform_driver stm32mp1_rcc_clocks_driver =3D { @@ -2451,7 +2449,7 @@ static struct platform_driver stm32mp1_rcc_clocks_dri= ver =3D { .of_match_table =3D stm32mp1_match_data, }, .probe =3D stm32mp1_rcc_clocks_probe, - .remove =3D stm32mp1_rcc_clocks_remove, + .remove_new =3D stm32mp1_rcc_clocks_remove, }; =20 static int __init stm32mp1_clocks_init(void) --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63B6EC6FD19 for ; Sun, 12 Mar 2023 16:16:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229801AbjCLQQN (ORCPT ); Sun, 12 Mar 2023 12:16:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230123AbjCLQP3 (ORCPT ); Sun, 12 Mar 2023 12:15:29 -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 CF55B36FE6 for ; Sun, 12 Mar 2023 09:15:28 -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 1pbOLz-0007qO-L1; Sun, 12 Mar 2023 17:15: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 1pbOLz-003f2p-0t; Sun, 12 Mar 2023 17:15:23 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLx-004K95-PW; Sun, 12 Mar 2023 17:15:21 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 17/30] clk: hisilicon: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:14:59 +0100 Message-Id: <20230312161512.2715500-18-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=4540; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=ye2ciOe3ofcc3K17gZT5m+pVFUUGsOAA71z95jRxpm8=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpZYl0t5migPG1PjAdI329B/YUO9BRpg/aQo +sxDkpiF62JATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36WQAKCRDB/BR4rcrs CchQB/4q6JLHgZDa5Q1lmNGpDZvTaCp3hDH/26zUQyE+2WQC5S2bSle6rZaAY9hvXKgoHosyjbO KW0D2iuC3e6IzZv//VKTgFTH+uiX7IsKMJA254NCW5cRiqg5IJdlELZFkiq20r41SyRAk9p2Dgo Kf4Jl5dD0BKg7TSO60d9JhBxsgnvJhVCwNoOsz1I6w1abrFXw6FMT8V7ulnkaY2OkIr7lqWxVea Gs0+AkUcMh3lS8SFJpJQmoRnPg/E/lNhblOz92FIJb7f54SoKBwm9h9tpJT/pt6N+YbQuLcJ251 k2I31+a6JmBJvgLwLqJxbknc7yLaQlwbVJ/78xd+OLAUZXcx X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/hisilicon/clk-hi3519.c | 5 ++--- drivers/clk/hisilicon/clk-hi3559a.c | 5 ++--- drivers/clk/hisilicon/crg-hi3516cv300.c | 5 ++--- drivers/clk/hisilicon/crg-hi3798cv200.c | 5 ++--- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/clk/hisilicon/clk-hi3519.c b/drivers/clk/hisilicon/clk= -hi3519.c index ad0c7f350cf0..b871872d9960 100644 --- a/drivers/clk/hisilicon/clk-hi3519.c +++ b/drivers/clk/hisilicon/clk-hi3519.c @@ -162,13 +162,12 @@ static int hi3519_clk_probe(struct platform_device *p= dev) return 0; } =20 -static int hi3519_clk_remove(struct platform_device *pdev) +static void hi3519_clk_remove(struct platform_device *pdev) { struct hi3519_crg_data *crg =3D platform_get_drvdata(pdev); =20 hisi_reset_exit(crg->rstc); hi3519_clk_unregister(pdev); - return 0; } =20 =20 @@ -180,7 +179,7 @@ MODULE_DEVICE_TABLE(of, hi3519_clk_match_table); =20 static struct platform_driver hi3519_clk_driver =3D { .probe =3D hi3519_clk_probe, - .remove =3D hi3519_clk_remove, + .remove_new =3D hi3519_clk_remove, .driver =3D { .name =3D "hi3519-clk", .of_match_table =3D hi3519_clk_match_table, diff --git a/drivers/clk/hisilicon/clk-hi3559a.c b/drivers/clk/hisilicon/cl= k-hi3559a.c index 9ea1a80acbe8..4f97638809b7 100644 --- a/drivers/clk/hisilicon/clk-hi3559a.c +++ b/drivers/clk/hisilicon/clk-hi3559a.c @@ -810,18 +810,17 @@ static int hi3559av100_crg_probe(struct platform_devi= ce *pdev) return 0; } =20 -static int hi3559av100_crg_remove(struct platform_device *pdev) +static void hi3559av100_crg_remove(struct platform_device *pdev) { struct hisi_crg_dev *crg =3D platform_get_drvdata(pdev); =20 hisi_reset_exit(crg->rstc); crg->funcs->unregister_clks(pdev); - return 0; } =20 static struct platform_driver hi3559av100_crg_driver =3D { .probe =3D hi3559av100_crg_probe, - .remove =3D hi3559av100_crg_remove, + .remove_new =3D hi3559av100_crg_remove, .driver =3D { .name =3D "hi3559av100-clock", .of_match_table =3D hi3559av100_crg_match_table, diff --git a/drivers/clk/hisilicon/crg-hi3516cv300.c b/drivers/clk/hisilico= n/crg-hi3516cv300.c index 5d4e61c7a429..fe1bd3e3f988 100644 --- a/drivers/clk/hisilicon/crg-hi3516cv300.c +++ b/drivers/clk/hisilicon/crg-hi3516cv300.c @@ -284,18 +284,17 @@ static int hi3516cv300_crg_probe(struct platform_devi= ce *pdev) return 0; } =20 -static int hi3516cv300_crg_remove(struct platform_device *pdev) +static void hi3516cv300_crg_remove(struct platform_device *pdev) { struct hisi_crg_dev *crg =3D platform_get_drvdata(pdev); =20 hisi_reset_exit(crg->rstc); crg->funcs->unregister_clks(pdev); - return 0; } =20 static struct platform_driver hi3516cv300_crg_driver =3D { .probe =3D hi3516cv300_crg_probe, - .remove =3D hi3516cv300_crg_remove, + .remove_new =3D hi3516cv300_crg_remove, .driver =3D { .name =3D "hi3516cv300-crg", .of_match_table =3D hi3516cv300_crg_match_table, diff --git a/drivers/clk/hisilicon/crg-hi3798cv200.c b/drivers/clk/hisilico= n/crg-hi3798cv200.c index 08a19ba776e6..a0b16be1e25d 100644 --- a/drivers/clk/hisilicon/crg-hi3798cv200.c +++ b/drivers/clk/hisilicon/crg-hi3798cv200.c @@ -367,18 +367,17 @@ static int hi3798cv200_crg_probe(struct platform_devi= ce *pdev) return 0; } =20 -static int hi3798cv200_crg_remove(struct platform_device *pdev) +static void hi3798cv200_crg_remove(struct platform_device *pdev) { struct hisi_crg_dev *crg =3D platform_get_drvdata(pdev); =20 hisi_reset_exit(crg->rstc); crg->funcs->unregister_clks(pdev); - return 0; } =20 static struct platform_driver hi3798cv200_crg_driver =3D { .probe =3D hi3798cv200_crg_probe, - .remove =3D hi3798cv200_crg_remove, + .remove_new =3D hi3798cv200_crg_remove, .driver =3D { .name =3D "hi3798cv200-crg", .of_match_table =3D hi3798cv200_crg_match_table, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD7CAC6FA99 for ; Sun, 12 Mar 2023 16:16:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230286AbjCLQQl (ORCPT ); Sun, 12 Mar 2023 12:16:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230175AbjCLQPg (ORCPT ); Sun, 12 Mar 2023 12:15:36 -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 C118238663 for ; Sun, 12 Mar 2023 09:15:33 -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 1pbOLz-0007q3-CF; Sun, 12 Mar 2023 17:15: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 1pbOLy-003f2i-Oh; Sun, 12 Mar 2023 17:15:22 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLy-004K98-0D; Sun, 12 Mar 2023 17:15:22 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Nishanth Menon , Tero Kristo , Santosh Shilimkar , Michael Turquette , Stephen Boyd Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH 18/30] clk: keystone: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:00 +0100 Message-Id: <20230312161512.2715500-19-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1610; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=EdxpF9B3WevfLOCMcjAbOLN0OKWfDkQVotXJZRfvPU8=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpdmGxBzJ7rYzLX8wC5RQFJSkGcMuClwg3yA dBWvUrN1waJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36XQAKCRDB/BR4rcrs Ce6zCACAc5Dsu8CfbYeza6I0tWh8Pvi239Ywn32eZEcBLa/U12ZcdegfxZaZ9x7i6L+NkxW0lhj fx7skQVtNlhSbxawvIMUE6oPRT//UZJGEFo5LcL2WypYFfFwAt3X+a1ve6vH8O3sGFY5LLarJ4u iGslA6xK0d2rcXjW8WDDjkQMiFqUZ45YpLo1o0BjVNXKPJ0cE7qW/s2mcex6dfr7M0F3Udjk/t+ uA39pWbhe9Xpy+71ntFva3IPVzXwcJvZRIm6EVf9g8hMVHpZmN1NZR1BdKbxv8CupGmdap00eGp uHIdAqmAM/tLYv7VJQVs7SUiY/oNRtOEuoCFNSITpo6Yg/hU X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/keystone/sci-clk.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/keystone/sci-clk.c b/drivers/clk/keystone/sci-clk.c index d4b4e74e22da..910ecd58c4ca 100644 --- a/drivers/clk/keystone/sci-clk.c +++ b/drivers/clk/keystone/sci-clk.c @@ -689,16 +689,14 @@ static int ti_sci_clk_probe(struct platform_device *p= dev) * via common clock framework. Any memory allocated for the device will * be free'd silently via the devm framework. Returns 0 always. */ -static int ti_sci_clk_remove(struct platform_device *pdev) +static void ti_sci_clk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - - return 0; } =20 static struct platform_driver ti_sci_clk_driver =3D { .probe =3D ti_sci_clk_probe, - .remove =3D ti_sci_clk_remove, + .remove_new =3D ti_sci_clk_remove, .driver =3D { .name =3D "ti-sci-clk", .of_match_table =3D of_match_ptr(ti_sci_clk_of_match), --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0EB30C6FD19 for ; Sun, 12 Mar 2023 16:16:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230410AbjCLQQf (ORCPT ); Sun, 12 Mar 2023 12:16:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230167AbjCLQPf (ORCPT ); Sun, 12 Mar 2023 12:15:35 -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 BDD6B37F2C for ; Sun, 12 Mar 2023 09:15:31 -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 1pbOLz-0007qV-P1; Sun, 12 Mar 2023 17:15: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 1pbOLz-003f2s-4x; Sun, 12 Mar 2023 17:15:23 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLy-004K9B-98; Sun, 12 Mar 2023 17:15:22 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Matthias Brugger Cc: AngeloGioacchino Del Regno , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH 19/30] clk: mediatek: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:01 +0100 Message-Id: <20230312161512.2715500-20-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=21166; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=KF+g9q1reJzWvdfls8YQVm2+v74wmRfuk2qSt/B8rws=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpgnE5WTo2JCisMSxXG7j3+1kmXNntVdUCGa 5XDf1fISXqJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36YAAKCRDB/BR4rcrs CQwkCACMFMdOG/RNM5hmU7yU4BGAeo0YkT1YIkJOfIKLlR6HwBXC22ShIEh63ElG8h/qqfdgTCB oTpIK/GxS5MMXlUb9FaH16mzoNNVU9nmQnasx/SoatovMVM0EjN3AkkhNIv7cCRE9Rfk+e9zw4W xAoy+AUQ/K3GYssGZ8EAqPb+7HYriWhSiuNzzcKqobbLqUHxEyjju4px/PRsANH5HUN6UfGQch/ ozWZQTNuBA8EzApqFlvzxT1fLWUhzVYVFtadg1pr3/emQa2YY3Y1WXKuNNvo9GksGW0cjMkGjeR phuOBEJ+5ckvW9g+x7izXeq4+a4d+Ix0fvIQz6pB27zcgqN9 X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/mediatek/clk-mt6795-apmixedsys.c | 6 ++---- drivers/clk/mediatek/clk-mt6795-infracfg.c | 6 ++---- drivers/clk/mediatek/clk-mt6795-mm.c | 6 ++---- drivers/clk/mediatek/clk-mt6795-pericfg.c | 6 ++---- drivers/clk/mediatek/clk-mt8173-apmixedsys.c | 6 ++---- drivers/clk/mediatek/clk-mt8173-infracfg.c | 6 ++---- drivers/clk/mediatek/clk-mt8173-mm.c | 6 ++---- drivers/clk/mediatek/clk-mt8186-apmixedsys.c | 6 ++---- drivers/clk/mediatek/clk-mt8186-mcu.c | 6 ++---- drivers/clk/mediatek/clk-mt8186-mm.c | 6 ++---- drivers/clk/mediatek/clk-mt8195-apmixedsys.c | 6 ++---- drivers/clk/mediatek/clk-mt8195-apusys_pll.c | 6 ++---- drivers/clk/mediatek/clk-mt8195-topckgen.c | 6 ++---- drivers/clk/mediatek/clk-mt8195-vdo0.c | 6 ++---- drivers/clk/mediatek/clk-mt8195-vdo1.c | 6 ++---- drivers/clk/mediatek/clk-mt8195-vpp0.c | 6 ++---- drivers/clk/mediatek/clk-mt8195-vpp1.c | 6 ++---- 17 files changed, 34 insertions(+), 68 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt6795-apmixedsys.c b/drivers/clk/med= iatek/clk-mt6795-apmixedsys.c index 59761c72d3bc..d71784f82d85 100644 --- a/drivers/clk/mediatek/clk-mt6795-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt6795-apmixedsys.c @@ -130,7 +130,7 @@ static int clk_mt6795_apmixed_probe(struct platform_dev= ice *pdev) return ret; } =20 -static int clk_mt6795_apmixed_remove(struct platform_device *pdev) +static void clk_mt6795_apmixed_remove(struct platform_device *pdev) { struct device_node *node =3D pdev->dev.of_node; struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -139,13 +139,11 @@ static int clk_mt6795_apmixed_remove(struct platform_= device *pdev) mtk_clk_unregister_ref2usb_tx(clk_data->hws[CLK_APMIXED_REF2USB_TX]); mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt6795_apmixed_drv =3D { .probe =3D clk_mt6795_apmixed_probe, - .remove =3D clk_mt6795_apmixed_remove, + .remove_new =3D clk_mt6795_apmixed_remove, .driver =3D { .name =3D "clk-mt6795-apmixed", .of_match_table =3D of_match_clk_mt6795_apmixed, diff --git a/drivers/clk/mediatek/clk-mt6795-infracfg.c b/drivers/clk/media= tek/clk-mt6795-infracfg.c index 23d9fc057e61..e74902d51db7 100644 --- a/drivers/clk/mediatek/clk-mt6795-infracfg.c +++ b/drivers/clk/mediatek/clk-mt6795-infracfg.c @@ -126,7 +126,7 @@ static int clk_mt6795_infracfg_probe(struct platform_de= vice *pdev) return ret; } =20 -static int clk_mt6795_infracfg_remove(struct platform_device *pdev) +static void clk_mt6795_infracfg_remove(struct platform_device *pdev) { struct device_node *node =3D pdev->dev.of_node; struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -135,8 +135,6 @@ static int clk_mt6795_infracfg_remove(struct platform_d= evice *pdev) mtk_clk_unregister_cpumuxes(cpu_muxes, ARRAY_SIZE(cpu_muxes), clk_data); mtk_clk_unregister_gates(infra_gates, ARRAY_SIZE(infra_gates), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt6795_infracfg_drv =3D { @@ -145,7 +143,7 @@ static struct platform_driver clk_mt6795_infracfg_drv = =3D { .of_match_table =3D of_match_clk_mt6795_infracfg, }, .probe =3D clk_mt6795_infracfg_probe, - .remove =3D clk_mt6795_infracfg_remove, + .remove_new =3D clk_mt6795_infracfg_remove, }; module_platform_driver(clk_mt6795_infracfg_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt6795-mm.c b/drivers/clk/mediatek/cl= k-mt6795-mm.c index eebb6143ada2..426f9897877d 100644 --- a/drivers/clk/mediatek/clk-mt6795-mm.c +++ b/drivers/clk/mediatek/clk-mt6795-mm.c @@ -107,7 +107,7 @@ static int clk_mt6795_mm_probe(struct platform_device *= pdev) return ret; } =20 -static int clk_mt6795_mm_remove(struct platform_device *pdev) +static void clk_mt6795_mm_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *node =3D dev->parent->of_node; @@ -116,8 +116,6 @@ static int clk_mt6795_mm_remove(struct platform_device = *pdev) of_clk_del_provider(node); mtk_clk_unregister_gates(mm_gates, ARRAY_SIZE(mm_gates), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt6795_mm_drv =3D { @@ -125,7 +123,7 @@ static struct platform_driver clk_mt6795_mm_drv =3D { .name =3D "clk-mt6795-mm", }, .probe =3D clk_mt6795_mm_probe, - .remove =3D clk_mt6795_mm_remove, + .remove_new =3D clk_mt6795_mm_remove, }; module_platform_driver(clk_mt6795_mm_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt6795-pericfg.c b/drivers/clk/mediat= ek/clk-mt6795-pericfg.c index 08aaa9b09c36..9e30d8d186a2 100644 --- a/drivers/clk/mediatek/clk-mt6795-pericfg.c +++ b/drivers/clk/mediatek/clk-mt6795-pericfg.c @@ -135,7 +135,7 @@ static int clk_mt6795_pericfg_probe(struct platform_dev= ice *pdev) return ret; } =20 -static int clk_mt6795_pericfg_remove(struct platform_device *pdev) +static void clk_mt6795_pericfg_remove(struct platform_device *pdev) { struct device_node *node =3D pdev->dev.of_node; struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -144,8 +144,6 @@ static int clk_mt6795_pericfg_remove(struct platform_de= vice *pdev) mtk_clk_unregister_composites(peri_clks, ARRAY_SIZE(peri_clks), clk_data); mtk_clk_unregister_gates(peri_gates, ARRAY_SIZE(peri_gates), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt6795_pericfg_drv =3D { @@ -154,7 +152,7 @@ static struct platform_driver clk_mt6795_pericfg_drv = =3D { .of_match_table =3D of_match_clk_mt6795_pericfg, }, .probe =3D clk_mt6795_pericfg_probe, - .remove =3D clk_mt6795_pericfg_remove, + .remove_new =3D clk_mt6795_pericfg_remove, }; module_platform_driver(clk_mt6795_pericfg_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c b/drivers/clk/med= iatek/clk-mt8173-apmixedsys.c index a56c5845d07a..b7ca15949fd1 100644 --- a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c @@ -130,7 +130,7 @@ static int clk_mt8173_apmixed_probe(struct platform_dev= ice *pdev) return r; } =20 -static int clk_mt8173_apmixed_remove(struct platform_device *pdev) +static void clk_mt8173_apmixed_remove(struct platform_device *pdev) { struct device_node *node =3D pdev->dev.of_node; struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -139,13 +139,11 @@ static int clk_mt8173_apmixed_remove(struct platform_= device *pdev) mtk_clk_unregister_ref2usb_tx(clk_data->hws[CLK_APMIXED_REF2USB_TX]); mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8173_apmixed_drv =3D { .probe =3D clk_mt8173_apmixed_probe, - .remove =3D clk_mt8173_apmixed_remove, + .remove_new =3D clk_mt8173_apmixed_remove, .driver =3D { .name =3D "clk-mt8173-apmixed", .of_match_table =3D of_match_clk_mt8173_apmixed, diff --git a/drivers/clk/mediatek/clk-mt8173-infracfg.c b/drivers/clk/media= tek/clk-mt8173-infracfg.c index 729b3c408c7b..c71c0e5c607d 100644 --- a/drivers/clk/mediatek/clk-mt8173-infracfg.c +++ b/drivers/clk/mediatek/clk-mt8173-infracfg.c @@ -128,7 +128,7 @@ static int clk_mt8173_infracfg_probe(struct platform_de= vice *pdev) return r; } =20 -static int clk_mt8173_infracfg_remove(struct platform_device *pdev) +static void clk_mt8173_infracfg_remove(struct platform_device *pdev) { struct device_node *node =3D pdev->dev.of_node; struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -137,8 +137,6 @@ static int clk_mt8173_infracfg_remove(struct platform_d= evice *pdev) mtk_clk_unregister_cpumuxes(cpu_muxes, ARRAY_SIZE(cpu_muxes), clk_data); mtk_clk_unregister_gates(infra_gates, ARRAY_SIZE(infra_gates), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8173_infracfg_drv =3D { @@ -147,7 +145,7 @@ static struct platform_driver clk_mt8173_infracfg_drv = =3D { .of_match_table =3D of_match_clk_mt8173_infracfg, }, .probe =3D clk_mt8173_infracfg_probe, - .remove =3D clk_mt8173_infracfg_remove, + .remove_new =3D clk_mt8173_infracfg_remove, }; module_platform_driver(clk_mt8173_infracfg_drv); =20 diff --git a/drivers/clk/mediatek/clk-mt8173-mm.c b/drivers/clk/mediatek/cl= k-mt8173-mm.c index 315430ad1581..a941b4c688a5 100644 --- a/drivers/clk/mediatek/clk-mt8173-mm.c +++ b/drivers/clk/mediatek/clk-mt8173-mm.c @@ -136,7 +136,7 @@ static int clk_mt8173_mm_probe(struct platform_device *= pdev) return 0; } =20 -static int clk_mt8173_mm_remove(struct platform_device *pdev) +static void clk_mt8173_mm_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *node =3D dev->parent->of_node; @@ -146,8 +146,6 @@ static int clk_mt8173_mm_remove(struct platform_device = *pdev) of_clk_del_provider(node); mtk_clk_unregister_gates(data->gates_clk, data->gates_num, clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8173_mm_drv =3D { @@ -155,7 +153,7 @@ static struct platform_driver clk_mt8173_mm_drv =3D { .name =3D "clk-mt8173-mm", }, .probe =3D clk_mt8173_mm_probe, - .remove =3D clk_mt8173_mm_remove, + .remove_new =3D clk_mt8173_mm_remove, }; =20 builtin_platform_driver(clk_mt8173_mm_drv); diff --git a/drivers/clk/mediatek/clk-mt8186-apmixedsys.c b/drivers/clk/med= iatek/clk-mt8186-apmixedsys.c index 1d673c6278a9..392ffc1acb05 100644 --- a/drivers/clk/mediatek/clk-mt8186-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt8186-apmixedsys.c @@ -169,7 +169,7 @@ static int clk_mt8186_apmixed_probe(struct platform_dev= ice *pdev) return r; } =20 -static int clk_mt8186_apmixed_remove(struct platform_device *pdev) +static void clk_mt8186_apmixed_remove(struct platform_device *pdev) { struct device_node *node =3D pdev->dev.of_node; struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -178,13 +178,11 @@ static int clk_mt8186_apmixed_remove(struct platform_= device *pdev) mtk_clk_unregister_pllfhs(plls, ARRAY_SIZE(plls), pllfhs, ARRAY_SIZE(pllfhs), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8186_apmixed_drv =3D { .probe =3D clk_mt8186_apmixed_probe, - .remove =3D clk_mt8186_apmixed_remove, + .remove_new =3D clk_mt8186_apmixed_remove, .driver =3D { .name =3D "clk-mt8186-apmixed", .of_match_table =3D of_match_clk_mt8186_apmixed, diff --git a/drivers/clk/mediatek/clk-mt8186-mcu.c b/drivers/clk/mediatek/c= lk-mt8186-mcu.c index e52a2d986c99..e36519996873 100644 --- a/drivers/clk/mediatek/clk-mt8186-mcu.c +++ b/drivers/clk/mediatek/clk-mt8186-mcu.c @@ -86,7 +86,7 @@ static int clk_mt8186_mcu_probe(struct platform_device *p= dev) return r; } =20 -static int clk_mt8186_mcu_remove(struct platform_device *pdev) +static void clk_mt8186_mcu_remove(struct platform_device *pdev) { struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); struct device_node *node =3D pdev->dev.of_node; @@ -94,13 +94,11 @@ static int clk_mt8186_mcu_remove(struct platform_device= *pdev) of_clk_del_provider(node); mtk_clk_unregister_composites(mcu_muxes, ARRAY_SIZE(mcu_muxes), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8186_mcu_drv =3D { .probe =3D clk_mt8186_mcu_probe, - .remove =3D clk_mt8186_mcu_remove, + .remove_new =3D clk_mt8186_mcu_remove, .driver =3D { .name =3D "clk-mt8186-mcu", .of_match_table =3D of_match_clk_mt8186_mcu, diff --git a/drivers/clk/mediatek/clk-mt8186-mm.c b/drivers/clk/mediatek/cl= k-mt8186-mm.c index 0b72607777fa..bd54f13939a9 100644 --- a/drivers/clk/mediatek/clk-mt8186-mm.c +++ b/drivers/clk/mediatek/clk-mt8186-mm.c @@ -89,7 +89,7 @@ static int clk_mt8186_mm_probe(struct platform_device *pd= ev) return r; } =20 -static int clk_mt8186_mm_remove(struct platform_device *pdev) +static void clk_mt8186_mm_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *node =3D dev->parent->of_node; @@ -98,13 +98,11 @@ static int clk_mt8186_mm_remove(struct platform_device = *pdev) of_clk_del_provider(node); mtk_clk_unregister_gates(mm_clks, ARRAY_SIZE(mm_clks), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8186_mm_drv =3D { .probe =3D clk_mt8186_mm_probe, - .remove =3D clk_mt8186_mm_remove, + .remove_new =3D clk_mt8186_mm_remove, .driver =3D { .name =3D "clk-mt8186-mm", }, diff --git a/drivers/clk/mediatek/clk-mt8195-apmixedsys.c b/drivers/clk/med= iatek/clk-mt8195-apmixedsys.c index 1bc917f2667e..232781c70df2 100644 --- a/drivers/clk/mediatek/clk-mt8195-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt8195-apmixedsys.c @@ -146,7 +146,7 @@ static int clk_mt8195_apmixed_probe(struct platform_dev= ice *pdev) return r; } =20 -static int clk_mt8195_apmixed_remove(struct platform_device *pdev) +static void clk_mt8195_apmixed_remove(struct platform_device *pdev) { struct device_node *node =3D pdev->dev.of_node; struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); @@ -155,13 +155,11 @@ static int clk_mt8195_apmixed_remove(struct platform_= device *pdev) mtk_clk_unregister_gates(apmixed_clks, ARRAY_SIZE(apmixed_clks), clk_data= ); mtk_clk_unregister_plls(plls, ARRAY_SIZE(plls), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8195_apmixed_drv =3D { .probe =3D clk_mt8195_apmixed_probe, - .remove =3D clk_mt8195_apmixed_remove, + .remove_new =3D clk_mt8195_apmixed_remove, .driver =3D { .name =3D "clk-mt8195-apmixed", .of_match_table =3D of_match_clk_mt8195_apmixed, diff --git a/drivers/clk/mediatek/clk-mt8195-apusys_pll.c b/drivers/clk/med= iatek/clk-mt8195-apusys_pll.c index 0b52f6a009c4..d8ba3c5a5942 100644 --- a/drivers/clk/mediatek/clk-mt8195-apusys_pll.c +++ b/drivers/clk/mediatek/clk-mt8195-apusys_pll.c @@ -85,7 +85,7 @@ static int clk_mt8195_apusys_pll_probe(struct platform_de= vice *pdev) return r; } =20 -static int clk_mt8195_apusys_pll_remove(struct platform_device *pdev) +static void clk_mt8195_apusys_pll_remove(struct platform_device *pdev) { struct clk_hw_onecell_data *clk_data =3D platform_get_drvdata(pdev); struct device_node *node =3D pdev->dev.of_node; @@ -93,8 +93,6 @@ static int clk_mt8195_apusys_pll_remove(struct platform_d= evice *pdev) of_clk_del_provider(node); mtk_clk_unregister_plls(apusys_plls, ARRAY_SIZE(apusys_plls), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static const struct of_device_id of_match_clk_mt8195_apusys_pll[] =3D { @@ -104,7 +102,7 @@ static const struct of_device_id of_match_clk_mt8195_ap= usys_pll[] =3D { =20 static struct platform_driver clk_mt8195_apusys_pll_drv =3D { .probe =3D clk_mt8195_apusys_pll_probe, - .remove =3D clk_mt8195_apusys_pll_remove, + .remove_new =3D clk_mt8195_apusys_pll_remove, .driver =3D { .name =3D "clk-mt8195-apusys_pll", .of_match_table =3D of_match_clk_mt8195_apusys_pll, diff --git a/drivers/clk/mediatek/clk-mt8195-topckgen.c b/drivers/clk/media= tek/clk-mt8195-topckgen.c index cf520f85de73..c970cdd13c0b 100644 --- a/drivers/clk/mediatek/clk-mt8195-topckgen.c +++ b/drivers/clk/mediatek/clk-mt8195-topckgen.c @@ -1316,7 +1316,7 @@ static int clk_mt8195_topck_probe(struct platform_dev= ice *pdev) return r; } =20 -static int clk_mt8195_topck_remove(struct platform_device *pdev) +static void clk_mt8195_topck_remove(struct platform_device *pdev) { struct clk_hw_onecell_data *top_clk_data =3D platform_get_drvdata(pdev); struct device_node *node =3D pdev->dev.of_node; @@ -1328,13 +1328,11 @@ static int clk_mt8195_topck_remove(struct platform_= device *pdev) mtk_clk_unregister_factors(top_divs, ARRAY_SIZE(top_divs), top_clk_data); mtk_clk_unregister_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks),= top_clk_data); mtk_free_clk_data(top_clk_data); - - return 0; } =20 static struct platform_driver clk_mt8195_topck_drv =3D { .probe =3D clk_mt8195_topck_probe, - .remove =3D clk_mt8195_topck_remove, + .remove_new =3D clk_mt8195_topck_remove, .driver =3D { .name =3D "clk-mt8195-topck", .of_match_table =3D of_match_clk_mt8195_topck, diff --git a/drivers/clk/mediatek/clk-mt8195-vdo0.c b/drivers/clk/mediatek/= clk-mt8195-vdo0.c index 839b730688ac..86663db54a72 100644 --- a/drivers/clk/mediatek/clk-mt8195-vdo0.c +++ b/drivers/clk/mediatek/clk-mt8195-vdo0.c @@ -124,7 +124,7 @@ static int clk_mt8195_vdo0_probe(struct platform_device= *pdev) return r; } =20 -static int clk_mt8195_vdo0_remove(struct platform_device *pdev) +static void clk_mt8195_vdo0_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *node =3D dev->parent->of_node; @@ -133,13 +133,11 @@ static int clk_mt8195_vdo0_remove(struct platform_dev= ice *pdev) of_clk_del_provider(node); mtk_clk_unregister_gates(vdo0_clks, ARRAY_SIZE(vdo0_clks), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8195_vdo0_drv =3D { .probe =3D clk_mt8195_vdo0_probe, - .remove =3D clk_mt8195_vdo0_remove, + .remove_new =3D clk_mt8195_vdo0_remove, .driver =3D { .name =3D "clk-mt8195-vdo0", }, diff --git a/drivers/clk/mediatek/clk-mt8195-vdo1.c b/drivers/clk/mediatek/= clk-mt8195-vdo1.c index 7df695b28925..05119b31077d 100644 --- a/drivers/clk/mediatek/clk-mt8195-vdo1.c +++ b/drivers/clk/mediatek/clk-mt8195-vdo1.c @@ -151,7 +151,7 @@ static int clk_mt8195_vdo1_probe(struct platform_device= *pdev) return r; } =20 -static int clk_mt8195_vdo1_remove(struct platform_device *pdev) +static void clk_mt8195_vdo1_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *node =3D dev->parent->of_node; @@ -160,13 +160,11 @@ static int clk_mt8195_vdo1_remove(struct platform_dev= ice *pdev) of_clk_del_provider(node); mtk_clk_unregister_gates(vdo1_clks, ARRAY_SIZE(vdo1_clks), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8195_vdo1_drv =3D { .probe =3D clk_mt8195_vdo1_probe, - .remove =3D clk_mt8195_vdo1_remove, + .remove_new =3D clk_mt8195_vdo1_remove, .driver =3D { .name =3D "clk-mt8195-vdo1", }, diff --git a/drivers/clk/mediatek/clk-mt8195-vpp0.c b/drivers/clk/mediatek/= clk-mt8195-vpp0.c index e19664af09b6..fdb9f0507e52 100644 --- a/drivers/clk/mediatek/clk-mt8195-vpp0.c +++ b/drivers/clk/mediatek/clk-mt8195-vpp0.c @@ -116,7 +116,7 @@ static int clk_mt8195_vpp0_probe(struct platform_device= *pdev) return r; } =20 -static int clk_mt8195_vpp0_remove(struct platform_device *pdev) +static void clk_mt8195_vpp0_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *node =3D dev->parent->of_node; @@ -125,13 +125,11 @@ static int clk_mt8195_vpp0_remove(struct platform_dev= ice *pdev) of_clk_del_provider(node); mtk_clk_unregister_gates(vpp0_clks, ARRAY_SIZE(vpp0_clks), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8195_vpp0_drv =3D { .probe =3D clk_mt8195_vpp0_probe, - .remove =3D clk_mt8195_vpp0_remove, + .remove_new =3D clk_mt8195_vpp0_remove, .driver =3D { .name =3D "clk-mt8195-vpp0", }, diff --git a/drivers/clk/mediatek/clk-mt8195-vpp1.c b/drivers/clk/mediatek/= clk-mt8195-vpp1.c index e6c458fc1531..075c569867d1 100644 --- a/drivers/clk/mediatek/clk-mt8195-vpp1.c +++ b/drivers/clk/mediatek/clk-mt8195-vpp1.c @@ -114,7 +114,7 @@ static int clk_mt8195_vpp1_probe(struct platform_device= *pdev) return r; } =20 -static int clk_mt8195_vpp1_remove(struct platform_device *pdev) +static void clk_mt8195_vpp1_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *node =3D dev->parent->of_node; @@ -123,13 +123,11 @@ static int clk_mt8195_vpp1_remove(struct platform_dev= ice *pdev) of_clk_del_provider(node); mtk_clk_unregister_gates(vpp1_clks, ARRAY_SIZE(vpp1_clks), clk_data); mtk_free_clk_data(clk_data); - - return 0; } =20 static struct platform_driver clk_mt8195_vpp1_drv =3D { .probe =3D clk_mt8195_vpp1_probe, - .remove =3D clk_mt8195_vpp1_remove, + .remove_new =3D clk_mt8195_vpp1_remove, .driver =3D { .name =3D "clk-mt8195-vpp1", }, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98AC9C6FD19 for ; Sun, 12 Mar 2023 16:16:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230291AbjCLQP6 (ORCPT ); Sun, 12 Mar 2023 12:15:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230050AbjCLQP3 (ORCPT ); Sun, 12 Mar 2023 12:15:29 -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 73D1236084 for ; Sun, 12 Mar 2023 09:15:28 -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 1pbOLz-0007qY-Qw; Sun, 12 Mar 2023 17:15: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 1pbOLz-003f2x-7T; Sun, 12 Mar 2023 17:15:23 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLy-004K9F-G6; Sun, 12 Mar 2023 17:15:22 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 20/30] clk: mmp: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:02 +0100 Message-Id: <20230312161512.2715500-21-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1559; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=6pAH+UlQsJo/x5+z/AfP2hBEHoK8zvT2mO6fM4gHPEg=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpnn7BYRo2cl59zcHVpqNtPyPhNPPM0EICc3 jglvKFMQeqJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36ZwAKCRDB/BR4rcrs CRT5B/9qBPDaix3jhVQTCAHH9a171DMXZmMx6Dmv1SYz3TpPt5iTVGA8iv7pBoL+6AfYjHaPIk6 EgnAwmQa+JvQOe37IxI2Av5oGTh3jtxzUQNdR6bocstqa34D443hb7BpGYy2w2MZX7vH6t5i9dw PcWC1AH16o00BAjfhD0J3CzXoptP9a29Y9UJve/bGd+KG0hlvzTCh9Z9ZN/QPm9LMX7A3JU1M/L eFCkCmZI8TF5vqA7B84+KabYxX7E+1zPm8YW96Q6yMOboUEikw31MbpG2/SDqycdDMw4wj1rLEl 9bYE5iSkGvO1f6OkjJKv2bSakUJhldvIlmVlyvbbxjfKLZQ0 X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/mmp/clk-audio.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/mmp/clk-audio.c b/drivers/clk/mmp/clk-audio.c index 7aa7f4a9564f..6fb1aa9487b5 100644 --- a/drivers/clk/mmp/clk-audio.c +++ b/drivers/clk/mmp/clk-audio.c @@ -384,12 +384,10 @@ static int mmp2_audio_clk_probe(struct platform_devic= e *pdev) return ret; } =20 -static int mmp2_audio_clk_remove(struct platform_device *pdev) +static void mmp2_audio_clk_remove(struct platform_device *pdev) { pm_clk_destroy(&pdev->dev); pm_runtime_disable(&pdev->dev); - - return 0; } =20 #ifdef CONFIG_PM @@ -436,7 +434,7 @@ static struct platform_driver mmp2_audio_clk_driver =3D= { .pm =3D &mmp2_audio_clk_pm_ops, }, .probe =3D mmp2_audio_clk_probe, - .remove =3D mmp2_audio_clk_remove, + .remove_new =3D mmp2_audio_clk_remove, }; module_platform_driver(mmp2_audio_clk_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16F1BC6FD19 for ; Sun, 12 Mar 2023 16:16:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230107AbjCLQQR (ORCPT ); Sun, 12 Mar 2023 12:16:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230131AbjCLQPb (ORCPT ); Sun, 12 Mar 2023 12:15:31 -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 E649C34F6E for ; Sun, 12 Mar 2023 09:15:29 -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 1pbOM0-0007rH-Eb; Sun, 12 Mar 2023 17:15: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 1pbOLz-003f36-Pq; Sun, 12 Mar 2023 17:15:23 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLy-004K9J-MT; Sun, 12 Mar 2023 17:15:22 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 21/30] clk: mvebu: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:03 +0100 Message-Id: <20230312161512.2715500-22-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=4390; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=WMTwTZXP8LdhrTppykw/Ey9Tf4bxrgjWhSEjSmPYxu0=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfprZ5YALT/w10X6upwax85uZRgogh4gB5pws JwhwUrbucCJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36awAKCRDB/BR4rcrs CWGRB/9X/lsRLoDOmA5j0fmrys8M6tXFOu0ftVULR4UklyTtE5PMdX/75F3LsWHgYppPgTAO+x7 vyPoy2/6ILVI0lb9u8MijUQa2Ozu+CJy9LzCdd/Gg81WRr2xrSoTL9LFS3TgTesuYz/Hi+1FwPD pkZs/88UVShdVeubuI+RM/vXzDM1DK8Ondr6ixD60x1ek+3izG/nP6oNHe4sV8O1MlI0zbp/rhF Z9EsSnw0/1aD74FSeB5TV1VtFF3+uRu7O4N3OJ2q63VEA9sXRKYlEKFzQjITIBirGiDfmH/X5IO lsklLlU+ei0APGgYylYNbWUdZjTzNU27OUlpG8ul/pc5hjrh X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/mvebu/armada-37xx-periph.c | 6 ++---- drivers/clk/mvebu/armada-37xx-tbg.c | 6 ++---- drivers/clk/mvebu/armada-37xx-xtal.c | 6 ++---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/clk/mvebu/armada-37xx-periph.c b/drivers/clk/mvebu/arm= ada-37xx-periph.c index e3777ca65912..3ae6078f6ff7 100644 --- a/drivers/clk/mvebu/armada-37xx-periph.c +++ b/drivers/clk/mvebu/armada-37xx-periph.c @@ -781,7 +781,7 @@ static int armada_3700_periph_clock_probe(struct platfo= rm_device *pdev) return 0; } =20 -static int armada_3700_periph_clock_remove(struct platform_device *pdev) +static void armada_3700_periph_clock_remove(struct platform_device *pdev) { struct clk_periph_driver_data *data =3D platform_get_drvdata(pdev); struct clk_hw_onecell_data *hw_data =3D data->hw_data; @@ -791,13 +791,11 @@ static int armada_3700_periph_clock_remove(struct pla= tform_device *pdev) =20 for (i =3D 0; i < hw_data->num; i++) clk_hw_unregister(hw_data->hws[i]); - - return 0; } =20 static struct platform_driver armada_3700_periph_clock_driver =3D { .probe =3D armada_3700_periph_clock_probe, - .remove =3D armada_3700_periph_clock_remove, + .remove_new =3D armada_3700_periph_clock_remove, .driver =3D { .name =3D "marvell-armada-3700-periph-clock", .of_match_table =3D armada_3700_periph_clock_of_match, diff --git a/drivers/clk/mvebu/armada-37xx-tbg.c b/drivers/clk/mvebu/armada= -37xx-tbg.c index fc403ad735ad..eccc1aeefbaf 100644 --- a/drivers/clk/mvebu/armada-37xx-tbg.c +++ b/drivers/clk/mvebu/armada-37xx-tbg.c @@ -126,7 +126,7 @@ static int armada_3700_tbg_clock_probe(struct platform_= device *pdev) return of_clk_add_hw_provider(np, of_clk_hw_onecell_get, hw_tbg_data); } =20 -static int armada_3700_tbg_clock_remove(struct platform_device *pdev) +static void armada_3700_tbg_clock_remove(struct platform_device *pdev) { int i; struct clk_hw_onecell_data *hw_tbg_data =3D platform_get_drvdata(pdev); @@ -134,8 +134,6 @@ static int armada_3700_tbg_clock_remove(struct platform= _device *pdev) of_clk_del_provider(pdev->dev.of_node); for (i =3D 0; i < hw_tbg_data->num; i++) clk_hw_unregister_fixed_factor(hw_tbg_data->hws[i]); - - return 0; } =20 static const struct of_device_id armada_3700_tbg_clock_of_match[] =3D { @@ -145,7 +143,7 @@ static const struct of_device_id armada_3700_tbg_clock_= of_match[] =3D { =20 static struct platform_driver armada_3700_tbg_clock_driver =3D { .probe =3D armada_3700_tbg_clock_probe, - .remove =3D armada_3700_tbg_clock_remove, + .remove_new =3D armada_3700_tbg_clock_remove, .driver =3D { .name =3D "marvell-armada-3700-tbg-clock", .of_match_table =3D armada_3700_tbg_clock_of_match, diff --git a/drivers/clk/mvebu/armada-37xx-xtal.c b/drivers/clk/mvebu/armad= a-37xx-xtal.c index 41271351cf1f..0e2e7d00ae11 100644 --- a/drivers/clk/mvebu/armada-37xx-xtal.c +++ b/drivers/clk/mvebu/armada-37xx-xtal.c @@ -65,11 +65,9 @@ static int armada_3700_xtal_clock_probe(struct platform_= device *pdev) return ret; } =20 -static int armada_3700_xtal_clock_remove(struct platform_device *pdev) +static void armada_3700_xtal_clock_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - - return 0; } =20 static const struct of_device_id armada_3700_xtal_clock_of_match[] =3D { @@ -79,7 +77,7 @@ static const struct of_device_id armada_3700_xtal_clock_o= f_match[] =3D { =20 static struct platform_driver armada_3700_xtal_clock_driver =3D { .probe =3D armada_3700_xtal_clock_probe, - .remove =3D armada_3700_xtal_clock_remove, + .remove_new =3D armada_3700_xtal_clock_remove, .driver =3D { .name =3D "marvell-armada-3700-xtal-clock", .of_match_table =3D armada_3700_xtal_clock_of_match, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 861A0C74A5B for ; Sun, 12 Mar 2023 16:17:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230463AbjCLQQ6 (ORCPT ); Sun, 12 Mar 2023 12:16:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230232AbjCLQPv (ORCPT ); Sun, 12 Mar 2023 12:15:51 -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 760A434C0D for ; Sun, 12 Mar 2023 09:15:37 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOM1-0007ri-1K; Sun, 12 Mar 2023 17:15:25 +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 1pbOM0-003f3H-Bo; Sun, 12 Mar 2023 17:15:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLz-004K9O-1e; Sun, 12 Mar 2023 17:15:23 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Bjorn Andersson , Andy Gross , Michael Turquette , Stephen Boyd Cc: Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 22/30] clk: qcom: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:04 +0100 Message-Id: <20230312161512.2715500-23-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=4258; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=Gb1ghgWvrKiy4huMqkZkfU3Mnh39km7SHMXWnvwoFQs=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpvKyV+GkyFyEGujzmzrVJX4VHYLYmILN/Vg K+byq0Tv9CJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36bwAKCRDB/BR4rcrs CdR/CACGRL9fTmx1gCk3RFSzsSUKcKJNONCQ5RYIIJ0KbzLYi5K1HXOULpyPTO5Hkqb4liDinSw LdxWBWFNXNLikW13Q7YXRNCQ2nkV0eL1p440d2OTi2rResLm5AD3X2KHLOi6M5gmOGVimgoY4ax ZEycleh4IE15iePs6iUwi68u2Qu+TO0cjqy/i/KhaMt5dQJuez5eWU9U841mlMmA7qYo4VRrJjj arEwJtHW6+1Bz4FWThNqeYJZ3BABudTXTfMfOiXXqaMGHruNRHO89mAPXJdSttXKV6JT4bjcLuA zJY8rkg+nXoHJ7pg/7nYq8SSw5eIhuYfhlmF5ckV0B9V+jJS X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/qcom/apcs-msm8916.c | 6 ++---- drivers/clk/qcom/apcs-sdx55.c | 6 ++---- drivers/clk/qcom/clk-rpm.c | 5 ++--- drivers/clk/qcom/gcc-msm8960.c | 6 ++---- 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/drivers/clk/qcom/apcs-msm8916.c b/drivers/clk/qcom/apcs-msm891= 6.c index 89e0730810ac..ce57b333ec99 100644 --- a/drivers/clk/qcom/apcs-msm8916.c +++ b/drivers/clk/qcom/apcs-msm8916.c @@ -119,18 +119,16 @@ static int qcom_apcs_msm8916_clk_probe(struct platfor= m_device *pdev) return ret; } =20 -static int qcom_apcs_msm8916_clk_remove(struct platform_device *pdev) +static void qcom_apcs_msm8916_clk_remove(struct platform_device *pdev) { struct clk_regmap_mux_div *a53cc =3D platform_get_drvdata(pdev); =20 clk_notifier_unregister(a53cc->pclk, &a53cc->clk_nb); - - return 0; } =20 static struct platform_driver qcom_apcs_msm8916_clk_driver =3D { .probe =3D qcom_apcs_msm8916_clk_probe, - .remove =3D qcom_apcs_msm8916_clk_remove, + .remove_new =3D qcom_apcs_msm8916_clk_remove, .driver =3D { .name =3D "qcom-apcs-msm8916-clk", }, diff --git a/drivers/clk/qcom/apcs-sdx55.c b/drivers/clk/qcom/apcs-sdx55.c index e599f862ec44..d644e6e1f8b7 100644 --- a/drivers/clk/qcom/apcs-sdx55.c +++ b/drivers/clk/qcom/apcs-sdx55.c @@ -120,20 +120,18 @@ static int qcom_apcs_sdx55_clk_probe(struct platform_= device *pdev) return ret; } =20 -static int qcom_apcs_sdx55_clk_remove(struct platform_device *pdev) +static void qcom_apcs_sdx55_clk_remove(struct platform_device *pdev) { struct device *cpu_dev =3D get_cpu_device(0); struct clk_regmap_mux_div *a7cc =3D platform_get_drvdata(pdev); =20 clk_notifier_unregister(a7cc->pclk, &a7cc->clk_nb); dev_pm_domain_detach(cpu_dev, true); - - return 0; } =20 static struct platform_driver qcom_apcs_sdx55_clk_driver =3D { .probe =3D qcom_apcs_sdx55_clk_probe, - .remove =3D qcom_apcs_sdx55_clk_remove, + .remove_new =3D qcom_apcs_sdx55_clk_remove, .driver =3D { .name =3D "qcom-sdx55-acps-clk", }, diff --git a/drivers/clk/qcom/clk-rpm.c b/drivers/clk/qcom/clk-rpm.c index b1be5b664bf3..e723ddb99a44 100644 --- a/drivers/clk/qcom/clk-rpm.c +++ b/drivers/clk/qcom/clk-rpm.c @@ -591,10 +591,9 @@ static int rpm_clk_probe(struct platform_device *pdev) return ret; } =20 -static int rpm_clk_remove(struct platform_device *pdev) +static void rpm_clk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - return 0; } =20 static struct platform_driver rpm_clk_driver =3D { @@ -603,7 +602,7 @@ static struct platform_driver rpm_clk_driver =3D { .of_match_table =3D rpm_clk_match_table, }, .probe =3D rpm_clk_probe, - .remove =3D rpm_clk_remove, + .remove_new =3D rpm_clk_remove, }; =20 static int __init rpm_clk_init(void) diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c index 9dd4e7ffa1f8..dbc7093ab9cc 100644 --- a/drivers/clk/qcom/gcc-msm8960.c +++ b/drivers/clk/qcom/gcc-msm8960.c @@ -3754,19 +3754,17 @@ static int gcc_msm8960_probe(struct platform_device= *pdev) return 0; } =20 -static int gcc_msm8960_remove(struct platform_device *pdev) +static void gcc_msm8960_remove(struct platform_device *pdev) { struct platform_device *tsens =3D platform_get_drvdata(pdev); =20 if (tsens) platform_device_unregister(tsens); - - return 0; } =20 static struct platform_driver gcc_msm8960_driver =3D { .probe =3D gcc_msm8960_probe, - .remove =3D gcc_msm8960_remove, + .remove_new =3D gcc_msm8960_remove, .driver =3D { .name =3D "gcc-msm8960", .of_match_table =3D gcc_msm8960_match_table, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0CEEFC6FA99 for ; Sun, 12 Mar 2023 16:16:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230421AbjCLQQh (ORCPT ); Sun, 12 Mar 2023 12:16:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230165AbjCLQPf (ORCPT ); Sun, 12 Mar 2023 12:15:35 -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 C040138657 for ; Sun, 12 Mar 2023 09:15:33 -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 1pbOM0-0007rd-Ux; Sun, 12 Mar 2023 17:15: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 1pbOM0-003f3E-8A; Sun, 12 Mar 2023 17:15:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLz-004K9T-8F; Sun, 12 Mar 2023 17:15:23 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 23/30] clk: renesas: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:05 +0100 Message-Id: <20230312161512.2715500-24-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1779; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=tzqGylDHbl27wcUMOwx5LcyyO3qR6CT6GQOUrE4n8uI=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfpzhc9DGdlNQXDJPhSJsCsYs2TOV5jF1d5hw yu2lPbJe4aJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36cwAKCRDB/BR4rcrs CQ9cB/9knQE1XSI+voDSdAHXVAQAjkGufgnbJqy5Tl+3jY8fUIfJXz8TfLnQIuVUcTJxmNvAwOp gAmsnUWgkCCQotILcUr9AlqNtMZ0YWcVzFNlbisomip0eYlVVWvBfritzehTm8KVSk+knsI9/oh SBdar3Tp/pdV/5lvtEMAgDW/ypB97a6EmynYkyZU9XfXfXyWi+nJxgXhXMOY/dMADyK8An1AePT sHP/xpNQfK81hJcbTkFfTOTGyCBdH7ZAovgFYFdw62KeLasb/HpAyfQ4RpzuvwIlsVXHWiZjfte IpyatPMvkyjLphcuuD/THA+q+Dp2B4HvjcMXKNTZn2jb4L1u X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig Reviewed-by: Geert Uytterhoeven --- drivers/clk/renesas/rcar-usb2-clock-sel.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/renesas/rcar-usb2-clock-sel.c b/drivers/clk/renesa= s/rcar-usb2-clock-sel.c index 684d8937965e..17c110978e33 100644 --- a/drivers/clk/renesas/rcar-usb2-clock-sel.c +++ b/drivers/clk/renesas/rcar-usb2-clock-sel.c @@ -125,15 +125,13 @@ static int rcar_usb2_clock_sel_resume(struct device *= dev) return 0; } =20 -static int rcar_usb2_clock_sel_remove(struct platform_device *pdev) +static void rcar_usb2_clock_sel_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; =20 of_clk_del_provider(dev->of_node); pm_runtime_put(dev); pm_runtime_disable(dev); - - return 0; } =20 static int rcar_usb2_clock_sel_probe(struct platform_device *pdev) @@ -215,7 +213,7 @@ static struct platform_driver rcar_usb2_clock_sel_drive= r =3D { .pm =3D &rcar_usb2_clock_sel_pm_ops, }, .probe =3D rcar_usb2_clock_sel_probe, - .remove =3D rcar_usb2_clock_sel_remove, + .remove_new =3D rcar_usb2_clock_sel_remove, }; builtin_platform_driver(rcar_usb2_clock_sel_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A9B5C6FD19 for ; Sun, 12 Mar 2023 16:17:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230483AbjCLQRE (ORCPT ); Sun, 12 Mar 2023 12:17:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39694 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230293AbjCLQP7 (ORCPT ); Sun, 12 Mar 2023 12:15:59 -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 0ADF14D60C for ; Sun, 12 Mar 2023 09:15:40 -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 1pbOM1-0007sF-MD; Sun, 12 Mar 2023 17:15:25 +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 1pbOM1-003f3V-1m; Sun, 12 Mar 2023 17:15:25 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLz-004K9X-FH; Sun, 12 Mar 2023 17:15:23 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Krzysztof Kozlowski , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , Michael Turquette , Stephen Boyd Cc: Alim Akhtar , linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 24/30] clk: samsung: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:06 +0100 Message-Id: <20230312161512.2715500-25-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2861; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=0bilTxa4+zSBLpmHRbO43HSFtmhsJJR54/nSVpjT6CU=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfp33a+QojCuZuGcyKQe/zyREOQcQiZLkaYkO 1zTaalvIpWJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36dwAKCRDB/BR4rcrs CWa3B/9uCDZNpKz0bWJK4NR6fMbLQuKSkByFGwyKd5FLjS7hubG1x0d4xFK/UxgwKaOIHbjSOMA PAjyC658mFqfbJ1htuQzO6XzlVOJETd6oeFufpHoF6Pc/BLWd6FMamZsHk7azYci6b6epvQU04r 1wdc9R84iIYNEZHpnkzK5TvU1JzYEnVH5m/LdjO4tK1jpGV8hFlapZ+uJEn6Ftzuy4XT9umon+l DSu8sTfjUpoiMIBDYwYktF2VYdZc0ofcCCZzjmVrEneNVkqp+H2rgSqYA46/vQrRQogEVLAI72G X3noRP6MSJU7os/yUVHmcmIIek0/tDSrj/hrdhhuPm3ViAzz X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/samsung/clk-exynos-audss.c | 6 ++---- drivers/clk/samsung/clk-exynos-clkout.c | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/clk/samsung/clk-exynos-audss.c b/drivers/clk/samsung/c= lk-exynos-audss.c index 9cc127a162ad..7626dff41f6f 100644 --- a/drivers/clk/samsung/clk-exynos-audss.c +++ b/drivers/clk/samsung/clk-exynos-audss.c @@ -268,7 +268,7 @@ static int exynos_audss_clk_probe(struct platform_devic= e *pdev) return ret; } =20 -static int exynos_audss_clk_remove(struct platform_device *pdev) +static void exynos_audss_clk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); =20 @@ -277,8 +277,6 @@ static int exynos_audss_clk_remove(struct platform_devi= ce *pdev) =20 if (!IS_ERR(epll)) clk_disable_unprepare(epll); - - return 0; } =20 static const struct dev_pm_ops exynos_audss_clk_pm_ops =3D { @@ -295,7 +293,7 @@ static struct platform_driver exynos_audss_clk_driver = =3D { .pm =3D &exynos_audss_clk_pm_ops, }, .probe =3D exynos_audss_clk_probe, - .remove =3D exynos_audss_clk_remove, + .remove_new =3D exynos_audss_clk_remove, }; =20 module_platform_driver(exynos_audss_clk_driver); diff --git a/drivers/clk/samsung/clk-exynos-clkout.c b/drivers/clk/samsung/= clk-exynos-clkout.c index e6d6cbf8c4e6..0cff1c94c35e 100644 --- a/drivers/clk/samsung/clk-exynos-clkout.c +++ b/drivers/clk/samsung/clk-exynos-clkout.c @@ -196,15 +196,13 @@ static int exynos_clkout_probe(struct platform_device= *pdev) return ret; } =20 -static int exynos_clkout_remove(struct platform_device *pdev) +static void exynos_clkout_remove(struct platform_device *pdev) { struct exynos_clkout *clkout =3D platform_get_drvdata(pdev); =20 of_clk_del_provider(clkout->np); clk_hw_unregister(clkout->data.hws[0]); iounmap(clkout->reg); - - return 0; } =20 static int __maybe_unused exynos_clkout_suspend(struct device *dev) @@ -235,7 +233,7 @@ static struct platform_driver exynos_clkout_driver =3D { .pm =3D &exynos_clkout_pm_ops, }, .probe =3D exynos_clkout_probe, - .remove =3D exynos_clkout_remove, + .remove_new =3D exynos_clkout_remove, }; module_platform_driver(exynos_clkout_driver); =20 --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84B61C6FA99 for ; Sun, 12 Mar 2023 16:16:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230402AbjCLQQd (ORCPT ); Sun, 12 Mar 2023 12:16:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230162AbjCLQPf (ORCPT ); Sun, 12 Mar 2023 12:15:35 -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 17E6A38013 for ; Sun, 12 Mar 2023 09:15:32 -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 1pbOM1-0007s2-Bk; Sun, 12 Mar 2023 17:15:25 +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 1pbOM0-003f3O-Mu; Sun, 12 Mar 2023 17:15:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLz-004K9a-MQ; Sun, 12 Mar 2023 17:15:23 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Maxime Coquelin , Alexandre Torgue Cc: linux-clk@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 25/30] clk: stm32: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:07 +0100 Message-Id: <20230312161512.2715500-26-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1789; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=YSdgKydMUmqqeYG946UQat08kJ/q2KTOaGSGnm0gse0=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfp6xwsITcqTQd1LtV6bSmWobY11RcAQyBADL isAsR//OeaJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36egAKCRDB/BR4rcrs CS0HCACeU/irJ0xObgGaUABt1LhZ3HhEP2AcWllEyHGs4VYMe2fhsL6WkHa1Xb0Zm2QIOi4pOSU cIsBOQHJzzeKxQxycQxnZ+t+iPAhaaorEtHf6W0eBtCTEW2XWK0usG5SGO1Je1QzetwHujE4Zei FfIlcwx2jmvEZpNK9kQLzYxLKzy3Xwv3SRoCHMh0+ZLjHiMIktVPFK8UE/X6YT7cnzN+IJA/P34 01tCWyMZmvUw46b6Ghm/LyOqfyoS/dPFqLK1A4vjJuQkuDOwOJ/m7kIj5zhZ3M9rRxNt0Y5nYKY vao6Xw+ru12lquwaUV1yM5TyB9xaMilvr1ASZYLqoM39TwrS X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/stm32/clk-stm32mp13.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/stm32/clk-stm32mp13.c b/drivers/clk/stm32/clk-stm3= 2mp13.c index 1192eee8abe4..c4a737482fe5 100644 --- a/drivers/clk/stm32/clk-stm32mp13.c +++ b/drivers/clk/stm32/clk-stm32mp13.c @@ -1593,15 +1593,13 @@ static int stm32mp1_rcc_clocks_probe(struct platfor= m_device *pdev) return ret; } =20 -static int stm32mp1_rcc_clocks_remove(struct platform_device *pdev) +static void stm32mp1_rcc_clocks_remove(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *child, *np =3D dev_of_node(dev); =20 for_each_available_child_of_node(np, child) of_clk_del_provider(child); - - return 0; } =20 static struct platform_driver stm32mp13_rcc_clocks_driver =3D { @@ -1610,7 +1608,7 @@ static struct platform_driver stm32mp13_rcc_clocks_dr= iver =3D { .of_match_table =3D stm32mp13_match_data, }, .probe =3D stm32mp1_rcc_clocks_probe, - .remove =3D stm32mp1_rcc_clocks_remove, + .remove_new =3D stm32mp1_rcc_clocks_remove, }; =20 static int __init stm32mp13_clocks_init(void) --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6F266C6FA99 for ; Sun, 12 Mar 2023 16:16:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230452AbjCLQQu (ORCPT ); Sun, 12 Mar 2023 12:16:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39694 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230207AbjCLQPr (ORCPT ); Sun, 12 Mar 2023 12:15:47 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3831F37F30 for ; Sun, 12 Mar 2023 09:15:36 -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 1pbOM1-0007ru-D5; Sun, 12 Mar 2023 17:15:25 +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 1pbOM0-003f3N-Lm; Sun, 12 Mar 2023 17:15:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOLz-004K9d-Sr; Sun, 12 Mar 2023 17:15:23 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Stephen Boyd , Thierry Reding , Jonathan Hunter Cc: linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 26/30] clk: tegra: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:08 +0100 Message-Id: <20230312161512.2715500-27-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1980; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=x6okcs6Su+YD3uh5eJbZ5VyDAW7RapD+fKHvx8TVC4A=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfp9rzArRWRh7p5ABLZY7wv3BgO+zzrr/0PIT TmIX5WS8WqJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36fQAKCRDB/BR4rcrs CYAwB/9sx5f5Twyck2oZkwirbVUmDa8bdOpezb6m36WniA/NzZgfYeh6B5WTaPUjQN0+PBWBI5m 2kGMctIojvHOvILTna14KpOF7LYZBM5D/p1NFZae3aV1pku5YOZbRHXvxcYIO8AqBOwDpUGWv6A yeUf2N+58kNeg2xv1/9mQchOfaqMqIV5iep/c6QpwaCv4x/KYmq+wHT/HpFsgjaFRUbdfSw6Z0x eL8bkcHlVxJlyXcWkl67Ch83BCNVTbfd35ZxKSdBPGh4WwfOtXPhwKTi6/XfDz8VrF5U+W1KJNy cKZRM4sVxoYD7Uw3wgOp6B4/p0dTzMgsZup74K7Byi6I/MKX X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c b/drivers/clk/tegra= /clk-tegra124-dfll-fcpu.c index 15c5e14dd82f..2a164e565c86 100644 --- a/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c +++ b/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c @@ -612,7 +612,7 @@ static int tegra124_dfll_fcpu_probe(struct platform_dev= ice *pdev) return 0; } =20 -static int tegra124_dfll_fcpu_remove(struct platform_device *pdev) +static void tegra124_dfll_fcpu_remove(struct platform_device *pdev) { struct tegra_dfll_soc_data *soc; =20 @@ -622,11 +622,9 @@ static int tegra124_dfll_fcpu_remove(struct platform_d= evice *pdev) */ soc =3D tegra_dfll_unregister(pdev); if (IS_ERR(soc)) - return 0; + return; =20 tegra_cvb_remove_opp_table(soc->dev, soc->cvb, soc->max_freq); - - return 0; } =20 static const struct dev_pm_ops tegra124_dfll_pm_ops =3D { @@ -637,7 +635,7 @@ static const struct dev_pm_ops tegra124_dfll_pm_ops =3D= { =20 static struct platform_driver tegra124_dfll_fcpu_driver =3D { .probe =3D tegra124_dfll_fcpu_probe, - .remove =3D tegra124_dfll_fcpu_remove, + .remove_new =3D tegra124_dfll_fcpu_remove, .driver =3D { .name =3D "tegra124-dfll", .of_match_table =3D tegra124_dfll_fcpu_of_match, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26420C6FA99 for ; Sun, 12 Mar 2023 16:17:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229650AbjCLQRB (ORCPT ); Sun, 12 Mar 2023 12:17:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230237AbjCLQPv (ORCPT ); Sun, 12 Mar 2023 12:15:51 -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 217A9367C4 for ; Sun, 12 Mar 2023 09:15:37 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbOM1-0007sf-Uk; Sun, 12 Mar 2023 17:15:25 +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 1pbOM1-003f3d-Bl; Sun, 12 Mar 2023 17:15:25 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOM0-004K9h-4q; Sun, 12 Mar 2023 17:15:24 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Tero Kristo , Michael Turquette , Stephen Boyd Cc: linux-omap@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 27/30] clk: ti: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:09 +0100 Message-Id: <20230312161512.2715500-28-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1546; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=+eDcQI6Zb4aIs7d9bJFFkkDfJcRJeMKqXpNyUgVrxUw=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfqAWH+TKlTmHEM6RxOYZ9/tjSDti0OgQsMd8 3lfr5mcv2GJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36gAAKCRDB/BR4rcrs CUW0B/4jNY4NiHQmjbgaA87O5C1kRpCQk+LmocZoMsFOsC0tZJxOkF/iopdO1LZvnd6RO/TFNtL 4sHa7kuYCq4fzdCigy8ArkO4qcv3qjWbHjtF9IaIkRnfFQ5Q1xwqfuonhrhGANm/Lc9l823UMGV VMqyTVphe/dudZ8iH2wbqbyXsxosUjCbDg54p1tVjIRr9NwPsx8gc5ecRq4oP61hOcXBVXY2Z3g waRxdIPA0Pgllstt5/4O3iQl/Yd8o3L5a0lGs4x2Ov/sA8RjdSmqqOXwrxTfTE0MEjVhIACueWD AOC1aazeB2ueFvzfFAzgZPKfA4u1IKoDpyUS6Y2BNREilAg6 X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/ti/adpll.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/ti/adpll.c b/drivers/clk/ti/adpll.c index f5e7e2049241..6ecbba4342c5 100644 --- a/drivers/clk/ti/adpll.c +++ b/drivers/clk/ti/adpll.c @@ -931,13 +931,11 @@ static int ti_adpll_probe(struct platform_device *pde= v) return err; } =20 -static int ti_adpll_remove(struct platform_device *pdev) +static void ti_adpll_remove(struct platform_device *pdev) { struct ti_adpll_data *d =3D dev_get_drvdata(&pdev->dev); =20 ti_adpll_free_resources(d); - - return 0; } =20 static struct platform_driver ti_adpll_driver =3D { @@ -946,7 +944,7 @@ static struct platform_driver ti_adpll_driver =3D { .of_match_table =3D ti_adpll_match, }, .probe =3D ti_adpll_probe, - .remove =3D ti_adpll_remove, + .remove_new =3D ti_adpll_remove, }; =20 static int __init ti_adpll_init(void) --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A411BC6FA99 for ; Sun, 12 Mar 2023 16:16:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230005AbjCLQQs (ORCPT ); Sun, 12 Mar 2023 12:16:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229846AbjCLQPq (ORCPT ); Sun, 12 Mar 2023 12:15:46 -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 C9CC23803E for ; Sun, 12 Mar 2023 09:15:36 -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 1pbOM1-0007sa-Tp; Sun, 12 Mar 2023 17:15:25 +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 1pbOM1-003f3a-9C; Sun, 12 Mar 2023 17:15:25 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOM0-004K9k-BN; Sun, 12 Mar 2023 17:15:24 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Kunihiko Hayashi , Masami Hiramatsu Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 28/30] clk: uniphier: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:10 +0100 Message-Id: <20230312161512.2715500-29-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1683; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=k2hk+THTHlfsffOg5cgLVPYHlE54dpLVDOQ8OZNammU=; b=owGbwMvMwMV48I9IxdpTbzgZT6slMaTw/mp5stz1XLPr+ZOT7l8LZ7d3b7venXIpVvtw928Hv +yYEyIzOxmNWRgYuRhkxRRZ6oq0xCZIrPlvV7KEG2YQKxPIFAYuTgGYSGMO+z+rn0wFKXFxgrbu m6Il2MOSvs5pesCydlndp7DO8ge9Nl+4ZYyieO+y/7kwb56s36GtUgvLbDetLQjW+d1corfF6XO xuNuW1wYLM4r3KyYkOzj2tqq/yPqe98vVRv5B+y2xF2b3NmrKWAoqpU19lr2f8bmwq9vz01yThE MZ3Zx/bk60Ot+5v/7K0u+/fQ7na0WIRjTeEm5P2/zvd9kDpzBB4VlVRasFQuOEfhpLZ395HH/dc PuKfw4mhiKqu2L3dLt77u9f8GTxmSlJU0IbKqqTs7suepn8q37fuv/pblXd7i8CdmXrThyxqzUL 2p36hFOqdWK126IiyeoYB8mlYky6vKufTuJV1rovGWMDAA== X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/uniphier/clk-uniphier-core.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/uniphier/clk-uniphier-core.c b/drivers/clk/uniphie= r/clk-uniphier-core.c index 46c66fac48e6..92f4ddc593db 100644 --- a/drivers/clk/uniphier/clk-uniphier-core.c +++ b/drivers/clk/uniphier/clk-uniphier-core.c @@ -91,11 +91,9 @@ static int uniphier_clk_probe(struct platform_device *pd= ev) hw_data); } =20 -static int uniphier_clk_remove(struct platform_device *pdev) +static void uniphier_clk_remove(struct platform_device *pdev) { of_clk_del_provider(pdev->dev.of_node); - - return 0; } =20 static const struct of_device_id uniphier_clk_match[] =3D { @@ -220,7 +218,7 @@ static const struct of_device_id uniphier_clk_match[] = =3D { =20 static struct platform_driver uniphier_clk_driver =3D { .probe =3D uniphier_clk_probe, - .remove =3D uniphier_clk_remove, + .remove_new =3D uniphier_clk_remove, .driver =3D { .name =3D "uniphier-clk", .of_match_table =3D uniphier_clk_match, --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A9D19C6FA99 for ; Sun, 12 Mar 2023 16:16:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230360AbjCLQQW (ORCPT ); Sun, 12 Mar 2023 12:16:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230080AbjCLQPc (ORCPT ); Sun, 12 Mar 2023 12:15:32 -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 336063754F for ; Sun, 12 Mar 2023 09:15:31 -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 1pbOM2-0007sp-4V; Sun, 12 Mar 2023 17:15:26 +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 1pbOM1-003f3i-GL; Sun, 12 Mar 2023 17:15:25 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOM0-004K9p-Ho; Sun, 12 Mar 2023 17:15:24 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 29/30] clk: x86: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:11 +0100 Message-Id: <20230312161512.2715500-30-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2818; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=q67zyHKhevN1eKgcWpbwGQPFWUk3s3NN9pb+s0sov04=; b=owGbwMvMwMV48I9IxdpTbzgZT6slMaTw/uqwVSzYw13++7G/kdKUY+fuFzxWfdDJq8x+RSrcv zSw6AFvJ6MxCwMjF4OsmCJLXZGW2ASJNf/tSpZwwwxiZQKZwsDFKQATYb7M/ovp2ENt75Xxk3d/ sHvfmSt87N7bs6aihnoKX6cpht3WF1/p06r4TuLvwsTJ2vNvvrmkzZsvx+l+/4jJd+1g88T6R89 771Xc5075VnAj/hPfj1Mc6uoXvnOHtiosLE9o/Dd5pYndxVl1jofbFQIs083eeLxy7I2Z+t2kNs jyzVUh9T4ZVh1Z+YiNX6vPJgfvfbd+Ok/RtIxr6o8S2tY+5J4qmvmSTSSbc2rHv4AEpxOmAgwrb Bdc1mhtkrW3+R7/TNODUfnOUv4Qdkf1i2zrrQyMuG03NrXb2qtl7thSt2ZpqLPFDxnmiccPPDf8 /rxb2ECi6amlbfcSgQhHkdPP/2cfzjlx0PlvqvVUvr4QAA== X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/x86/clk-fch.c | 7 +++---- drivers/clk/x86/clk-pmc-atom.c | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/clk/x86/clk-fch.c b/drivers/clk/x86/clk-fch.c index fdc060e75839..aed7d22fae63 100644 --- a/drivers/clk/x86/clk-fch.c +++ b/drivers/clk/x86/clk-fch.c @@ -92,14 +92,14 @@ static int fch_clk_probe(struct platform_device *pdev) return 0; } =20 -static int fch_clk_remove(struct platform_device *pdev) +static void fch_clk_remove(struct platform_device *pdev) { int i, clks; struct pci_dev *rdev; =20 rdev =3D pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0)); if (!rdev) - return -ENODEV; + return; =20 clks =3D pci_match_id(fch_pci_ids, rdev) ? CLK_MAX_FIXED : ST_MAX_CLKS; =20 @@ -107,7 +107,6 @@ static int fch_clk_remove(struct platform_device *pdev) clk_hw_unregister(hws[i]); =20 pci_dev_put(rdev); - return 0; } =20 static struct platform_driver fch_clk_driver =3D { @@ -116,6 +115,6 @@ static struct platform_driver fch_clk_driver =3D { .suppress_bind_attrs =3D true, }, .probe =3D fch_clk_probe, - .remove =3D fch_clk_remove, + .remove_new =3D fch_clk_remove, }; builtin_platform_driver(fch_clk_driver); diff --git a/drivers/clk/x86/clk-pmc-atom.c b/drivers/clk/x86/clk-pmc-atom.c index e746e3f8d05a..2974dd0ec6f4 100644 --- a/drivers/clk/x86/clk-pmc-atom.c +++ b/drivers/clk/x86/clk-pmc-atom.c @@ -367,7 +367,7 @@ static int plt_clk_probe(struct platform_device *pdev) return err; } =20 -static int plt_clk_remove(struct platform_device *pdev) +static void plt_clk_remove(struct platform_device *pdev) { struct clk_plt_data *data; =20 @@ -377,7 +377,6 @@ static int plt_clk_remove(struct platform_device *pdev) clkdev_drop(data->mclk_lookup); plt_clk_unregister_loop(data, PMC_CLK_NUM); plt_clk_unregister_parents(data); - return 0; } =20 static struct platform_driver plt_clk_driver =3D { @@ -385,6 +384,6 @@ static struct platform_driver plt_clk_driver =3D { .name =3D "clk-pmc-atom", }, .probe =3D plt_clk_probe, - .remove =3D plt_clk_remove, + .remove_new =3D plt_clk_remove, }; builtin_platform_driver(plt_clk_driver); --=20 2.39.1 From nobody Thu Nov 14 06:35:25 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA4CAC6FA99 for ; Sun, 12 Mar 2023 16:16:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230440AbjCLQQp (ORCPT ); Sun, 12 Mar 2023 12:16:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39002 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230176AbjCLQPg (ORCPT ); Sun, 12 Mar 2023 12:15:36 -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 179A537F25 for ; Sun, 12 Mar 2023 09:15:34 -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 1pbOM2-0007sv-AH; Sun, 12 Mar 2023 17:15:26 +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 1pbOM1-003f3l-Lj; Sun, 12 Mar 2023 17:15:25 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pbOM0-004K9s-OY; Sun, 12 Mar 2023 17:15:24 +0100 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Michael Turquette , Stephen Boyd , Michal Simek Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 30/30] clk: xilinx: Convert to platform remove callback returning void Date: Sun, 12 Mar 2023 17:15:12 +0100 Message-Id: <20230312161512.2715500-31-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> References: <20230312161512.2715500-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2836; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=/rDzIBzAtm47A0FxuDgmfod8dN7hBzvdh87gyR+Fj/4=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkDfqMeEK/Vobkf/pVhqxwG+ebhdSRP3oQMNj38 1vbndIn9E6JATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZA36jAAKCRDB/BR4rcrs CXpUCACNQrNswFWo36ck3lJDYrbCZWoN+NTLA8bb7Lnp5R518DWanFyN7Ob2xVR+cm7JbRBnUt6 +SHI2YkPMJhU4kyoqmKi6++mJNF4H+si9Za3s4K4b2Rc2QFf3dIPuXnJB7kBXdJ8f59WNcREX6Z bEnw7wr5DPw6HlsXs2nbPV7KfDYOQ8m9mygkhVfzBN4XFg1FDtP0WQUtJ8MkiY8I0bF5DpcR/Yl JJVrDMs3A5o2hV06M++8YQQgv7f0DY6F0yU8HMBDkT8+edEXBokTBP8btq11qqmd3cNLifEGvjz 7Z+UysCJaWNU0ym20N6wgFHIY+/7sNcT9HfT2+lEc05uAU8l X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (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=C3=B6nig --- drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 6 ++---- drivers/clk/xilinx/xlnx_vcu.c | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c b/drivers/clk/xilin= x/clk-xlnx-clock-wizard.c index eb1dfe7ecc1b..fa829c01a444 100644 --- a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c +++ b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c @@ -593,7 +593,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) return ret; } =20 -static int clk_wzrd_remove(struct platform_device *pdev) +static void clk_wzrd_remove(struct platform_device *pdev) { int i; struct clk_wzrd *clk_wzrd =3D platform_get_drvdata(pdev); @@ -611,8 +611,6 @@ static int clk_wzrd_remove(struct platform_device *pdev) } =20 clk_disable_unprepare(clk_wzrd->axi_clk); - - return 0; } =20 static const struct of_device_id clk_wzrd_ids[] =3D { @@ -630,7 +628,7 @@ static struct platform_driver clk_wzrd_driver =3D { .pm =3D &clk_wzrd_dev_pm_ops, }, .probe =3D clk_wzrd_probe, - .remove =3D clk_wzrd_remove, + .remove_new =3D clk_wzrd_remove, }; module_platform_driver(clk_wzrd_driver); =20 diff --git a/drivers/clk/xilinx/xlnx_vcu.c b/drivers/clk/xilinx/xlnx_vcu.c index 54b44debfd3e..0786f15ebbe8 100644 --- a/drivers/clk/xilinx/xlnx_vcu.c +++ b/drivers/clk/xilinx/xlnx_vcu.c @@ -702,7 +702,7 @@ static int xvcu_probe(struct platform_device *pdev) * Return: Returns 0 on success * Negative error code otherwise */ -static int xvcu_remove(struct platform_device *pdev) +static void xvcu_remove(struct platform_device *pdev) { struct xvcu_device *xvcu; =20 @@ -714,8 +714,6 @@ static int xvcu_remove(struct platform_device *pdev) regmap_write(xvcu->logicore_reg_ba, VCU_GASKET_INIT, 0); =20 clk_disable_unprepare(xvcu->aclk); - - return 0; } =20 static const struct of_device_id xvcu_of_id_table[] =3D { @@ -731,7 +729,7 @@ static struct platform_driver xvcu_driver =3D { .of_match_table =3D xvcu_of_id_table, }, .probe =3D xvcu_probe, - .remove =3D xvcu_remove, + .remove_new =3D xvcu_remove, }; =20 module_platform_driver(xvcu_driver); --=20 2.39.1