* 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