* [chrome-os:chromeos-5.10 11/17] drivers/devfreq/governor_passive.c:247:25: error: assignment to 'struct devfreq_cpu_data *' from incompatible pointer type 'struct cpuinfo_um *'
@ 2021-05-26 14:05 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-26 14:05 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 12313 bytes --]
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.10
head: f9e5ab338f92f4f14bfe5b5d340a6947495d5b2c
commit: 13f1f28be1c3177ad97e5b9015b9658705064a3f [11/17] FIXUP: FROMGIT: PM / devfreq: Add cpu based scaling support to passive governor
config: um-randconfig-r024-20210526 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.10
git checkout 13f1f28be1c3177ad97e5b9015b9658705064a3f
# save the attached .config to linux build tree
make W=1 ARCH=um
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
52 | struct devfreq_cpu_data *cpu_data;
| ^~~~~~~~
drivers/devfreq/governor_passive.c:58:12: error: lvalue required as left operand of assignment
58 | cpu_data = p_data->cpudata[cpu];
| ^
drivers/devfreq/governor_passive.c:59:7: warning: the address of 'boot_cpu_data' will always evaluate as 'true' [-Waddress]
59 | if (!cpu_data || cpu_data->first_cpu != cpu)
| ^
drivers/devfreq/governor_passive.c:59:28: error: 'struct cpuinfo_um' has no member named 'first_cpu'
59 | if (!cpu_data || cpu_data->first_cpu != cpu)
| ^~
drivers/devfreq/governor_passive.c:63:21: error: 'struct cpuinfo_um' has no member named 'cur_freq'
63 | cpu_cur = cpu_data->cur_freq * HZ_PER_KHZ;
| ^~
drivers/devfreq/governor_passive.c:64:49: error: 'struct cpuinfo_um' has no member named 'dev'
64 | freq = get_taget_freq_by_required_opp(cpu_data->dev,
| ^~
drivers/devfreq/governor_passive.c:65:14: error: 'struct cpuinfo_um' has no member named 'opp_table'
65 | cpu_data->opp_table,
| ^~
drivers/devfreq/governor_passive.c:75:21: error: 'struct cpuinfo_um' has no member named 'min_freq'
75 | cpu_min = cpu_data->min_freq;
| ^~
drivers/devfreq/governor_passive.c:76:21: error: 'struct cpuinfo_um' has no member named 'max_freq'
76 | cpu_max = cpu_data->max_freq;
| ^~
drivers/devfreq/governor_passive.c:77:21: error: 'struct cpuinfo_um' has no member named 'cur_freq'
77 | cpu_cur = cpu_data->cur_freq;
| ^~
In file included from arch/x86/um/asm/processor.h:41,
from include/linux/spinlock_up.h:8,
from include/linux/spinlock.h:92,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from drivers/devfreq/governor_passive.c:10:
drivers/devfreq/governor_passive.c: In function 'cpufreq_passive_notifier_call':
arch/um/include/asm/processor-generic.h:97:19: error: expected identifier or '(' before '&' token
97 | #define cpu_data (&boot_cpu_data)
| ^
drivers/devfreq/governor_passive.c:165:27: note: in expansion of macro 'cpu_data'
165 | struct devfreq_cpu_data *cpu_data;
| ^~~~~~~~
drivers/devfreq/governor_passive.c:174:11: error: lvalue required as left operand of assignment
174 | cpu_data = data->cpudata[freqs->policy->cpu];
| ^
drivers/devfreq/governor_passive.c:175:14: error: 'struct cpuinfo_um' has no member named 'cur_freq'
175 | if (cpu_data->cur_freq == freqs->new)
| ^~
drivers/devfreq/governor_passive.c:178:21: error: 'struct cpuinfo_um' has no member named 'cur_freq'
178 | cur_freq = cpu_data->cur_freq;
| ^~
drivers/devfreq/governor_passive.c:179:10: error: 'struct cpuinfo_um' has no member named 'cur_freq'
179 | cpu_data->cur_freq = freqs->new;
| ^~
drivers/devfreq/governor_passive.c:185:11: error: 'struct cpuinfo_um' has no member named 'cur_freq'
185 | cpu_data->cur_freq = cur_freq;
| ^~
In file included from arch/x86/um/asm/processor.h:41,
from include/linux/spinlock_up.h:8,
from include/linux/spinlock.h:92,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from drivers/devfreq/governor_passive.c:10:
drivers/devfreq/governor_passive.c: In function 'cpufreq_passive_register_notifier':
arch/um/include/asm/processor-generic.h:97:19: error: expected identifier or '(' before '&' token
97 | #define cpu_data (&boot_cpu_data)
| ^
drivers/devfreq/governor_passive.c:199:27: note: in expansion of macro 'cpu_data'
199 | struct devfreq_cpu_data *cpu_data;
| ^~~~~~~~
drivers/devfreq/governor_passive.c:221:13: error: lvalue required as left operand of assignment
221 | cpu_data = kzalloc(sizeof(*cpu_data), GFP_KERNEL);
| ^
drivers/devfreq/governor_passive.c:222:8: warning: the address of 'boot_cpu_data' will always evaluate as 'true' [-Waddress]
222 | if (!cpu_data) {
| ^
drivers/devfreq/governor_passive.c:240:12: error: 'struct cpuinfo_um' has no member named 'dev'
240 | cpu_data->dev = cpu_dev;
| ^~
drivers/devfreq/governor_passive.c:241:12: error: 'struct cpuinfo_um' has no member named 'opp_table'
241 | cpu_data->opp_table = opp_table;
| ^~
drivers/devfreq/governor_passive.c:242:12: error: 'struct cpuinfo_um' has no member named 'first_cpu'
242 | cpu_data->first_cpu = cpumask_first(policy->related_cpus);
| ^~
drivers/devfreq/governor_passive.c:243:12: error: 'struct cpuinfo_um' has no member named 'cur_freq'
243 | cpu_data->cur_freq = policy->cur;
| ^~
drivers/devfreq/governor_passive.c:244:12: error: 'struct cpuinfo_um' has no member named 'min_freq'
244 | cpu_data->min_freq = policy->cpuinfo.min_freq;
| ^~
drivers/devfreq/governor_passive.c:245:12: error: 'struct cpuinfo_um' has no member named 'max_freq'
245 | cpu_data->max_freq = policy->cpuinfo.max_freq;
| ^~
>> drivers/devfreq/governor_passive.c:247:25: error: assignment to 'struct devfreq_cpu_data *' from incompatible pointer type 'struct cpuinfo_um *' [-Werror=incompatible-pointer-types]
247 | p_data->cpudata[cpu] = cpu_data;
| ^
In file included from arch/x86/um/asm/processor.h:41,
from include/linux/spinlock_up.h:8,
from include/linux/spinlock.h:92,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from drivers/devfreq/governor_passive.c:10:
drivers/devfreq/governor_passive.c: In function 'cpufreq_passive_unregister_notifier':
arch/um/include/asm/processor-generic.h:97:19: error: expected identifier or '(' before '&' token
97 | #define cpu_data (&boot_cpu_data)
| ^
drivers/devfreq/governor_passive.c:272:27: note: in expansion of macro 'cpu_data'
272 | struct devfreq_cpu_data *cpu_data;
| ^~~~~~~~
drivers/devfreq/governor_passive.c:279:12: error: lvalue required as left operand of assignment
279 | cpu_data = p_data->cpudata[cpu];
| ^
In file included from arch/x86/um/asm/processor.h:41,
from include/linux/spinlock_up.h:8,
from include/linux/spinlock.h:92,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from drivers/devfreq/governor_passive.c:10:
arch/um/include/asm/processor-generic.h:97:18: warning: the address of 'boot_cpu_data' will always evaluate as 'true' [-Waddress]
97 | #define cpu_data (&boot_cpu_data)
| ^
drivers/devfreq/governor_passive.c:280:7: note: in expansion of macro 'cpu_data'
280 | if (cpu_data) {
| ^~~~~~~~
drivers/devfreq/governor_passive.c:281:16: error: 'struct cpuinfo_um' has no member named 'opp_table'
281 | if (cpu_data->opp_table)
| ^~
drivers/devfreq/governor_passive.c:282:38: error: 'struct cpuinfo_um' has no member named 'opp_table'
282 | dev_pm_opp_put_opp_table(cpu_data->opp_table);
| ^~
drivers/devfreq/governor_passive.c:284:13: error: lvalue required as left operand of assignment
284 | cpu_data = NULL;
| ^
cc1: some warnings being treated as errors
vim +247 drivers/devfreq/governor_passive.c
192
193 static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
194 {
195 struct devfreq_passive_data *p_data
196 = (struct devfreq_passive_data *)devfreq->data;
197 struct device *dev = devfreq->dev.parent;
198 struct opp_table *opp_table = NULL;
199 struct devfreq_cpu_data *cpu_data;
200 struct cpufreq_policy *policy;
201 struct device *cpu_dev;
202 unsigned int cpu;
203 int ret;
204
205 get_online_cpus();
206
207 p_data->nb.notifier_call = cpufreq_passive_notifier_call;
208 ret = cpufreq_register_notifier(&p_data->nb, CPUFREQ_TRANSITION_NOTIFIER);
209 if (ret) {
210 dev_err(dev, "failed to register cpufreq notifier\n");
211 p_data->nb.notifier_call = NULL;
212 goto out;
213 }
214
215 for_each_online_cpu(cpu) {
216 if (p_data->cpudata[cpu])
217 continue;
218
219 policy = cpufreq_cpu_get(cpu);
220 if (policy) {
221 cpu_data = kzalloc(sizeof(*cpu_data), GFP_KERNEL);
222 if (!cpu_data) {
223 ret = -ENOMEM;
224 goto out;
225 }
226
227 cpu_dev = get_cpu_device(cpu);
228 if (!cpu_dev) {
229 dev_err(dev, "failed to get cpu device\n");
230 ret = -ENODEV;
231 goto out;
232 }
233
234 opp_table = dev_pm_opp_get_opp_table(cpu_dev);
235 if (IS_ERR(opp_table)) {
236 ret = PTR_ERR(opp_table);
237 goto out;
238 }
239
240 cpu_data->dev = cpu_dev;
241 cpu_data->opp_table = opp_table;
242 cpu_data->first_cpu = cpumask_first(policy->related_cpus);
243 cpu_data->cur_freq = policy->cur;
244 cpu_data->min_freq = policy->cpuinfo.min_freq;
245 cpu_data->max_freq = policy->cpuinfo.max_freq;
246
> 247 p_data->cpudata[cpu] = cpu_data;
248 cpufreq_cpu_put(policy);
249 } else {
250 ret = -EPROBE_DEFER;
251 goto out;
252 }
253 }
254 out:
255 put_online_cpus();
256 if (ret)
257 return ret;
258
259 mutex_lock(&devfreq->lock);
260 ret = devfreq_update_target(devfreq, 0L);
261 mutex_unlock(&devfreq->lock);
262 if (ret)
263 dev_err(dev, "failed to update the frequency\n");
264
265 return ret;
266 }
267
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 14636 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-26 14:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-26 14:05 [chrome-os:chromeos-5.10 11/17] drivers/devfreq/governor_passive.c:247:25: error: assignment to 'struct devfreq_cpu_data *' from incompatible pointer type 'struct cpuinfo_um *' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.