From patchwork Thu Oct 17 23:17:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13840916 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 6C03DD3C538 for ; Thu, 17 Oct 2024 23:21:04 +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=PcK837Dzkq8sL35Y7XDjGdg1f6y2o8ogt0VrgvXA7OA=; b=o3BrtreyORoP4rfkvHB14RvOJJ 47HP3kFJ8cI1j6vefAJqHlSbLCyPLr1KhVZXZPlHyk9npNq1VmjCt5T51QtYR+ecAw4Lcldq1dsn6 fPm3rHKk3Jum6FNcjqD0QbcaU5aVmSR8z7vN+XqRt+ftrtO0H1jLKvFFUCWYB3RoilnPzAi4dZbm+ JGArkjFWadrLL309dIdfrclLxYDCEySrlJ8WuNoL5ucg7dH4L9ia7N+CSMXZmY7Mx6sf9IQwG6BBB u8Y1AUZaf0xdfiBFqKt5Or6XsoG0VG5z73m3Ofh6lz744Syxv3VFJ0SgyeGwj83jj+9Fq4XRnX43C tdp7iUZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t1ZnY-0000000GQGt-49Oh; Thu, 17 Oct 2024 23:20:52 +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 1t1Zkf-0000000GPk6-42mQ; Thu, 17 Oct 2024 23:17:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729207072; bh=gmHCYMEBb8C25V0D6R/CZXdticXewklOMZwOmzHOpTY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=SOKZq4OkphL85FOM+b5RqVc+9FoRVEtIsgIK4tYnUc5gJRiPOl9IHaYJmjMSRU/XU USiyNJWwCmrOXnNrh3RHT6nC54NFieYXzqw5hNC/OvprY2K7ztVXUfKGtb03qnemNK MelolRe2QsK3LgMiNi3abaRZk5owJ9QJF2Poc9PEBYOQzrI+H4urbkwcN5ApbuIFY2 knvU98INGQgHbPLmrfH0NhEqk0ENi4Uf0rOnjhm4y/Mqe4xPaNsUQozayOFRBR5lvR 85F+nxIlNnGLQZZlVasgBmhEp/MOXd07f+0E7jhBaufwypmcm24hprNV8ZboTvevfK 6zHRcM/dHh+oQ== 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 2A00217E0E01; Fri, 18 Oct 2024 01:17:52 +0200 (CEST) From: Cristian Ciocaltea Date: Fri, 18 Oct 2024 02:17:29 +0300 Subject: [PATCH v3 1/4] clk: Provide devm_clk_bulk_get_all_enabled() helper MIME-Version: 1.0 Message-Id: <20241018-clk_bulk_ena_fix-v3-1-57e8bb82460c@collabora.com> References: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@collabora.com> In-Reply-To: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@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-20241017_161754_230214_7C4F10CA X-CRM114-Status: GOOD ( 18.69 ) 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 | 35 +++++++++++++++++++++++------------ include/linux/clk.h | 24 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c index 82ae1f26e634572b943d18b8d86267f0a69911a6..0d0fe364b66a8590d5e7c63dc6c1e70c59d53e89 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,27 @@ 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 { - devres_free(devres); - return ret; - } + if (ret <= 0) + goto err_free_devres; + + *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); + goto err_free_devres; } + devres_add(dev, devres); + + return devres->num_clks; + +err_free_devres: + devres_free(devres); return ret; } -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 Thu Oct 17 23:17:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13840917 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 0EB96D3C533 for ; Thu, 17 Oct 2024 23:22:31 +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=bQYWpS1V9v+wieP7Oj2lFi+oYT efT4PuWGSzcqE30J6GAVn4SUskx/JI2aethg21rtoCXV5gDdcAZCywH33pVuCoNYfLPm8kVuv3mM5 P+Uh/DnwsV58TAiPcJxdAwZpwB/9NU34Sc2LNM6epRAfj47SLicK0BPLENbBjkNgAEskElHMvQKsB yH2GFxB1CbJXQRvDf+69CA22P+pz5Nv/rY75gYqEK7/5gzHy4s0djUMvJs6mZiyUj8i+oZhhPDNbD 7qPu18QeHMKIwTPTUulvwPA7dXIbmUAJwT3+OgHd9WBD5t57sBaGw7sq/BID9O/AT2S5JPPOqux4F B2Ezw8GA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t1Zox-0000000GQN8-2S3c; Thu, 17 Oct 2024 23:22:19 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t1Zkg-0000000GPk7-3vrn; Thu, 17 Oct 2024 23:17:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729207073; bh=+ppoxTPO/igxME3lIs+D7CFzw+ePdaoHzXKCgEyp3Ig=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=duoZtuW9OSxIMv6WdYPn0i9n8RJBaUUUTc3uoeLJw8WXVFLD29NN6Ld/H5XdIJWxU 8h1KwcP/T4fHDfaKseadABK+hkgFg1IJGyp7Lhw/B90pOhrmD35JZyso0n4fKdwc5L Ox7FBjavFIbJ7FIxvdQ/BiFTNep6fmFCz6l7OFEaFD5dBt6PmviyR/vDNqWpAxpRdw f/wzuHgmxoVk7LnCVnNXXKDICdZWRaaN+Wsp8FOZJRjuQNsRRjlfE7PHqgYJhgVgmU 6nty7NP3AlK4tHeQbm9S8pKJamcKyMtHxbZWCV7Kf7cXrI9SXkSdqRLk2gF4bTYIqK nQTAjTZpC3Yxg== 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 E74F717E0ED6; Fri, 18 Oct 2024 01:17:52 +0200 (CEST) From: Cristian Ciocaltea Date: Fri, 18 Oct 2024 02:17:30 +0300 Subject: [PATCH v3 2/4] soc: mediatek: pwrap: Switch to devm_clk_bulk_get_all_enabled() MIME-Version: 1.0 Message-Id: <20241018-clk_bulk_ena_fix-v3-2-57e8bb82460c@collabora.com> References: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@collabora.com> In-Reply-To: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@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-20241017_161755_158915_E02B0278 X-CRM114-Status: GOOD ( 13.48 ) 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 Thu Oct 17 23:17:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13840930 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 E63E7D3C533 for ; Thu, 17 Oct 2024 23:23:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: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=jMpmByvbWAERAvT1WIZvUwO7T7 j+G5DiHC8J+qyGb8767g3scKNZQalOYotvkMGtvt1ktcBv/AjugU+iL7cHxjPjtqKCyuLy5I++Khi 6jjzww9EuulJLjv1BjHcrE2q+r7c/S9xx8MqFdIKbfiZSlrenbx6kpRxzp1U9qa2JrQlejD1AJCFi Fgi2MoIsZ6q3BW6k24jImxYL2qsWe82eFcUiUkXFbfp7UBctiBaKGEzsmcXWhQEtURuTCQKc3PcUd H4Jmk2AQYkN14vr1SfbpTpJUawpiictjyZHJCkqu7+MRzrPtx2pJdcice1f0fEMs/gr9TlBdaCi0y 49FsnxTg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t1ZqN-0000000GQVX-0mWX; Thu, 17 Oct 2024 23:23:47 +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 1t1Zkh-0000000GPkk-180Y; Thu, 17 Oct 2024 23:17:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729207073; bh=iEUcW5EbPc3CuJsIl+m7Y0Zgw3NQlSs/GEI0BoftKtU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=IhdbLVztzE976ILx+y9BQMkNkhBDmWOPy7bWA82yzxfFAYlTRWBUoQ2EjYVpsGB0G +oXkdKtdO9GmU4nVbNIgnRoF3Zw2IZOuEkDGmVAW8b/h7Kf+/ExQRUHuQdlPEtOxWj N6ELuumE1w+mtvXuv+ys6+2iCJvCaQnZRP5kgXanaibSXN1YbD+zFuCl+i8XNw5f5+ S2pK8b0nF0lzD0FwS8BdaJSyVCUH/9FbkNQIm6zKExNK+xAV2gcgFmXm/edzA7scJO IZfriRLbx+ck5MvVRBoX4j0W46owM0MePZFxQAC8tH+0t13b46MQw6WiBKU3n5Lq0I A+J2rQ4qaUsaQ== 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 AE73717E0EEC; Fri, 18 Oct 2024 01:17:53 +0200 (CEST) From: Cristian Ciocaltea Date: Fri, 18 Oct 2024 02:17:31 +0300 Subject: [PATCH v3 3/4] PCI: exynos: Switch to devm_clk_bulk_get_all_enabled() MIME-Version: 1.0 Message-Id: <20241018-clk_bulk_ena_fix-v3-3-57e8bb82460c@collabora.com> References: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@collabora.com> In-Reply-To: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@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-20241017_161755_523523_25690BF7 X-CRM114-Status: GOOD ( 13.25 ) 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 Thu Oct 17 23:17:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13840931 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 C687ED3C538 for ; Thu, 17 Oct 2024 23:25:26 +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=KGiARXDj8/cLqJLDAlux5uSBVt1VOp2NkvItPfC66LY=; b=3S/UAwHixpEAg9OKfMMLAmACC/ ixxx2HwrCSSq6GsbPHCRYYyHm84dWn+MP/Eexk0jYv5XC4khzM55ijzYwFoZBw+qhx2b2D/hT78Oj qMINTs/dy2xD9LwPh/raR97hW8/97LxEhNdMQUAV15DXrgcuFam7ydGAt9oVOmexQPMuC5x7LkffC HH1rlqz5ShMhucHQdTAA762V0FgZkgToiJnTvALaRD61pVXW2vq3+d5PnVA7EwhA9yqFYrooBnBOs Z/YUOnJLLQrlQqstpBfsdG+fK+UYqGUQSHvOt9bAJ5Kji0dZDPauAyRxqNZScQa/l7/JCUKZRykTn Vew32mYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t1Zrn-0000000GQiT-1i7u; Thu, 17 Oct 2024 23:25:15 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t1Zkh-0000000GPkm-49dB; Thu, 17 Oct 2024 23:17:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1729207074; bh=+v4i8SuZvvhEqQkHlKh3lLDEBDoh8ci5Kiu8HXeA9H8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZYHuTNQMJnryRyaZm9XZa2hJkih8wK7/1dL1UP2sdAnfV3ggqQ7zAy/2R8RVjaqee rX8I1Lp93FWp+n9jNbXzC6yWvE9yxTSoywv09/UY0zZRbKk7LRz0DUPSC91tBiU1FV EuPerdCXZyYM0qhNCsU1gAk1+26uZJStpvCMvpagaLycOZ+gW+S+tlj0e/zQ2/CkIK hX0ijWb1LVvnd8y85dX1ZjpQKan/NCbqGvf41Yw6hMM7puDWKpUj58PEkc42Sl2mVg BhdII88AWt0o+tJnWkv9P9MWFzHLhsMbF9F3vReb7IKGCKXenc51YWGm6WUEDRO7Cn 8A87bIKVBA60g== 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 794E417E0EF1; Fri, 18 Oct 2024 01:17:54 +0200 (CEST) From: Cristian Ciocaltea Date: Fri, 18 Oct 2024 02:17:32 +0300 Subject: [PATCH v3 4/4] clk: Drop obsolete devm_clk_bulk_get_all_enable() helper MIME-Version: 1.0 Message-Id: <20241018-clk_bulk_ena_fix-v3-4-57e8bb82460c@collabora.com> References: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@collabora.com> In-Reply-To: <20241018-clk_bulk_ena_fix-v3-0-57e8bb82460c@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-20241017_161756_219474_B5539493 X-CRM114-Status: GOOD ( 11.97 ) 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 0d0fe364b66a8590d5e7c63dc6c1e70c59d53e89..14a657f336feababe8588f3eda90b9a6ae0e6297 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) {