2021-08-22 20:11:01

by Valdis Klētnieks

[permalink] [raw]
Subject: [PATCH] cpufreq: qcom-cpufreq-hw: Fix 'make allmodconfig' build

Commit 86afc1df661a adds a reference to a symbol that doesn't have an
EXPORT_SYMBOL, which fails if qcom-cpufreq-hw is built as a module.

ERROR: modpost: "topology_set_thermal_pressure" [drivers/cpufreq/qcom-cpufreq-hw.ko] undefined!

Add the missing EXPORT_SYMBOL.

Fixes: 86afc1df661a ("cpufreq: qcom-cpufreq-hw: Add dcvs interrupt support")
Signed-off-by: Valdis Kletnieks <[email protected]>
---
diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
index 921312a8d957..fbc39ca67124 100644
--- a/drivers/base/arch_topology.c
+++ b/drivers/base/arch_topology.c
@@ -165,6 +165,7 @@ void topology_set_thermal_pressure(const struct cpumask *cpus,
for_each_cpu(cpu, cpus)
WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure);
}
+EXPORT_SYMBOL(topology_set_thermal_pressure);

static ssize_t cpu_capacity_show(struct device *dev,
struct device_attribute *attr,


2021-08-22 21:12:50

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: qcom-cpufreq-hw: Fix 'make allmodconfig' build

On 8/22/21 1:10 PM, Valdis Klētnieks wrote:
> Commit 86afc1df661a adds a reference to a symbol that doesn't have an
> EXPORT_SYMBOL, which fails if qcom-cpufreq-hw is built as a module.
>
> ERROR: modpost: "topology_set_thermal_pressure" [drivers/cpufreq/qcom-cpufreq-hw.ko] undefined!
>
> Add the missing EXPORT_SYMBOL.
>
> Fixes: 86afc1df661a ("cpufreq: qcom-cpufreq-hw: Add dcvs interrupt support")
> Signed-off-by: Valdis Kletnieks <[email protected]>
> ---
> diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
> index 921312a8d957..fbc39ca67124 100644
> --- a/drivers/base/arch_topology.c
> +++ b/drivers/base/arch_topology.c
> @@ -165,6 +165,7 @@ void topology_set_thermal_pressure(const struct cpumask *cpus,
> for_each_cpu(cpu, cpus)
> WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure);
> }
> +EXPORT_SYMBOL(topology_set_thermal_pressure);
>
> static ssize_t cpu_capacity_show(struct device *dev,
> struct device_attribute *attr,
>

Hi Valdis,

This fixes one build error for me but I am still seeing another one:

ERROR: modpost: "cpu_scale" [drivers/cpufreq/qcom-cpufreq-hw.ko] undefined!

thanks.
--
~Randy

2021-08-22 21:15:44

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: qcom-cpufreq-hw: Fix 'make allmodconfig' build

On Sun, 22 Aug 2021 14:08:08 -0700, Randy Dunlap said:

> This fixes one build error for me but I am still seeing another one:
>
> ERROR: modpost: "cpu_scale" [drivers/cpufreq/qcom-cpufreq-hw.ko] undefined!

That's a different patch, am working on fixing that one now..


Attachments:
(No filename) (505.00 B)

2021-08-24 09:16:59

by SeongJae Park

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: qcom-cpufreq-hw: Fix 'make allmodconfig' build

Hi,

On Sun, 22 Aug 2021 17:14:04 -0400 "Valdis Klētnieks" <[email protected]> wrote:

>
> [-- Attachment #1: Type: text/plain, Size: 270 bytes --]
>
> On Sun, 22 Aug 2021 14:08:08 -0700, Randy Dunlap said:
>
> > This fixes one build error for me but I am still seeing another one:
> >
> > ERROR: modpost: "cpu_scale" [drivers/cpufreq/qcom-cpufreq-hw.ko] undefined!
>
> That's a different patch, am working on fixing that one now..

I didn't take a deep look here, so I unsure if this is an appropriate fix, but
I was able to work-around this issue for my use case with below change.

```
--- a/drivers/base/arch_topology.c
+++ b/drivers/base/arch_topology.c
@@ -149,6 +149,7 @@ void topology_set_freq_scale(const struct cpumask *cpus, unsigned long cur_freq,
}

DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE;
+EXPORT_PER_CPU_SYMBOL_GPL(cpu_scale);

void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity)
{
```


Thanks,
SJ

2021-08-25 02:17:08

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: qcom-cpufreq-hw: Fix 'make allmodconfig' build

On Tue, 24 Aug 2021 09:14:30 -0000, SeongJae Park said:

> > > ERROR: modpost: "cpu_scale" [drivers/cpufreq/qcom-cpufreq-hw.ko] undefined!
> >
> > That's a different patch, am working on fixing that one now..
>
> I didn't take a deep look here, so I unsure if this is an appropriate fix, but
> I was able to work-around this issue for my use case with below change.
>

> DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE;
> +EXPORT_PER_CPU_SYMBOL_GPL(cpu_scale);

Aha. That's the part I wasn't finding. Would you like to submit your patch,
or shall I send it in with a "Suggested-by" for you?


Attachments:
(No filename) (505.00 B)

2021-08-25 04:44:36

by SeongJae Park

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: qcom-cpufreq-hw: Fix 'make allmodconfig' build

From: SeongJae Park <[email protected]>

On Tue, 24 Aug 2021 22:16:04 -0400 "Valdis Klētnieks" <[email protected]> wrote:

> On Tue, 24 Aug 2021 09:14:30 -0000, SeongJae Park said:
>
> > > > ERROR: modpost: "cpu_scale" [drivers/cpufreq/qcom-cpufreq-hw.ko] undefined!
> > >
> > > That's a different patch, am working on fixing that one now..
> >
> > I didn't take a deep look here, so I unsure if this is an appropriate fix, but
> > I was able to work-around this issue for my use case with below change.
> >
>
> > DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE;
> > +EXPORT_PER_CPU_SYMBOL_GPL(cpu_scale);
>
> Aha. That's the part I wasn't finding. Would you like to submit your patch,
> or shall I send it in with a "Suggested-by" for you?

I'd prefer 'Suggested-by', as I didn't take a deep look here.

Suggested-by: SeongJae Park <[email protected]>


Thanks,
SJ