drivers/clk/clk-devres.c | 30 ++++++++++++++++-------------- drivers/pci/controller/dwc/pci-exynos.c | 2 +- drivers/soc/mediatek/mtk-pmic-wrap.c | 4 ++-- include/linux/clk.h | 12 +++++++----- 4 files changed, 26 insertions(+), 22 deletions(-)
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.
That is required in case there is a need to iterate these clocks later,
therefore I couldn't see any use case of this parameter and should have
been simply removed from the function declaration.
The first patch in the series provides 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'.
The next two patches switch existing users of devm_clk_get_enable() to
the new helper - there were only two, as of next-20240913.
The last patch drops the now obsolete devm_clk_bulk_get_all_enable()
helper.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
Changes in v2:
- Dropped references to 'broken' API in commit descriptions, per Mani's
suggestion
- Added R-b tags from Angelo and Mani
- Link to v1:
https://lore.kernel.org/r/20240914-clk_bulk_ena_fix-v1-0-ce3537585c06@collabora.com
---
Cristian Ciocaltea (4):
clk: Provide devm_clk_bulk_get_all_enabled() helper
soc: mediatek: pwrap: Switch to devm_clk_bulk_get_all_enabled()
PCI: exynos: Switch to devm_clk_bulk_get_all_enabled()
clk: Drop obsolete devm_clk_bulk_get_all_enable() helper
drivers/clk/clk-devres.c | 30 ++++++++++++++++--------------
drivers/pci/controller/dwc/pci-exynos.c | 2 +-
drivers/soc/mediatek/mtk-pmic-wrap.c | 4 ++--
include/linux/clk.h | 12 +++++++-----
4 files changed, 26 insertions(+), 22 deletions(-)
---
base-commit: 5acd9952f95fb4b7da6d09a3be39195a80845eb6
change-id: 20240912-clk_bulk_ena_fix-16ba77358ddf
On 9/26/24 1:43 PM, Cristian Ciocaltea wrote:
> 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.
>
> That is required in case there is a need to iterate these clocks later,
> therefore I couldn't see any use case of this parameter and should have
> been simply removed from the function declaration.
>
> The first patch in the series provides 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'.
>
> The next two patches switch existing users of devm_clk_get_enable() to
> the new helper - there were only two, as of next-20240913.
>
> The last patch drops the now obsolete devm_clk_bulk_get_all_enable()
> helper.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
> Changes in v2:
> - Dropped references to 'broken' API in commit descriptions, per Mani's
> suggestion
> - Added R-b tags from Angelo and Mani
> - Link to v1:
> https://lore.kernel.org/r/20240914-clk_bulk_ena_fix-v1-0-ce3537585c06@collabora.com
[...]
This still applies cleanly on next-20241016 and there are no new users
of devm_clk_bulk_get_all_enable(), hence I wonder if anything else is
missing to get it merged.
Thanks,
Cristian
Hi,
On Wed, Oct 16, 2024 at 12:28:37PM +0300, Cristian Ciocaltea wrote:
> On 9/26/24 1:43 PM, Cristian Ciocaltea wrote:
> > 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.
> >
> > That is required in case there is a need to iterate these clocks later,
> > therefore I couldn't see any use case of this parameter and should have
> > been simply removed from the function declaration.
> >
> > The first patch in the series provides 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'.
> >
> > The next two patches switch existing users of devm_clk_get_enable() to
> > the new helper - there were only two, as of next-20240913.
> >
> > The last patch drops the now obsolete devm_clk_bulk_get_all_enable()
> > helper.
> >
> > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> > ---
> > Changes in v2:
> > - Dropped references to 'broken' API in commit descriptions, per Mani's
> > suggestion
> > - Added R-b tags from Angelo and Mani
> > - Link to v1:
> > https://lore.kernel.org/r/20240914-clk_bulk_ena_fix-v1-0-ce3537585c06@collabora.com
>
> [...]
>
> This still applies cleanly on next-20241016 and there are no new users
> of devm_clk_bulk_get_all_enable(), hence I wonder if anything else is
> missing to get it merged.
FWIW another potential user for the new function is just being added
to the kernel:
https://lore.kernel.org/linux-rockchip/20241011065140.19999-1-frawang.cn@gmail.com/
Greetings,
-- Sebastian
© 2016 - 2026 Red Hat, Inc.