tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge head: 3e3a8af78fdb00f2116394b8aa69be9819d5e8b6 commit: c333fb2b766a84b1528ae48a9aabe2f9b689ca64 [91/101] PM / OPP: Fix get sharing CPUs when hotplug is used config: x86_64-randconfig-x013-201730 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout c333fb2b766a84b1528ae48a9aabe2f9b689ca64 # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from include/linux/kernel.h:13:0, from include/linux/list.h:8, from include/linux/kobject.h:20, from include/linux/device.h:17, from include/linux/node.h:17, from include/linux/cpu.h:16, from drivers/base/power/opp/of.c:16: drivers/base/power/opp/of.c: In function 'dev_pm_opp_of_get_sharing_cpus': >> drivers/base/power/opp/of.c:617:45: error: 'cpu_node' undeclared (first use in this function) pr_err("%pOF: Couldn't find opp node\n", cpu_node); ^ include/linux/printk.h:301:33: note: in definition of macro 'pr_err' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ drivers/base/power/opp/of.c:617:45: note: each undeclared identifier is reported only once for each function it appears in pr_err("%pOF: Couldn't find opp node\n", cpu_node); ^ include/linux/printk.h:301:33: note: in definition of macro 'pr_err' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ In file included from include/linux/ioport.h:12:0, from include/linux/device.h:16, from include/linux/node.h:17, from include/linux/cpu.h:16, from drivers/base/power/opp/of.c:16: drivers/base/power/opp/of.c: At top level: include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'strcpy' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:390:2: note: in expansion of macro 'if' if (p_size == (size_t)-1 && q_size == (size_t)-1) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:380:2: note: in expansion of macro 'if' if (p_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:378:2: note: in expansion of macro 'if' if (__builtin_constant_p(size) && p_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:369:2: note: in expansion of macro 'if' if (p_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:367:2: note: in expansion of macro 'if' if (__builtin_constant_p(size) && p_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:358:2: note: in expansion of macro 'if' if (p_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memchr' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:356:2: note: in expansion of macro 'if' if (__builtin_constant_p(size) && p_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:348:2: note: in expansion of macro 'if' if (p_size < size || q_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static ______f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~~~~~~~~~ include/linux/string.h:345:3: note: in expansion of macro 'if' if (q_size < size) ^~ include/linux/compiler.h:162:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static ______f = { \ vim +/cpu_node +617 drivers/base/power/opp/of.c 565 566 /* 567 * Works only for OPP v2 bindings. 568 * 569 * Returns -ENOENT if operating-points-v2 bindings aren't supported. 570 */ 571 /** 572 * dev_pm_opp_of_get_sharing_cpus() - Get cpumask of CPUs sharing OPPs with 573 * @cpu_dev using operating-points-v2 574 * bindings. 575 * 576 * @cpu_dev: CPU device for which we do this operation 577 * @cpumask: cpumask to update with information of sharing CPUs 578 * 579 * This updates the @cpumask with CPUs that are sharing OPPs with @cpu_dev. 580 * 581 * Returns -ENOENT if operating-points-v2 isn't present for @cpu_dev. 582 */ 583 int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, 584 struct cpumask *cpumask) 585 { 586 struct device_node *np, *tmp_np, *cpu_np; 587 int cpu, ret = 0; 588 589 /* Get OPP descriptor node */ 590 np = dev_pm_opp_of_get_opp_desc_node(cpu_dev); 591 if (!np) { 592 dev_dbg(cpu_dev, "%s: Couldn't find opp node.\n", __func__); 593 return -ENOENT; 594 } 595 596 cpumask_set_cpu(cpu_dev->id, cpumask); 597 598 /* OPPs are shared ? */ 599 if (!of_property_read_bool(np, "opp-shared")) 600 goto put_cpu_node; 601 602 for_each_possible_cpu(cpu) { 603 if (cpu == cpu_dev->id) 604 continue; 605 606 cpu_np = of_get_cpu_node(cpu, NULL); 607 if (!cpu_np) { 608 dev_err(cpu_dev, "%s: failed to get cpu%d node\n", 609 __func__, cpu); 610 ret = -ENOENT; 611 goto put_cpu_node; 612 } 613 614 /* Get OPP descriptor node */ 615 tmp_np = _opp_of_get_opp_desc_node(cpu_np); 616 if (!tmp_np) { > 617 pr_err("%pOF: Couldn't find opp node\n", cpu_node); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip