On Tue, 2 Apr 2024 at 14:02, Varadarajan Narayanan <quic_varada@xxxxxxxxxxx> wrote: > > On Tue, Apr 02, 2024 at 01:48:08PM +0300, Dmitry Baryshkov wrote: > > On Tue, 2 Apr 2024 at 13:40, Dmitry Baryshkov > > <dmitry.baryshkov@xxxxxxxxxx> wrote: > > > > > > On Tue, 2 Apr 2024 at 13:34, Varadarajan Narayanan > > > <quic_varada@xxxxxxxxxxx> wrote: > > > > > > > > Wrap icc_clk_register to create devm_icc_clk_register to be > > > > able to release the resources properly. > > > > > > > > Signed-off-by: Varadarajan Narayanan <quic_varada@xxxxxxxxxxx> > > > > --- > > > > v5: Introduced devm_icc_clk_register > > > > --- > > > > drivers/interconnect/icc-clk.c | 29 +++++++++++++++++++++++++++++ > > > > include/linux/interconnect-clk.h | 4 ++++ > > > > 2 files changed, 33 insertions(+) > > > > > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > > > Wait. Actually, > > > > Unreviewed-by: me > > > > Please return int from devm_icc_clk_register instead of returning the pointer. > > Wouldn't returning int break the general assumption that > devm_foo(), returns the same type as foo(). For example > devm_clk_hw_get_clk and clk_hw_get_clk return struct clk *? Not always. The only reason to return icc_provider was to make it possible to destroy it. With devres-managed function you don't have to do anything. -- With best wishes Dmitry