From patchwork Sat Oct 19 11:16:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13842686 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 180E2D3C909 for ; Sat, 19 Oct 2024 11:18:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=dVT8i1JSnCmQJwplJOECZQJbeebSgkLQZ287mFuK2Ic=; b=E2LwJMZrR+DwVRQ4GeNq/Gyvva 0aMpz/dtwymCcbsgeM8izZWBfYgApZyrp7c2zgEuPIDIfG7rRFugwx6tVC4n5jZgXLIni3TqMEYt9 cqp4s1ByTlvlKEitKBn1FJ05bBSSHIGvoxpXEotyMQNHVDGGkDEAlwFyOE5ph6b5zLW2O/GowIROv gwG2PmJi8OEeIcMr0/Q5Qv8J6Fo+IibOPPXSu0oWbbPtuABzVmw1ANIw+qrdMVKN8DQZeUyoK9Sww R2G8EKMkAJLATr3dymLoeXJmHKrCtxVxNM+Yh7tuTIYLRKawHb1QKo7lE+AbBjue9o3zrR3YUkd8z dCP7q6ag==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t27St-00000003C2a-2saE; Sat, 19 Oct 2024 11:17:47 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t27RO-00000003BV4-1gx3; Sat, 19 Oct 2024 11:16:16 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729336572; bh=liu6AH5wskPRdG1LJazp0t8ejwo/RTs1GpUY5J41pVw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=qVU66crBEtIarbBDM6UIaDebVYjVUIqq9OgLgGDj/8Plf7LeI/V/sFpOGlKHsdhph 5ZZYcIUQD8ImZqmXdLA3Uyyz5A9ifyoQUXHvNz3KQiZxB4kReTVC/2+OiyTZlvR77O cQ8xAZRL2dFGwrzDlTQvPpu/aEnGQvg8sYFCfZIcslV8FCJyD5UGMe+G1YpdKXINCQ aeNuUo4mr/DHSmje3jF2qm8scIs3dBfWutk5aTjGkaqGYNTcQvwb9He/TzdF9zPUvk bZYFBJcD/znLVQxZMtcP9szYy7cxKI0bPwaeTl7zUGlann8CCS/xylJdgPozDzxAdp vXBh9Ea7uMeyQ== Received: from localhost (unknown [188.24.146.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id 699C017E35CB; Sat, 19 Oct 2024 13:16:12 +0200 (CEST) From: Cristian Ciocaltea Date: Sat, 19 Oct 2024 14:16:00 +0300 Subject: [PATCH v4 1/4] clk: Provide devm_clk_bulk_get_all_enabled() helper MIME-Version: 1.0 Message-Id: <20241019-clk_bulk_ena_fix-v4-1-57f108f64e70@collabora.com> References: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> In-Reply-To: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> To: Michael Turquette , Stephen Boyd , Russell King , Matthias Brugger , AngeloGioacchino Del Regno , Jingoo Han , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Krzysztof Kozlowski , Alim Akhtar Cc: kernel@collabora.com, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-pci@vger.kernel.org, linux-samsung-soc@vger.kernel.org X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241019_041614_629772_8A92246E X-CRM114-Status: GOOD ( 18.63 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Commit 265b07df758a ("clk: Provide managed helper to get and enable bulk clocks") added devm_clk_bulk_get_all_enable() function, but missed to return the number of clocks stored in the clk_bulk_data table referenced by the clks argument. Without knowing the number, it's not possible to iterate these clocks when needed, hence the argument is useless and could have been simply removed. Introduce devm_clk_bulk_get_all_enabled() variant, which is consistent with devm_clk_bulk_get_all() in terms of the returned value: > 0 if one or more clocks have been stored = 0 if there are no clocks < 0 if an error occurred Moreover, the naming is consistent with devm_clk_get_enabled(), i.e. use the past form of 'enable'. To reduce code duplication and improve patch readability, make devm_clk_bulk_get_all_enable() use the new helper, as suggested by Stephen Boyd. Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: Manivannan Sadhasivam Signed-off-by: Cristian Ciocaltea --- drivers/clk/clk-devres.c | 28 +++++++++++++++++++--------- include/linux/clk.h | 24 ++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c index 82ae1f26e634572b943d18b8d86267f0a69911a6..975fac29b27f3709e292531a114975c9108287db 100644 --- a/drivers/clk/clk-devres.c +++ b/drivers/clk/clk-devres.c @@ -220,6 +220,15 @@ static void devm_clk_bulk_release_all_enable(struct device *dev, void *res) int __must_check devm_clk_bulk_get_all_enable(struct device *dev, struct clk_bulk_data **clks) +{ + int ret = devm_clk_bulk_get_all_enabled(dev, clks); + + return ret > 0 ? 0 : ret; +} +EXPORT_SYMBOL_GPL(devm_clk_bulk_get_all_enable); + +int __must_check devm_clk_bulk_get_all_enabled(struct device *dev, + struct clk_bulk_data **clks) { struct clk_bulk_devres *devres; int ret; @@ -230,25 +239,26 @@ int __must_check devm_clk_bulk_get_all_enable(struct device *dev, return -ENOMEM; ret = clk_bulk_get_all(dev, &devres->clks); - if (ret > 0) { - *clks = devres->clks; - devres->num_clks = ret; - } else { + if (ret <= 0) { devres_free(devres); return ret; } + *clks = devres->clks; + devres->num_clks = ret; + ret = clk_bulk_prepare_enable(devres->num_clks, *clks); - if (!ret) { - devres_add(dev, devres); - } else { + if (ret) { clk_bulk_put_all(devres->num_clks, devres->clks); devres_free(devres); + return ret; } - return ret; + devres_add(dev, devres); + + return devres->num_clks; } -EXPORT_SYMBOL_GPL(devm_clk_bulk_get_all_enable); +EXPORT_SYMBOL_GPL(devm_clk_bulk_get_all_enabled); static int devm_clk_match(struct device *dev, void *res, void *data) { diff --git a/include/linux/clk.h b/include/linux/clk.h index 851a0f2cf42c8c1bbada49d991bc185587942155..158c5072852e36c1583dc47ca7516fcdd928fe59 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -511,6 +511,24 @@ int __must_check devm_clk_bulk_get_all(struct device *dev, int __must_check devm_clk_bulk_get_all_enable(struct device *dev, struct clk_bulk_data **clks); +/** + * devm_clk_bulk_get_all_enabled - Get and enable all clocks of the consumer (managed) + * @dev: device for clock "consumer" + * @clks: pointer to the clk_bulk_data table of consumer + * + * Returns a positive value for the number of clocks obtained while the + * clock references are stored in the clk_bulk_data table in @clks field. + * Returns 0 if there're none and a negative value if something failed. + * + * This helper function allows drivers to get all clocks of the + * consumer and enables them in one operation with management. + * The clks will automatically be disabled and freed when the device + * is unbound. + */ + +int __must_check devm_clk_bulk_get_all_enabled(struct device *dev, + struct clk_bulk_data **clks); + /** * devm_clk_get - lookup and obtain a managed reference to a clock producer. * @dev: device for clock "consumer" @@ -1040,6 +1058,12 @@ static inline int __must_check devm_clk_bulk_get_all_enable(struct device *dev, return 0; } +static inline int __must_check devm_clk_bulk_get_all_enabled(struct device *dev, + struct clk_bulk_data **clks) +{ + return 0; +} + static inline struct clk *devm_get_clk_from_child(struct device *dev, struct device_node *np, const char *con_id) { From patchwork Sat Oct 19 11:16:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13842688 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AB470D3C906 for ; Sat, 19 Oct 2024 11:20:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1wAwt9inLv6RNZzfXu+D3JjFm+HHPD/dN1XB8Rawcdo=; b=sYI6N2x5PVMQymR4vFqvAhuJmZ EFVPL/wZcXsOBweMicihTc12fyNNZNnuuh8U9xB97h45x9o9S7umsri6Ni9vl5OeZDmcvugZbMreg X5k3JSOL5P0OZYtwc5QJ9xTpE6pZYUb08Wd+qh5/5EQ4reW8ZGHtYWN+Z6ojW1EzeGi8jUBjZte0U IrDCG4HAZ8z7KrEJrQEK/0TvdQ0paX+6FVvcXrVqEyraod5TfN5ReA3XWlJAwF/aKMwQ1SC0EvZ4D I3Obx0LPR7D/1VrUJmPVnp26NBOhwv0dIOcfQjJSbxU240g74efDiPNX0EmUDVtveK0zprnVYuc9/ IPFItclw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t27Vl-00000003CoG-1rrr; Sat, 19 Oct 2024 11:20:45 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t27RO-00000003BVH-3Ahg; Sat, 19 Oct 2024 11:16:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729336573; bh=+ppoxTPO/igxME3lIs+D7CFzw+ePdaoHzXKCgEyp3Ig=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=HvWq5L2jdWOetnT7uwg5JX4j6UctFRZk9UvbvGOmxo/oU8ES21dapAIV+BxNg2l+Y 0KipfkNVRtWaMEVF9Hoixyuy97phZIwcQZffAQGAIpTTJ3ux0OMRzgE4fA06nEd8mj w31bWqyfN7oRIAnl487pM5Wwmrjm2rgWLN+2l58ZFFGlJUay3SSgLK/lswz9Wl/Rg9 uGaaS0qS7qg4hWpy7Ly4pRmIpuU7p48s+j2QhrFOOuuTmSIz+FW5peiPAfkzTR9isx mpbkG6m6PRpsyjks1yhC1X9Sr0Zk96yuPbZssRvpFKgohAS9HcridZQh/RxjLLsLkl ADBYKCRQsl3yQ== Received: from localhost (unknown [188.24.146.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id 27C2317E35D3; Sat, 19 Oct 2024 13:16:13 +0200 (CEST) From: Cristian Ciocaltea Date: Sat, 19 Oct 2024 14:16:01 +0300 Subject: [PATCH v4 2/4] soc: mediatek: pwrap: Switch to devm_clk_bulk_get_all_enabled() MIME-Version: 1.0 Message-Id: <20241019-clk_bulk_ena_fix-v4-2-57f108f64e70@collabora.com> References: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> In-Reply-To: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> To: Michael Turquette , Stephen Boyd , Russell King , Matthias Brugger , AngeloGioacchino Del Regno , Jingoo Han , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Krzysztof Kozlowski , Alim Akhtar Cc: kernel@collabora.com, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-pci@vger.kernel.org, linux-samsung-soc@vger.kernel.org X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241019_041615_287695_6AA1A4A4 X-CRM114-Status: GOOD ( 13.68 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The helper devm_clk_bulk_get_all_enable() missed to return the number of clocks stored in the clk_bulk_data table referenced by the clks argument and, therefore, will be dropped. Use the newly introduced devm_clk_bulk_get_all_enabled() variant instead, which is consistent with devm_clk_bulk_get_all() in terms of the returned value: > 0 if one or more clocks have been stored = 0 if there are no clocks < 0 if an error occurred Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: Manivannan Sadhasivam Signed-off-by: Cristian Ciocaltea --- drivers/soc/mediatek/mtk-pmic-wrap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c index 9fdc0ef79202618d0bd0188d0bf53152285c6c51..0bcd8582637550c90c1c6df619077b7df7bb0048 100644 --- a/drivers/soc/mediatek/mtk-pmic-wrap.c +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c @@ -2518,8 +2518,8 @@ static int pwrap_probe(struct platform_device *pdev) } } - ret = devm_clk_bulk_get_all_enable(wrp->dev, &clk); - if (ret) + ret = devm_clk_bulk_get_all_enabled(wrp->dev, &clk); + if (ret < 0) return dev_err_probe(wrp->dev, ret, "failed to get clocks\n"); From patchwork Sat Oct 19 11:16:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13842689 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9FF22D3C909 for ; Sat, 19 Oct 2024 11:22:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=0x1C9V5ZHpHlGFbOaJKlFFtrtiDKGs33EI3Hyb/Ln2s=; b=3L4Ocn1l1zKfIDT2QQd2Uz+sOF YVUwwlNPXhwtSgkuh1DywPo1BcZvMa4fTLgq5FhR/Koj0cLG2bDVXuh3HxHZ/024ZZhgiiO+jD0L/ McAvrY/36ZQlS0/HcXYAeLAH4la3kps0d6OKqLVZaUVD9DN/vMQSBBRgF0/LqTZUiRJPrq7Z10ZJe jrNWJr+89CcrLjGbJBLXRZY9vVtlPQO9W4aXOan2LF37AhWqFA6BrxWhp4fJ2YdKWQx/EMn0CpFgD oxRnMREG/zKVoNeFozdEiIVS+ltMk8nG1FZ4b1vh49mvlOmMJ5VrSVWUGV1ff32xZdRnomq8+o0uQ kcXYNCEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t27XC-00000003D0u-1hDZ; Sat, 19 Oct 2024 11:22:14 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t27RP-00000003BVs-3Mz4; Sat, 19 Oct 2024 11:16:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729336574; bh=iEUcW5EbPc3CuJsIl+m7Y0Zgw3NQlSs/GEI0BoftKtU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=l+K7cjD/pTs0weGajKDR9txdYrJWQmLpsz5ovpm+fdxl1yifaBF7e/x6TCdNIYw18 oDArNc35ONstfzKL5jttKHoGxfyeZnl7tOxtyUCUlcAQbOf3OVRb2E7m6kJtjAtSFg lME+5Ox/0eJr1tNmedv6dSSy8FHHolpRJ0uRKvNx+g+z2YOQBjkp00jx9efxZIVvAZ R5xsp3jEc1iVEJatT69AHe2eSEA5SSC2vHdFOJ1615UlUhqgjUzbLJlo5L4jDCOgJw B/PWsqE4K8+r3Zkt98B7KRJrZ3qQTkrwb46Iv2AJBGrEZBdCCojM3nhSJqc4FNAyoC vLuSym2o1NUnw== Received: from localhost (unknown [188.24.146.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id F34CE17E35DC; Sat, 19 Oct 2024 13:16:13 +0200 (CEST) From: Cristian Ciocaltea Date: Sat, 19 Oct 2024 14:16:02 +0300 Subject: [PATCH v4 3/4] PCI: exynos: Switch to devm_clk_bulk_get_all_enabled() MIME-Version: 1.0 Message-Id: <20241019-clk_bulk_ena_fix-v4-3-57f108f64e70@collabora.com> References: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> In-Reply-To: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> To: Michael Turquette , Stephen Boyd , Russell King , Matthias Brugger , AngeloGioacchino Del Regno , Jingoo Han , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Krzysztof Kozlowski , Alim Akhtar Cc: kernel@collabora.com, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-pci@vger.kernel.org, linux-samsung-soc@vger.kernel.org X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241019_041615_995119_667DBA26 X-CRM114-Status: GOOD ( 13.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The helper devm_clk_bulk_get_all_enable() missed to return the number of clocks stored in the clk_bulk_data table referenced by the clks argument and, therefore, will be dropped. Use the newly introduced devm_clk_bulk_get_all_enabled() variant instead, which is consistent with devm_clk_bulk_get_all() in terms of the returned value: > 0 if one or more clocks have been stored = 0 if there are no clocks < 0 if an error occurred Reviewed-by: Manivannan Sadhasivam Signed-off-by: Cristian Ciocaltea --- drivers/pci/controller/dwc/pci-exynos.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pci-exynos.c b/drivers/pci/controller/dwc/pci-exynos.c index 6a830166d37fff5bbbc35aaa7cc1b67b03e6ec3b..ace736b025b1b7d4cdcbd51d2e9d99af29f21149 100644 --- a/drivers/pci/controller/dwc/pci-exynos.c +++ b/drivers/pci/controller/dwc/pci-exynos.c @@ -300,7 +300,7 @@ static int exynos_pcie_probe(struct platform_device *pdev) if (IS_ERR(ep->elbi_base)) return PTR_ERR(ep->elbi_base); - ret = devm_clk_bulk_get_all_enable(dev, &ep->clks); + ret = devm_clk_bulk_get_all_enabled(dev, &ep->clks); if (ret < 0) return ret; From patchwork Sat Oct 19 11:16:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13842691 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 10E50D3C906 for ; Sat, 19 Oct 2024 11:23:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SGyABxNo9pEi/auMJXJlsbF8ZtL8IFs495dpVyyRJLw=; b=FP84iLV7OCJDUhrXbQs6bKndAX gOnCZK+Sd/N0enGpWKvvj33UypNhOQrpqkScoQ5oRatoJ6r0ZoXxBzPfHmJpKdMbkgF5FdvYuOlVs 3C+63OThRI/zpOWiVLpw/8sqPy1OcZIrDq8ZIPeWSg9MUuFvNnlY8usk5QvMSrKiJmBAsEUSawY8j KjmCE01NoefyC9RcWGJWRj0C6k3fi/C9IHYCjehfxBHakHGYAa6BY36OBotDUID05PNxfu1wVNqmy MOCGLoqSlO0o9ZAg/rnl1lt1UuCHKi1Msrp+mFEAWJqfB91baTfW9eTFfWPFb94ROiYu4peMkcEaD SnT6Kufg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t27Yd-00000003DB4-0AWK; Sat, 19 Oct 2024 11:23:43 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t27RQ-00000003BWC-1ci7; Sat, 19 Oct 2024 11:16:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729336574; bh=nwnH2KnIkk1D0r4Y5YjAkX/ex3xblGmY05q5UghzuYc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bWe+LYlJ+pQOag0E5xHE7EuueK+0GVC8RcVxylv8YC87PqUsSZm9vt4yZxVZiaPsH 9QBMh68gROeNvwwTxJggCHvEvRu0SJywBsp0KflY9zmDZdCUIqLSPigU7ePrJ+Wfhu 0hoQPGY4g4i704gw3dStPBsAGp3IlHpP7Op1A3pycDrwXgrNVuMt2aLFQAlCVRjtk6 WjCCNyNdDGYd+KO4SliUXTDSF3bIVNKEMM1PyW6fZALEZFvny0LNhUl/QlShjfrGEm TwMv5ia2KYeUyGZsqQ5/2stzj4hJsljgakdei/fwbq0bi31wFPNmNOXZKCvPngIbDw 11AnIgf7CRZ/w== Received: from localhost (unknown [188.24.146.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id C188C17E35E0; Sat, 19 Oct 2024 13:16:14 +0200 (CEST) From: Cristian Ciocaltea Date: Sat, 19 Oct 2024 14:16:03 +0300 Subject: [PATCH v4 4/4] clk: Drop obsolete devm_clk_bulk_get_all_enable() helper MIME-Version: 1.0 Message-Id: <20241019-clk_bulk_ena_fix-v4-4-57f108f64e70@collabora.com> References: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> In-Reply-To: <20241019-clk_bulk_ena_fix-v4-0-57f108f64e70@collabora.com> To: Michael Turquette , Stephen Boyd , Russell King , Matthias Brugger , AngeloGioacchino Del Regno , Jingoo Han , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy?= =?utf-8?q?=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Krzysztof Kozlowski , Alim Akhtar Cc: kernel@collabora.com, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-pci@vger.kernel.org, linux-samsung-soc@vger.kernel.org X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241019_041616_626302_4954C3D9 X-CRM114-Status: GOOD ( 12.23 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Commit 265b07df758a ("clk: Provide managed helper to get and enable bulk clocks") added devm_clk_bulk_get_all_enable() function, but missed to return the number of clocks stored in the clk_bulk_data table referenced by the clks argument. Without knowing the number, it's not possible to iterate these clocks when needed, hence the argument is useless and could have been simply removed. A new helper devm_clk_bulk_get_all_enabled() has been introduced, which is consistent with devm_clk_bulk_get_all() in terms of the returned value. Drop the obsolete function since all users switched to the new helper. Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: Manivannan Sadhasivam Signed-off-by: Cristian Ciocaltea --- drivers/clk/clk-devres.c | 9 --------- include/linux/clk.h | 22 ---------------------- 2 files changed, 31 deletions(-) diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c index 975fac29b27f3709e292531a114975c9108287db..0ae385403f9b08d29d0ec7cb2066f02d46cb90c9 100644 --- a/drivers/clk/clk-devres.c +++ b/drivers/clk/clk-devres.c @@ -218,15 +218,6 @@ static void devm_clk_bulk_release_all_enable(struct device *dev, void *res) clk_bulk_put_all(devres->num_clks, devres->clks); } -int __must_check devm_clk_bulk_get_all_enable(struct device *dev, - struct clk_bulk_data **clks) -{ - int ret = devm_clk_bulk_get_all_enabled(dev, clks); - - return ret > 0 ? 0 : ret; -} -EXPORT_SYMBOL_GPL(devm_clk_bulk_get_all_enable); - int __must_check devm_clk_bulk_get_all_enabled(struct device *dev, struct clk_bulk_data **clks) { diff --git a/include/linux/clk.h b/include/linux/clk.h index 158c5072852e36c1583dc47ca7516fcdd928fe59..b607482ca77e987b9344c38f25ebb5c8d35c1d39 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -495,22 +495,6 @@ int __must_check devm_clk_bulk_get_optional(struct device *dev, int num_clks, int __must_check devm_clk_bulk_get_all(struct device *dev, struct clk_bulk_data **clks); -/** - * devm_clk_bulk_get_all_enable - Get and enable all clocks of the consumer (managed) - * @dev: device for clock "consumer" - * @clks: pointer to the clk_bulk_data table of consumer - * - * Returns success (0) or negative errno. - * - * This helper function allows drivers to get all clocks of the - * consumer and enables them in one operation with management. - * The clks will automatically be disabled and freed when the device - * is unbound. - */ - -int __must_check devm_clk_bulk_get_all_enable(struct device *dev, - struct clk_bulk_data **clks); - /** * devm_clk_bulk_get_all_enabled - Get and enable all clocks of the consumer (managed) * @dev: device for clock "consumer" @@ -1052,12 +1036,6 @@ static inline int __must_check devm_clk_bulk_get_all(struct device *dev, return 0; } -static inline int __must_check devm_clk_bulk_get_all_enable(struct device *dev, - struct clk_bulk_data **clks) -{ - return 0; -} - static inline int __must_check devm_clk_bulk_get_all_enabled(struct device *dev, struct clk_bulk_data **clks) {