[PATCH] powerpc/64s: ibm,powerpc-cpu-features dt implementation
kbuild test robot
lkp at intel.com
Sun May 7 06:45:47 AEST 2017
Hi Nicholas,
[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.11 next-20170505]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/powerpc-64s-ibm-powerpc-cpu-features-dt-implementation/20170505-111808
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc
All errors (new ones prefixed by >>):
arch/powerpc/kernel/prom.c: In function 'cpufeatures_deps_enable':
>> arch/powerpc/kernel/prom.c:457:8: error: implicit declaration of function 'of_get_flat_dt_phandle' [-Werror=implicit-function-declaration]
if (of_get_flat_dt_phandle(d->node) == phandle) {
^~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/prom.c: In function 'early_init_dt_scan_cpufeatures':
>> arch/powerpc/kernel/prom.c:521:2: error: implicit declaration of function 'of_scan_flat_dt_subnodes' [-Werror=implicit-function-declaration]
of_scan_flat_dt_subnodes(node, count_cpufeatures_subnodes,
^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/of_get_flat_dt_phandle +457 arch/powerpc/kernel/prom.c
451 unsigned long phandle = be32_to_cpu(prop[i]);
452 int j;
453
454 for (j = 0; j < nr_dt_cpu_features; j++) {
455 struct dt_cpu_feature *d = &dt_cpu_features[j];
456
> 457 if (of_get_flat_dt_phandle(d->node) == phandle) {
458 cpufeatures_deps_enable(d);
459 if (d->disabled) {
460 f->disabled = 1;
461 return;
462 }
463 }
464 }
465 }
466
467 if (cpufeatures_process_feature(f))
468 f->enabled = 1;
469 else
470 f->disabled = 1;
471 }
472
473 static int __init scan_cpufeatures_subnodes(unsigned long node,
474 const char *uname,
475 void *data)
476 {
477 int *count = data;
478
479 process_cpufeatures_node(node, uname, *count);
480
481 (*count)++;
482
483 return 0;
484 }
485
486 static int __init count_cpufeatures_subnodes(unsigned long node,
487 const char *uname,
488 void *data)
489 {
490 int *count = data;
491
492 (*count)++;
493
494 return 0;
495 }
496
497 static int __init early_init_dt_scan_cpufeatures(unsigned long node,
498 const char *uname, int depth,
499 void *data)
500 {
501 const char *compat = of_get_flat_dt_prop(node, "compatible", NULL);
502 const __be32 *prop;
503 int count, i;
504 u32 isa;
505
506 /* We are scanning "ibm,powerpc-cpu-features" nodes only */
507 if (compat == NULL || strcmp(compat, "ibm,powerpc-cpu-features") != 0)
508 return 0;
509
510 prop = of_get_flat_dt_prop(node, "isa", NULL);
511 if (!prop) {
512 printk("ibm,powerpc-cpu-features node has missing property \"isa\"\n");
513 return 0;
514 }
515
516 isa = be32_to_cpup(prop);
517
518 has_cpufeatures_node = 1;
519
520 /* Count and allocate space for cpu features */
> 521 of_scan_flat_dt_subnodes(node, count_cpufeatures_subnodes,
522 &nr_dt_cpu_features);
523 dt_cpu_features = __va(
524 memblock_alloc(sizeof(struct dt_cpu_feature)*
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 52773 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20170507/2c20e13d/attachment-0001.gz>
More information about the Linuxppc-dev
mailing list