From patchwork Thu Sep 26 10:43:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13813243 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 E1E04CCF9E9 for ; Thu, 26 Sep 2024 10:51:40 +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=EEBtQGEISvZPitzTMXKKfKxXb5DENlYny58Y9mj8dKI=; b=CBrk2EKMFIqZ04ctqrAu0EFY+u Y7OOHbHd8xm2prMvRyjtS5ci35Q5FJ/aKwzzBKV2wBcFaJarCS2INoBFraRVZ9iNQ+E9Gsot1DBsQ wZrV2zIc6W/VH58HrIkjKLESnMetQtK+ykDwRH1dOXTr1HPMk2YOym64mpUN5nV/zAc1c4t/zDHh3 gtGycNC8UbZqjJKFDPYCk1J9WjLjbB4KB/cYaczP1WYaWbiOx9UvBayHnYqELhjyz20KInN2PDPJV qEmLtaO0rSvWVk2S/0tQBoT4yahHBjFi8/UvkOA0EOzfA8fAqXH8VoxjjScZoYq3mWttAGdez19C9 g1n4Rpfg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1stm5r-000000088M4-27Z4; Thu, 26 Sep 2024 10:51:31 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1stlyV-000000086WA-3VEm; Thu, 26 Sep 2024 10:43:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1727347433; bh=UWkx5xlyNvLP5psq5yb/wchMlUuTkv6Jgwny0fleod8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=eiBehqut23NyCV/lfTj+SQlxkHVH+w11+l5Gi0tI77WdBej2T9md5ZpPyDXies40W kgti+R3zACLZ5IcHZ5m1SYrX1t1NmoEF29BHDJPrHCCrysh7JRrJLlZ8srOTZQ7cAs 6vboJp0fk9+XunsAeBfXLuxQScvJlAiDEB8/pDEx2LZ9a/O0/2yjw3Kt5wgcrGS/Xr LaLtrOX1jRFheK6H15NQHQMZ2Pya5gX/Pk0tigk7/9lvT899KKZqDZDfSPQLBvJuog 1JWkdScr1D7JQhZ0AHOzvQteCBKU6IMsEOcZRurZ+f7n3xGeQwVDKlr9AD0FyO0kLz THHrWAqocXKbg== Received: from localhost (unknown [IPv6:2a01:e0a:d1a:1250:792b:136f:2a18:fd70]) (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 8DC7917E11FA; Thu, 26 Sep 2024 12:43:53 +0200 (CEST) From: Cristian Ciocaltea Date: Thu, 26 Sep 2024 13:43:20 +0300 Subject: [PATCH v2 1/4] clk: Provide devm_clk_bulk_get_all_enabled() helper MIME-Version: 1.0 Message-Id: <20240926-clk_bulk_ena_fix-v2-1-9c767510fbb5@collabora.com> References: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@collabora.com> In-Reply-To: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@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.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240926_034356_227188_93A6DEB6 X-CRM114-Status: GOOD ( 16.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. 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'. Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: Manivannan Sadhasivam Signed-off-by: Cristian Ciocaltea --- drivers/clk/clk-devres.c | 34 ++++++++++++++++++++++++++++++++++ include/linux/clk.h | 24 ++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c index 82ae1f26e634..4203aaaa7544 100644 --- a/drivers/clk/clk-devres.c +++ b/drivers/clk/clk-devres.c @@ -250,6 +250,40 @@ int __must_check devm_clk_bulk_get_all_enable(struct device *dev, } 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; + + devres = devres_alloc(devm_clk_bulk_release_all_enable, + sizeof(*devres), GFP_KERNEL); + if (!devres) + return -ENOMEM; + + ret = clk_bulk_get_all(dev, &devres->clks); + 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) { + clk_bulk_put_all(devres->num_clks, devres->clks); + 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_enabled); + static int devm_clk_match(struct device *dev, void *res, void *data) { struct clk **c = res; diff --git a/include/linux/clk.h b/include/linux/clk.h index 851a0f2cf42c..158c5072852e 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 Sep 26 10:43:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13813242 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 3B1BECCFA13 for ; Thu, 26 Sep 2024 10:50: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=AXWUrhU4Ug+JkZo0WQwpQeySAVk0QBEeHHfIG9fgtWw=; b=WKVR8UGeLO0HglT6JfLsAj27bk wSz76bjRFmT/hMmYK9IWn0YO/pQSqlpRXNVfxIZhTgK8R1VeHGnjtkGfx1EhnxEkcwpIZHhf/tKGB 9ER/daSsFRUmb4YV+4hJbbylFgzouqMM8ceFjxgkt8DquPW4z1OhPEycR9T19acZuSoF/YzudO/Rd icLG+jA19PjP+ZavI39V/LIH+o2O5nnPkIuQcV3fY9LyLN0o7cxwLaaAKdu2/JS5KZsR8nyRkK000 t8MFabvs+6xpTVt+yQauLgJ8Eu2FGCXRnpNgPEp2SZAcE3e1B2ovYFCslf50yvdiRORsYBAUB9wV6 OVEpCLaQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1stm4h-00000008883-3fAe; Thu, 26 Sep 2024 10:50: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 1stlyV-000000086WM-42Lt; Thu, 26 Sep 2024 10:43:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1727347434; bh=9JD18HLscMqRuWIdJkk+VbCzvj6IXUPz5uq7gj9Ck0o=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=kHORPuuiOyzA/rGRcD9H+MjSkVA/V6ShGu5jNq0icAkBNq6Y8XmXehXjZiUrClloY Zn4yiDlnT1HU3OdSq4HK0124zR4yO+5wH7zGqCW5OJ8rJaYouDBNC+OHYf4R9mCb6h vl9xcXWx316igl/hwr5ELGqBqS3p7/ZULZdg2rbMpt1UUp7yiMQmoAqXOrjc1BRuOy Jydk/RbmS9bVH1H3DHiJ+cTWiJbI9+dIuF4peFmXLAdaVj53eonvktxAop4MESU/M0 Kr0GmLbC8mtKUk864eEOFx+MMDzxc4Jpj3zQOMweAx/i0ITqIzZM56o6blSVSKJTnO PGaTklyCCr+JA== Received: from localhost (unknown [IPv6:2a01:e0a:d1a:1250:792b:136f:2a18:fd70]) (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 2CB1F17E120B; Thu, 26 Sep 2024 12:43:54 +0200 (CEST) From: Cristian Ciocaltea Date: Thu, 26 Sep 2024 13:43:21 +0300 Subject: [PATCH v2 2/4] soc: mediatek: pwrap: Switch to devm_clk_bulk_get_all_enabled() MIME-Version: 1.0 Message-Id: <20240926-clk_bulk_ena_fix-v2-2-9c767510fbb5@collabora.com> References: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@collabora.com> In-Reply-To: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@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.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240926_034356_404157_18D4519E X-CRM114-Status: GOOD ( 13.60 ) 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 9fdc0ef79202..0bcd85826375 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 Sep 26 10:43:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13813244 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 43765CCF9E9 for ; Thu, 26 Sep 2024 10:52: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=LDd82lYZMBzEpcTJryU/hdvz59ihseHW5vNn+9J8J7s=; b=eSZl9czvOuR7w036y3/l+Y2hPC ALOmFQxqp5MZK9sx9ak85BX4rVEEM6PJzrW5vNv9ramFmVRQpHyEIVplKsCKJ+FY8I5SuHu3Gv0u1 4tZF/ATganWxmJsHdOb7GBV0kkfUhWHNVEUzVli7sqJNW89aqAgJW3QGx0YZMWxz8ZtVzFf+L2WWq ocQx+sqmzD9isDY26hK94NTNSpF3rNSqmqTWowOTZhdL4NTI6cgwG7z4f8YedofocGcBDoswsdUuc 741+ROAjVpzUb6oSeiSaxH4tzbEqahT2yniMmQsi7yuGJbmqCFFdBLSG20n5yDi4bRwvOo2SqZ+eA DEHrDQPg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1stm70-000000088WL-0ds1; Thu, 26 Sep 2024 10:52:42 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1stlyW-000000086Ws-1Wwi; Thu, 26 Sep 2024 10:43:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1727347434; bh=xbWr63GUqIkW4QEHfjfUDRFC0AedDaU/7IV6PGpwPYE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=frPqTZgGgeUYSij564lhm5k7kqEp1TJxP+KkKMuTXDNfG2ey2hIJvaD/RXCo/S6Uu BhqzVIYeTyucwO7V2FAv6U0iWlqQCSEZuTIo73ADVwHiQnyUWwJMgtZvXltavauC95 z7+0a/5kTH+TmCKiFoY51QD9/47ue1SVlDB9yeRKmGXMZhGpaatqMQjhRZWDLTRHZW PLBtJf5Y77OfgSq9Xl6pxh3OCm9GNp4cVGCxMpxMJH/jFGP5VY5sATqlcWWzubKOV4 r7PwVYRyr/nMFmwPlzYgR3IbiU7ZwXJmmN1gnrxF9jzs7lsW1kH8TdPNeLa39VXq9g sIfTnbPfsAgjg== Received: from localhost (unknown [IPv6:2a01:e0a:d1a:1250:792b:136f:2a18:fd70]) (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 D15BB17E121B; Thu, 26 Sep 2024 12:43:54 +0200 (CEST) From: Cristian Ciocaltea Date: Thu, 26 Sep 2024 13:43:22 +0300 Subject: [PATCH v2 3/4] PCI: exynos: Switch to devm_clk_bulk_get_all_enabled() MIME-Version: 1.0 Message-Id: <20240926-clk_bulk_ena_fix-v2-3-9c767510fbb5@collabora.com> References: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@collabora.com> In-Reply-To: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@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.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240926_034356_732404_0CB8128A X-CRM114-Status: GOOD ( 13.28 ) 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 fa45da28a218..056cebd4e0ba 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 Sep 26 10:43:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Ciocaltea X-Patchwork-Id: 13813241 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 131CACCFA13 for ; Thu, 26 Sep 2024 10:49:17 +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=FZcUPXaNrlponybPkm2q+6YcEYmcwsxeYR+ta9J92Uk=; b=BrW1cGBBJNROvDqUJh8uAVGIsI PPVpO5TZTl2p6hBnGmiJHjfnKVys3mmqg7UuZxOvLxAfWTODwNGUB73hMNikwz5B3xL2HLTpGt8Hr wixUwnVDBTCt2aIRGB+7Yy7ZNPlHIxJHgTKtWr/+QUdnbP0F0ty6E5SgcSD1SRsuQA+QaIwQtFcfj +8X2xP7eUQh4nWLRoNEbv/Hzz5QMm+oAvc+kx19n7iUMdzA3MHGGn+QCFf2jEzjh3/AqdiswR9U1L jwnas9W3Es50H6Uw+CeFaP8ucRgrYpmsJyUGLRhrVfCudFDBgOx7pWFPsVzy1hUKWhpvpCOQfdOxZ i8kIlK+A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1stm3W-000000087qd-3LD2; Thu, 26 Sep 2024 10:49:06 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1stlyX-000000086XX-08G9; Thu, 26 Sep 2024 10:43:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1727347435; bh=QSefnkYbeJQLKEl46cPPnS84RWiz8yqsgAOOcJvZ+S8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=csL3aoqwJ2tZ5c2MZm1ia7VW8ud4ZlEYUx3VGM/D/VqTvUrDibvpRjS5go5uzJ+j/ qiqdpHDH/uVCMFT2tTRSda0PCpyM1TpDv8TRumghyVKQlpDX6GwfvHeLKXhTfAD2By XjLxH3U92QeQPRzfd05wbBgYntw99aKsuVlvnoVzFvIIjFE18Lwga1a3Ar4Ya1coZu RANyFomHuSrVHS+Zra/iPX/S83ubjNBjcZXDq9/P7dM0pSd2IjLsovapuVcpzHtH5Q /rOKUbElLsee7nKvCABXPQnZXAkN69lUjrE9jmKNvaqzyAus5eFJNvXFQimGT28XY7 Ox3Y0PZ77CQlQ== Received: from localhost (unknown [IPv6:2a01:e0a:d1a:1250:792b:136f:2a18:fd70]) (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 8BDB917E121F; Thu, 26 Sep 2024 12:43:55 +0200 (CEST) From: Cristian Ciocaltea Date: Thu, 26 Sep 2024 13:43:23 +0300 Subject: [PATCH v2 4/4] clk: Drop obsolete devm_clk_bulk_get_all_enable() helper MIME-Version: 1.0 Message-Id: <20240926-clk_bulk_ena_fix-v2-4-9c767510fbb5@collabora.com> References: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@collabora.com> In-Reply-To: <20240926-clk_bulk_ena_fix-v2-0-9c767510fbb5@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.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240926_034357_455265_8AB20742 X-CRM114-Status: GOOD ( 13.06 ) 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 | 32 -------------------------------- include/linux/clk.h | 22 ---------------------- 2 files changed, 54 deletions(-) diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c index 4203aaaa7544..14a657f336fe 100644 --- a/drivers/clk/clk-devres.c +++ b/drivers/clk/clk-devres.c @@ -218,38 +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) -{ - struct clk_bulk_devres *devres; - int ret; - - devres = devres_alloc(devm_clk_bulk_release_all_enable, - sizeof(*devres), GFP_KERNEL); - if (!devres) - 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; - } - - ret = clk_bulk_prepare_enable(devres->num_clks, *clks); - if (!ret) { - devres_add(dev, devres); - } else { - clk_bulk_put_all(devres->num_clks, devres->clks); - devres_free(devres); - } - - return 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 158c5072852e..b607482ca77e 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) {