* Re: [PATCH v2 1/5] interconnect: Add devm_of_icc_get_by_index() as exported API for users [not found] ` <20260501-milos-camcc-icc-v2-1-bb83c1256cc3@fairphone.com> @ 2026-05-08 1:32 ` Bjorn Andersson 2026-05-08 22:14 ` Georgi Djakov 0 siblings, 1 reply; 2+ messages in thread From: Bjorn Andersson @ 2026-05-08 1:32 UTC (permalink / raw) To: Luca Weiss Cc: Georgi Djakov, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio, Mike Tipton, Taniya Das, ~postmarketos/upstreaming, phone-devel, linux-pm, linux-kernel, linux-arm-msm, linux-clk, devicetree, Konrad Dybcio, Dmitry Baryshkov On Fri, May 01, 2026 at 11:18:29AM +0200, Luca Weiss wrote: > Users can use devm version of of_icc_get_by_index() to benefit from > automatic resource release. > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Georgi, can I have an ack on this, or an immutable branch and a ping once it's available? Thanks, Bjorn > --- > drivers/interconnect/core.c | 20 ++++++++++++++++++++ > include/linux/interconnect.h | 6 ++++++ > 2 files changed, 26 insertions(+) > > diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c > index 8569b78a1851..bc2e416dbcb2 100644 > --- a/drivers/interconnect/core.c > +++ b/drivers/interconnect/core.c > @@ -443,6 +443,26 @@ struct icc_path *devm_of_icc_get(struct device *dev, const char *name) > } > EXPORT_SYMBOL_GPL(devm_of_icc_get); > > +struct icc_path *devm_of_icc_get_by_index(struct device *dev, int idx) > +{ > + struct icc_path **ptr, *path; > + > + ptr = devres_alloc(devm_icc_release, sizeof(*ptr), GFP_KERNEL); > + if (!ptr) > + return ERR_PTR(-ENOMEM); > + > + path = of_icc_get_by_index(dev, idx); > + if (!IS_ERR(path)) { > + *ptr = path; > + devres_add(dev, ptr); > + } else { > + devres_free(ptr); > + } > + > + return path; > +} > +EXPORT_SYMBOL_GPL(devm_of_icc_get_by_index); > + > /** > * of_icc_get_by_index() - get a path handle from a DT node based on index > * @dev: device pointer for the consumer device > diff --git a/include/linux/interconnect.h b/include/linux/interconnect.h > index 4b12821528a6..75a32ad0482e 100644 > --- a/include/linux/interconnect.h > +++ b/include/linux/interconnect.h > @@ -47,6 +47,7 @@ struct icc_path *of_icc_get(struct device *dev, const char *name); > struct icc_path *devm_of_icc_get(struct device *dev, const char *name); > int devm_of_icc_bulk_get(struct device *dev, int num_paths, struct icc_bulk_data *paths); > struct icc_path *of_icc_get_by_index(struct device *dev, int idx); > +struct icc_path *devm_of_icc_get_by_index(struct device *dev, int idx); > void icc_put(struct icc_path *path); > int icc_enable(struct icc_path *path); > int icc_disable(struct icc_path *path); > @@ -79,6 +80,11 @@ static inline struct icc_path *of_icc_get_by_index(struct device *dev, int idx) > return NULL; > } > > +static inline struct icc_path *devm_of_icc_get_by_index(struct device *dev, int idx) > +{ > + return NULL; > +} > + > static inline void icc_put(struct icc_path *path) > { > } > > -- > 2.54.0 > ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v2 1/5] interconnect: Add devm_of_icc_get_by_index() as exported API for users 2026-05-08 1:32 ` [PATCH v2 1/5] interconnect: Add devm_of_icc_get_by_index() as exported API for users Bjorn Andersson @ 2026-05-08 22:14 ` Georgi Djakov 0 siblings, 0 replies; 2+ messages in thread From: Georgi Djakov @ 2026-05-08 22:14 UTC (permalink / raw) To: Bjorn Andersson, Luca Weiss Cc: Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio, Mike Tipton, Taniya Das, ~postmarketos/upstreaming, phone-devel, linux-pm, linux-kernel, linux-arm-msm, linux-clk, devicetree, Konrad Dybcio, Dmitry Baryshkov On 5/8/26 4:32 AM, Bjorn Andersson wrote: > On Fri, May 01, 2026 at 11:18:29AM +0200, Luca Weiss wrote: >> Users can use devm version of of_icc_get_by_index() to benefit from >> automatic resource release. >> >> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> >> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> >> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > > Georgi, can I have an ack on this, or an immutable branch and a ping > once it's available? Hi Bjorn, please apply it. Acked-by: Georgi Djakov <djakov@kernel.org> Thanks, Georgi > > Thanks, > Bjorn > >> --- >> drivers/interconnect/core.c | 20 ++++++++++++++++++++ >> include/linux/interconnect.h | 6 ++++++ >> 2 files changed, 26 insertions(+) >> >> diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c >> index 8569b78a1851..bc2e416dbcb2 100644 >> --- a/drivers/interconnect/core.c >> +++ b/drivers/interconnect/core.c >> @@ -443,6 +443,26 @@ struct icc_path *devm_of_icc_get(struct device *dev, const char *name) >> } >> EXPORT_SYMBOL_GPL(devm_of_icc_get); >> >> +struct icc_path *devm_of_icc_get_by_index(struct device *dev, int idx) >> +{ >> + struct icc_path **ptr, *path; >> + >> + ptr = devres_alloc(devm_icc_release, sizeof(*ptr), GFP_KERNEL); >> + if (!ptr) >> + return ERR_PTR(-ENOMEM); >> + >> + path = of_icc_get_by_index(dev, idx); >> + if (!IS_ERR(path)) { >> + *ptr = path; >> + devres_add(dev, ptr); >> + } else { >> + devres_free(ptr); >> + } >> + >> + return path; >> +} >> +EXPORT_SYMBOL_GPL(devm_of_icc_get_by_index); >> + >> /** >> * of_icc_get_by_index() - get a path handle from a DT node based on index >> * @dev: device pointer for the consumer device >> diff --git a/include/linux/interconnect.h b/include/linux/interconnect.h >> index 4b12821528a6..75a32ad0482e 100644 >> --- a/include/linux/interconnect.h >> +++ b/include/linux/interconnect.h >> @@ -47,6 +47,7 @@ struct icc_path *of_icc_get(struct device *dev, const char *name); >> struct icc_path *devm_of_icc_get(struct device *dev, const char *name); >> int devm_of_icc_bulk_get(struct device *dev, int num_paths, struct icc_bulk_data *paths); >> struct icc_path *of_icc_get_by_index(struct device *dev, int idx); >> +struct icc_path *devm_of_icc_get_by_index(struct device *dev, int idx); >> void icc_put(struct icc_path *path); >> int icc_enable(struct icc_path *path); >> int icc_disable(struct icc_path *path); >> @@ -79,6 +80,11 @@ static inline struct icc_path *of_icc_get_by_index(struct device *dev, int idx) >> return NULL; >> } >> >> +static inline struct icc_path *devm_of_icc_get_by_index(struct device *dev, int idx) >> +{ >> + return NULL; >> +} >> + >> static inline void icc_put(struct icc_path *path) >> { >> } >> >> -- >> 2.54.0 >> ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-08 22:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260501-milos-camcc-icc-v2-0-bb83c1256cc3@fairphone.com>
[not found] ` <20260501-milos-camcc-icc-v2-1-bb83c1256cc3@fairphone.com>
2026-05-08 1:32 ` [PATCH v2 1/5] interconnect: Add devm_of_icc_get_by_index() as exported API for users Bjorn Andersson
2026-05-08 22:14 ` Georgi Djakov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox