2023-10-11 11:27:39

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH] of: export of_find_next_cache_node() for modules

The qcom-cpufreq-nvmem module uses of_find_next_cache_node() function,
so export it to be available to the modules.

Fixes: 7683a63c08ff ("cpufreq: qcom-nvmem: create L2 cache device")
Signed-off-by: Dmitry Baryshkov <[email protected]>
---

This patch fixes the discrepancy caused by the patch for the
qcom-cpufreq-nvmem. I'd like to ask for this patch to be also merged via
the cpufreq tree.

---
drivers/of/base.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index 8d93cb6ea9cd..c4cf558e60d9 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1905,6 +1905,7 @@ struct device_node *of_find_next_cache_node(const struct device_node *np)

return NULL;
}
+EXPORT_SYMBOL_GPL(of_find_next_cache_node);

/**
* of_find_last_cache_level - Find the level at which the last cache is
--
2.39.2


2023-10-11 11:30:36

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH] of: export of_find_next_cache_node() for modules



On 10/11/23 13:27, Dmitry Baryshkov wrote:
> The qcom-cpufreq-nvmem module uses of_find_next_cache_node() function,
> so export it to be available to the modules.
>
> Fixes: 7683a63c08ff ("cpufreq: qcom-nvmem: create L2 cache device")
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Pity the testing robot didn't catch this

Konrad

2023-10-11 12:52:56

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] of: export of_find_next_cache_node() for modules

On Wed, Oct 11, 2023 at 6:27 AM Dmitry Baryshkov
<[email protected]> wrote:
>
> The qcom-cpufreq-nvmem module uses of_find_next_cache_node() function,
> so export it to be available to the modules.

You really should be using the cacheinfo API which has already parsed
the cache nodes.

Also, why do you need a platform_device? I don't see a driver.
cacheinfo already creates a struct device, so kind of weird to have 2
devices.

Rob

2023-10-11 12:59:41

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH] of: export of_find_next_cache_node() for modules

On Wed, 11 Oct 2023 at 15:52, Rob Herring <[email protected]> wrote:
>
> On Wed, Oct 11, 2023 at 6:27 AM Dmitry Baryshkov
> <[email protected]> wrote:
> >
> > The qcom-cpufreq-nvmem module uses of_find_next_cache_node() function,
> > so export it to be available to the modules.
>
> You really should be using the cacheinfo API which has already parsed
> the cache nodes.
>
> Also, why do you need a platform_device? I don't see a driver.
> cacheinfo already creates a struct device, so kind of weird to have 2
> devices.

The driver is pending as a part of the series at [1]. We need to scale
the L2 supplies and clock frequency following the core frequency
changes.

[1] https://lore.kernel.org/linux-arm-msm/[email protected]/

--
With best wishes
Dmitry

2023-10-16 03:24:53

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH] of: export of_find_next_cache_node() for modules

On 11-10-23, 15:59, Dmitry Baryshkov wrote:
> On Wed, 11 Oct 2023 at 15:52, Rob Herring <[email protected]> wrote:
> >
> > On Wed, Oct 11, 2023 at 6:27 AM Dmitry Baryshkov
> > <[email protected]> wrote:
> > >
> > > The qcom-cpufreq-nvmem module uses of_find_next_cache_node() function,
> > > so export it to be available to the modules.
> >
> > You really should be using the cacheinfo API which has already parsed
> > the cache nodes.
> >
> > Also, why do you need a platform_device? I don't see a driver.
> > cacheinfo already creates a struct device, so kind of weird to have 2
> > devices.
>
> The driver is pending as a part of the series at [1]. We need to scale
> the L2 supplies and clock frequency following the core frequency
> changes.

Guys, can we please resolve this soon ? I had to revert the patches
for the time being to avoid these failures.

--
viresh

2023-10-16 04:22:43

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH] of: export of_find_next_cache_node() for modules

On Mon, 16 Oct 2023 at 06:24, Viresh Kumar <[email protected]> wrote:
>
> On 11-10-23, 15:59, Dmitry Baryshkov wrote:
> > On Wed, 11 Oct 2023 at 15:52, Rob Herring <[email protected]> wrote:
> > >
> > > On Wed, Oct 11, 2023 at 6:27 AM Dmitry Baryshkov
> > > <[email protected]> wrote:
> > > >
> > > > The qcom-cpufreq-nvmem module uses of_find_next_cache_node() function,
> > > > so export it to be available to the modules.
> > >
> > > You really should be using the cacheinfo API which has already parsed
> > > the cache nodes.
> > >
> > > Also, why do you need a platform_device? I don't see a driver.
> > > cacheinfo already creates a struct device, so kind of weird to have 2
> > > devices.
> >
> > The driver is pending as a part of the series at [1]. We need to scale
> > the L2 supplies and clock frequency following the core frequency
> > changes.
>
> Guys, can we please resolve this soon ? I had to revert the patches
> for the time being to avoid these failures.

Rob pointed out that I should rework my code to use the cacheinfo
device for the L2 cache. This means that L2 device population should
be dropped from cpufreq. I'll post newer series as soon as I finish
the implementation.

--
With best wishes
Dmitry