[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <01020191fabbea05-14368d2a-b504-4fad-b1a1-48435821d7f1-000000@eu-west-1.amazonses.com>
Date: Mon, 16 Sep 2024 12:08:24 +0000
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
To: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Russell King <linux@...linux.org.uk>,
Matthias Brugger <matthias.bgg@...il.com>,
Jingoo Han <jingoohan1@...il.com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof WilczyĆski <kw@...ux.com>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Rob Herring <robh@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Alim Akhtar <alim.akhtar@...sung.com>
Cc: kernel@...labora.com, linux-clk@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org, linux-pci@...r.kernel.org,
linux-samsung-soc@...r.kernel.org
Subject: Re: [PATCH 4/4] clk: Drop obsolete devm_clk_bulk_get_all_enable()
helper
Il 14/09/24 20:04, Cristian Ciocaltea ha scritto:
> 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.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
This should probably be done in two (three?) cycles if we want to avoid
immutable branches... but anyway, for the commit itself:
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
> ---
> 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)
> {
Powered by blists - more mailing lists