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 - 2024 Red Hat, Inc.