[intel-lts:5.4/yocto 9329/18530] keembay-ocs-ecc-core.c:undefined reference to `devm_platform_ioremap_resource'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: 10c3d69bc60059b194dcfa816cbc1240ffb0431d
commit: d2a205db2c4ee2728f9be6d45f2361f05205408e [9329/18530] crypto: keembay: Add Keem Bay offload ECC Driver
config: s390-randconfig-r001-20211118 (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel/linux-intel-lts/commit/d2a205db2c4ee2728f9be6d45...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.4/yocto
git checkout d2a205db2c4ee2728f9be6d45f2361f05205408e
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
s390-linux-ld: drivers/char/hw_random/exynos-trng.o: in function `exynos_trng_probe':
exynos-trng.c:(.text+0x53a): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/char/hw_random/meson-rng.o: in function `meson_rng_probe':
meson-rng.c:(.text+0xd0): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/char/hw_random/mtk-rng.o: in function `mtk_rng_probe':
mtk-rng.c:(.text+0x47e): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/ptp/ptp_qoriq.o: in function `ptp_qoriq_probe':
ptp_qoriq.c:(.text+0xf2a): undefined reference to `ioremap'
s390-linux-ld: ptp_qoriq.c:(.text+0xfa6): undefined reference to `iounmap'
s390-linux-ld: drivers/ptp/ptp_qoriq.o: in function `ptp_qoriq_free':
ptp_qoriq.c:(.text+0x102c): undefined reference to `iounmap'
s390-linux-ld: drivers/crypto/keembay/keembay-ocs-aes-core.o: in function `kmb_ocs_aes_probe':
keembay-ocs-aes-core.c:(.text+0x281c): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/crypto/keembay/keembay-ocs-ecc-core.o: in function `kmb_ocs_ecc_probe':
>> keembay-ocs-ecc-core.c:(.text.unlikely+0xb0): undefined reference to `devm_platform_ioremap_resource'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [PATCH 6/7] perf: x86/core: Add interface to query perfmon_event_map[] directly
by kernel test robot
Hi Like,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kvm/queue]
[also build test ERROR on tip/perf/core mst-vhost/linux-next linus/master v5.16-rc1 next-20211117]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Like-Xu/KVM-x86-pmu-Four-functio...
base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
config: x86_64-randconfig-c022-20211115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/43c9d66955e7ece2fd8f6c03cc606cf72...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Like-Xu/KVM-x86-pmu-Four-functional-fixes/20211112-175332
git checkout 43c9d66955e7ece2fd8f6c03cc606cf72be8e8d4
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:21,
from include/trace/define_trace.h:102,
from drivers/base/regmap/trace.h:257,
from drivers/base/regmap/regmap.c:23:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
--
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:87,
from init/main.c:21:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
init/main.c:788:20: warning: no previous prototype for 'mem_encrypt_init' [-Wmissing-prototypes]
788 | void __init __weak mem_encrypt_init(void) { }
| ^~~~~~~~~~~~~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:87,
from include/linux/entry-common.h:7,
from arch/x86/include/asm/idtentry.h:9,
from arch/x86/include/asm/traps.h:9,
from arch/x86/mm/extable.c:9:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
arch/x86/mm/extable.c:27:16: warning: no previous prototype for 'ex_handler_default' [-Wmissing-prototypes]
27 | __visible bool ex_handler_default(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:37:16: warning: no previous prototype for 'ex_handler_fault' [-Wmissing-prototypes]
37 | __visible bool ex_handler_fault(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:58:16: warning: no previous prototype for 'ex_handler_fprestore' [-Wmissing-prototypes]
58 | __visible bool ex_handler_fprestore(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:73:16: warning: no previous prototype for 'ex_handler_uaccess' [-Wmissing-prototypes]
73 | __visible bool ex_handler_uaccess(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:84:16: warning: no previous prototype for 'ex_handler_copy' [-Wmissing-prototypes]
84 | __visible bool ex_handler_copy(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~
arch/x86/mm/extable.c:96:16: warning: no previous prototype for 'ex_handler_rdmsr_unsafe' [-Wmissing-prototypes]
96 | __visible bool ex_handler_rdmsr_unsafe(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:113:16: warning: no previous prototype for 'ex_handler_wrmsr_unsafe' [-Wmissing-prototypes]
113 | __visible bool ex_handler_wrmsr_unsafe(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/mm/extable.c:129:16: warning: no previous prototype for 'ex_handler_clear_fs' [-Wmissing-prototypes]
129 | __visible bool ex_handler_clear_fs(const struct exception_table_entry *fixup,
| ^~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:87,
from kernel/exit.c:42:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
kernel/exit.c:1810:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes]
1810 | __weak void abort(void)
| ^~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:21,
from include/trace/define_trace.h:102,
from include/trace/events/vmscan.h:460,
from mm/vmscan.c:63:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
mm/vmscan.c: In function 'demote_page_list':
mm/vmscan.c:1340:6: warning: variable 'err' set but not used [-Wunused-but-set-variable]
1340 | int err;
| ^~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:87,
from fs/pipe.c:24:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
fs/pipe.c:755:15: warning: no previous prototype for 'account_pipe_buffers' [-Wmissing-prototypes]
755 | unsigned long account_pipe_buffers(struct user_struct *user,
| ^~~~~~~~~~~~~~~~~~~~
fs/pipe.c:761:6: warning: no previous prototype for 'too_many_pipe_buffers_soft' [-Wmissing-prototypes]
761 | bool too_many_pipe_buffers_soft(unsigned long user_bufs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:768:6: warning: no previous prototype for 'too_many_pipe_buffers_hard' [-Wmissing-prototypes]
768 | bool too_many_pipe_buffers_hard(unsigned long user_bufs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:775:6: warning: no previous prototype for 'pipe_is_unprivileged_user' [-Wmissing-prototypes]
775 | bool pipe_is_unprivileged_user(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:1245:5: warning: no previous prototype for 'pipe_resize_ring' [-Wmissing-prototypes]
1245 | int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots)
| ^~~~~~~~~~~~~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:87,
from fs/d_path.c:2:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
fs/d_path.c:320:7: warning: no previous prototype for 'simple_dname' [-Wmissing-prototypes]
320 | char *simple_dname(struct dentry *dentry, char *buffer, int buflen)
| ^~~~~~~~~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/hw_breakpoint.h:5,
from kernel/trace/trace.h:15,
from kernel/trace/trace_output.h:6,
from kernel/trace/ftrace.c:45:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
kernel/trace/ftrace.c:302:5: warning: no previous prototype for '__register_ftrace_function' [-Wmissing-prototypes]
302 | int __register_ftrace_function(struct ftrace_ops *ops)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:345:5: warning: no previous prototype for '__unregister_ftrace_function' [-Wmissing-prototypes]
345 | int __unregister_ftrace_function(struct ftrace_ops *ops)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/ftrace.c:3876:15: warning: no previous prototype for 'arch_ftrace_match_adjust' [-Wmissing-prototypes]
3876 | char * __weak arch_ftrace_match_adjust(char *str, const char *search)
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/hw_breakpoint.h:5,
from kernel/trace/trace.h:15,
from kernel/trace/trace.c:53:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
kernel/trace/trace.c: In function 'trace_check_vprintf':
kernel/trace/trace.c:3837:3: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
3837 | trace_seq_vprintf(&iter->seq, iter->fmt, ap);
| ^~~~~~~~~~~~~~~~~
kernel/trace/trace.c:3892:3: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
3892 | trace_seq_vprintf(&iter->seq, p, ap);
| ^~~~~~~~~~~~~~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/hw_breakpoint.h:5,
from kernel/trace/trace.h:15,
from kernel/trace/trace_output.h:6,
from kernel/trace/trace_output.c:14:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
kernel/trace/trace_output.c: In function 'trace_output_raw':
kernel/trace/trace_output.c:331:2: warning: function 'trace_output_raw' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
331 | trace_seq_vprintf(s, trace_event_format(iter, fmt), ap);
| ^~~~~~~~~~~~~~~~~
--
In file included from include/linux/perf_event.h:25,
from include/linux/hw_breakpoint.h:5,
from kernel/trace/trace.h:15,
from kernel/trace/trace_preemptirq.c:13:
>> arch/x86/include/asm/perf_event.h:500:1: error: expected identifier or '(' before '{' token
500 | {
| ^
kernel/trace/trace_preemptirq.c:88:16: warning: no previous prototype for 'trace_hardirqs_on_caller' [-Wmissing-prototypes]
88 | __visible void trace_hardirqs_on_caller(unsigned long caller_addr)
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/trace_preemptirq.c:103:16: warning: no previous prototype for 'trace_hardirqs_off_caller' [-Wmissing-prototypes]
103 | __visible void trace_hardirqs_off_caller(unsigned long caller_addr)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
..
vim +500 arch/x86/include/asm/perf_event.h
492
493 #if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_CPU_SUP_INTEL)
494 extern struct perf_guest_switch_msr *perf_guest_get_msrs(int *nr);
495 extern u64 perf_get_hw_event_config(int perf_hw_id);
496 extern int x86_perf_get_lbr(struct x86_pmu_lbr *lbr);
497 #else
498 struct perf_guest_switch_msr *perf_guest_get_msrs(int *nr);
499 u64 perf_get_hw_event_config(int perf_hw_id);
> 500 {
501 return 0;
502 }
503 static inline int x86_perf_get_lbr(struct x86_pmu_lbr *lbr)
504 {
505 return -1;
506 }
507 #endif
508
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [RFC PATCH v3 9/9] power: supply: Add bd718(15/27/28/78) charger driver
by kernel test robot
Hi Matti,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on sre-power-supply/for-next]
[also build test WARNING on lee-mfd/for-mfd-next v5.16-rc1 next-20211118]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Matti-Vaittinen/power-supply-Add...
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: riscv-randconfig-s031-20211116 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/bcab8f5e195119b2d4e405451a1b54bb7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matti-Vaittinen/power-supply-Add-some-fuel-gauge-logic/20211116-203220
git checkout bcab8f5e195119b2d4e405451a1b54bb7edb82c5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/power/supply/bd71827-power.c:476:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [addressable] [usertype] tmp_curr @@ got int @@
drivers/power/supply/bd71827-power.c:476:26: sparse: expected restricted __be16 [addressable] [usertype] tmp_curr
drivers/power/supply/bd71827-power.c:476:26: sparse: got int
>> drivers/power/supply/bd71827-power.c:478:36: sparse: sparse: cast from restricted __be16
>> drivers/power/supply/bd71827-power.c:645:37: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned short [usertype] *swap_lo @@ got restricted __be16 [usertype] * @@
drivers/power/supply/bd71827-power.c:645:37: sparse: expected unsigned short [usertype] *swap_lo
drivers/power/supply/bd71827-power.c:645:37: sparse: got restricted __be16 [usertype] *
vim +476 drivers/power/supply/bd71827-power.c
456
457 static int bd71827_get_current_ds_adc(struct bd71827_power *pwr, int *curr, int *curr_avg)
458 {
459 __be16 tmp_curr;
460 char *tmp = (char *)&tmp_curr;
461 int dir = 1;
462 int regs[] = { pwr->regs->ibat, pwr->regs->ibat_avg };
463 int *vals[] = { curr, curr_avg };
464 int ret, i;
465
466 for (dir = 1, i = 0; i < ARRAY_SIZE(regs); i++) {
467 ret = regmap_bulk_read(pwr->regmap, regs[i], &tmp_curr,
468 sizeof(tmp_curr));
469 if (ret)
470 break;
471
472 if (*tmp & BD7182x_MASK_CURDIR_DISCHG)
473 dir = -1;
474
475 *tmp &= BD7182x_MASK_IBAT_U;
> 476 tmp_curr = be16_to_cpu(tmp_curr);
477
> 478 *vals[i] = dir * ((int)tmp_curr) * pwr->curr_factor;
479 }
480
481 return ret;
482 }
483
484 static int bd71827_voltage_to_capacity(struct simple_gauge *sw, int ocv,
485 int temp __always_unused,
486 int *dsoc);
487
488 static int bd71827_voltage_to_capacity(struct simple_gauge *sw, int ocv, int temp,
489 int *dsoc)
490 {
491 int i = 0;
492 struct bd71827_power *pwr;
493
494 /* If ocv_table is not given try luck with batinfo */
495 if (!use_load_bat_params || !ocv_table[0]) {
496 if (!sw)
497 return -EINVAL;
498
499 pwr = simple_gauge_get_drvdata(sw);
500 *dsoc = power_supply_batinfo_ocv2dcap(&pwr->batinfo, ocv, 0);
501 if (*dsoc < 0)
502 return *dsoc;
503
504 return 0;
505 }
506
507 /* Default or module param OCV table. We have NUM_BAT_PARAMS */
508 if (ocv > ocv_table[0]) {
509 *dsoc = soc_table[0];
510 } else {
511 for (i = 0; i < NUM_BAT_PARAMS; i++) {
512 if ((ocv <= ocv_table[i]) && (ocv > ocv_table[i+1])) {
513 *dsoc = (soc_table[i] - soc_table[i+1]) *
514 (ocv - ocv_table[i+1]) /
515 (ocv_table[i] - ocv_table[i+1]);
516 *dsoc += soc_table[i+1];
517 break;
518 }
519 }
520 if (i == NUM_BAT_PARAMS)
521 *dsoc = soc_table[i - 1];
522 }
523
524 return 0;
525 }
526
527 /* Unit is tenths of degree C */
528 static int bd71827_get_temp(struct simple_gauge *sw, int *temp)
529 {
530 struct bd71827_power *pwr = simple_gauge_get_drvdata(sw);
531 struct regmap *regmap = pwr->regmap;
532 int ret;
533 int t;
534
535 ret = regmap_read(regmap, pwr->regs->btemp_vth, &t);
536 t = 200 - t;
537
538 if (ret || t > 200) {
539 dev_err(pwr->dev, "Failed to read battery temperature\n");
540 *temp = 2000;
541 } else {
542 *temp = t * 10;
543 }
544
545 return ret;
546 }
547
548 /* Unit is tenths of degree C */
549 static int bd71828_get_temp(struct simple_gauge *sw, int *temp)
550 {
551 struct bd71827_power *pwr = simple_gauge_get_drvdata(sw);
552 uint16_t t;
553 int ret;
554 int tmp = 200 * 10000;
555
556 ret = bd7182x_read16_himask(pwr, pwr->regs->btemp_vth,
557 BD71828_MASK_VM_BTMP_U, &t);
558 if (ret || t > 3200)
559 dev_err(pwr->dev,
560 "Failed to read system min average voltage\n");
561
562 tmp -= 625ULL * (unsigned int)t;
563 *temp = tmp / 1000;
564
565 return ret;
566 }
567
568 static int bd71827_charge_status(struct bd71827_power *pwr,
569 int *s, int *h)
570 {
571 unsigned int state;
572 int status, health;
573 int ret = 1;
574
575 ret = regmap_read(pwr->regmap, pwr->regs->chg_state, &state);
576 if (ret)
577 dev_err(pwr->dev, "charger status reading failed (%d)\n", ret);
578
579 state &= BD7182x_MASK_CHG_STATE;
580
581 dev_dbg(pwr->dev, "CHG_STATE %d\n", state);
582
583 switch (state) {
584 case 0x00:
585 ret = 0;
586 status = POWER_SUPPLY_STATUS_DISCHARGING;
587 health = POWER_SUPPLY_HEALTH_GOOD;
588 break;
589 case 0x01:
590 case 0x02:
591 case 0x03:
592 case 0x0E:
593 status = POWER_SUPPLY_STATUS_CHARGING;
594 health = POWER_SUPPLY_HEALTH_GOOD;
595 break;
596 case 0x0F:
597 ret = 0;
598 status = POWER_SUPPLY_STATUS_FULL;
599 health = POWER_SUPPLY_HEALTH_GOOD;
600 break;
601 case 0x10:
602 case 0x11:
603 case 0x12:
604 case 0x13:
605 case 0x14:
606 case 0x20:
607 case 0x21:
608 case 0x22:
609 case 0x23:
610 case 0x24:
611 ret = 0;
612 status = POWER_SUPPLY_STATUS_NOT_CHARGING;
613 health = POWER_SUPPLY_HEALTH_OVERHEAT;
614 break;
615 case 0x30:
616 case 0x31:
617 case 0x32:
618 case 0x40:
619 ret = 0;
620 status = POWER_SUPPLY_STATUS_DISCHARGING;
621 health = POWER_SUPPLY_HEALTH_GOOD;
622 break;
623 case 0x7f:
624 default:
625 ret = 0;
626 status = POWER_SUPPLY_STATUS_NOT_CHARGING;
627 health = POWER_SUPPLY_HEALTH_DEAD;
628 break;
629 }
630
631 if (s)
632 *s = status;
633 if (h)
634 *h = health;
635
636 return ret;
637 }
638
639 static int __write_cc(struct bd71827_power *pwr, uint16_t bcap,
640 unsigned int reg, uint32_t *new)
641 {
642 int ret;
643 __be32 tmp;
644 __be16 *swap_hi = (__be16 *)&tmp;
> 645 uint16_t *swap_lo = swap_hi + 1;
646
647 *swap_hi = cpu_to_be16(bcap & BD7182x_MASK_CC_CCNTD_HI);
648 *swap_lo = 0;
649
650 ret = regmap_bulk_write(pwr->regmap, reg, &tmp, sizeof(tmp));
651 if (ret) {
652 dev_err(pwr->dev, "Failed to write coulomb counter\n");
653 return ret;
654 }
655 if (new)
656 *new = be32_to_cpu(tmp);
657
658 return ret;
659 }
660
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
drivers/pci/controller/pci-xgene.c:626:34: warning: unused variable 'xgene_pcie_match_table'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 42eb8fdac2fc5d62392dcfcf0253753e821a97b0
commit: 6e5a1fff9096ecd259dedcbbdc812aa90986a40e PCI: Avoid building empty drivers
date: 8 months ago
config: x86_64-buildonly-randconfig-r001-20211118 (attached as .config)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 6e5a1fff9096ecd259dedcbbdc812aa90986a40e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/pci/controller/pci-xgene.c:626:34: warning: unused variable 'xgene_pcie_match_table' [-Wunused-const-variable]
static const struct of_device_id xgene_pcie_match_table[] = {
^
1 warning generated.
vim +/xgene_pcie_match_table +626 drivers/pci/controller/pci-xgene.c
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 625
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 @626 static const struct of_device_id xgene_pcie_match_table[] = {
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 627 {.compatible = "apm,xgene-pcie",},
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 628 {},
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 629 };
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 630
:::::: The code at line 626 was first introduced by commit
:::::: 5f6b6ccdbe1cdfa5aa4347ec5412509b8995db27 PCI: xgene: Add APM X-Gene PCIe driver
:::::: TO: Tanmay Inamdar <tinamdar(a)apm.com>
:::::: CC: Bjorn Helgaas <bhelgaas(a)google.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
drivers/spi/spi-altera-dfl.c:52:30: sparse: sparse: incorrect type in initializer (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 42eb8fdac2fc5d62392dcfcf0253753e821a97b0
commit: ba2fc167e9447596a812e828842d0130ea9cd0e4 spi: altera: Add DFL bus driver for Altera API Controller
date: 7 months ago
config: m68k-randconfig-s031-20211109 (attached as .config)
compiler: m68k-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ba2fc167e9447596a812e828842d0130ea9cd0e4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/spi/spi-altera-dfl.c:52:30: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *base @@ got void *context @@
drivers/spi/spi-altera-dfl.c:52:30: sparse: expected void [noderef] __iomem *base
drivers/spi/spi-altera-dfl.c:52:30: sparse: got void *context
drivers/spi/spi-altera-dfl.c:78:30: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *base @@ got void *context @@
drivers/spi/spi-altera-dfl.c:78:30: sparse: expected void [noderef] __iomem *base
drivers/spi/spi-altera-dfl.c:78:30: sparse: got void *context
>> drivers/spi/spi-altera-dfl.c:161:22: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void *bus_context @@ got void [noderef] __iomem *[assigned] base @@
drivers/spi/spi-altera-dfl.c:161:22: sparse: expected void *bus_context
drivers/spi/spi-altera-dfl.c:161:22: sparse: got void [noderef] __iomem *[assigned] base
vim +52 drivers/spi/spi-altera-dfl.c
48
49 static int indirect_bus_reg_read(void *context, unsigned int reg,
50 unsigned int *val)
51 {
> 52 void __iomem *base = context;
53 int loops;
54 u64 v;
55
56 writeq((reg >> 2) | INDIRECT_RD, base + INDIRECT_ADDR);
57
58 loops = 0;
59 while ((readq(base + INDIRECT_ADDR) & INDIRECT_RD) &&
60 (loops++ < INDIRECT_TIMEOUT))
61 cpu_relax();
62
63 if (loops >= INDIRECT_TIMEOUT) {
64 pr_err("%s timed out %d\n", __func__, loops);
65 return -ETIME;
66 }
67
68 v = readq(base + INDIRECT_RD_DATA);
69
70 *val = v & INDIRECT_DATA_MASK;
71
72 return 0;
73 }
74
75 static int indirect_bus_reg_write(void *context, unsigned int reg,
76 unsigned int val)
77 {
78 void __iomem *base = context;
79 int loops;
80
81 writeq(val, base + INDIRECT_WR_DATA);
82 writeq((reg >> 2) | INDIRECT_WR, base + INDIRECT_ADDR);
83
84 loops = 0;
85 while ((readq(base + INDIRECT_ADDR) & INDIRECT_WR) &&
86 (loops++ < INDIRECT_TIMEOUT))
87 cpu_relax();
88
89 if (loops >= INDIRECT_TIMEOUT) {
90 pr_err("%s timed out %d\n", __func__, loops);
91 return -ETIME;
92 }
93 return 0;
94 }
95
96 static const struct regmap_config indirect_regbus_cfg = {
97 .reg_bits = 32,
98 .reg_stride = 4,
99 .val_bits = 32,
100 .fast_io = true,
101 .max_register = 24,
102
103 .reg_write = indirect_bus_reg_write,
104 .reg_read = indirect_bus_reg_read,
105 };
106
107 static struct spi_board_info m10_bmc_info = {
108 .modalias = "m10-d5005",
109 .max_speed_hz = 12500000,
110 .bus_num = 0,
111 .chip_select = 0,
112 };
113
114 static void config_spi_master(void __iomem *base, struct spi_master *master)
115 {
116 u64 v;
117
118 v = readq(base + SPI_CORE_PARAMETER);
119
120 master->mode_bits = SPI_CS_HIGH;
121 if (FIELD_GET(CLK_POLARITY, v))
122 master->mode_bits |= SPI_CPOL;
123 if (FIELD_GET(CLK_PHASE, v))
124 master->mode_bits |= SPI_CPHA;
125
126 master->num_chipselect = FIELD_GET(NUM_CHIPSELECT, v);
127 master->bits_per_word_mask =
128 SPI_BPW_RANGE_MASK(1, FIELD_GET(DATA_WIDTH, v));
129 }
130
131 static int dfl_spi_altera_probe(struct dfl_device *dfl_dev)
132 {
133 struct device *dev = &dfl_dev->dev;
134 struct spi_master *master;
135 struct altera_spi *hw;
136 void __iomem *base;
137 int err = -ENODEV;
138
139 master = spi_alloc_master(dev, sizeof(struct altera_spi));
140 if (!master)
141 return -ENOMEM;
142
143 master->bus_num = dfl_dev->id;
144
145 hw = spi_master_get_devdata(master);
146
147 hw->dev = dev;
148
149 base = devm_ioremap_resource(dev, &dfl_dev->mmio_res);
150
151 if (IS_ERR(base)) {
152 dev_err(dev, "%s get mem resource fail!\n", __func__);
153 return PTR_ERR(base);
154 }
155
156 config_spi_master(base, master);
157 dev_dbg(dev, "%s cs %u bpm 0x%x mode 0x%x\n", __func__,
158 master->num_chipselect, master->bits_per_word_mask,
159 master->mode_bits);
160
> 161 hw->regmap = devm_regmap_init(dev, NULL, base, &indirect_regbus_cfg);
162 if (IS_ERR(hw->regmap))
163 return PTR_ERR(hw->regmap);
164
165 hw->irq = -EINVAL;
166
167 altera_spi_init_master(master);
168
169 err = devm_spi_register_master(dev, master);
170 if (err) {
171 dev_err(dev, "%s failed to register spi master %d\n", __func__, err);
172 goto exit;
173 }
174
175 if (!spi_new_device(master, &m10_bmc_info)) {
176 dev_err(dev, "%s failed to create SPI device: %s\n",
177 __func__, m10_bmc_info.modalias);
178 }
179
180 return 0;
181 exit:
182 spi_master_put(master);
183 return err;
184 }
185
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[frank-w-bpi-r2-4.14:5.15-rtl8367dsa 19/62] drivers/net/wireless/mediatek/mt76/eeprom.c:48:24: sparse: sparse: Using plain integer as NULL pointer
by kernel test robot
tree: https://github.com/frank-w/BPI-R2-4.14 5.15-rtl8367dsa
head: 28f07f3c9803750f442f4d4d16508e9ba873f4ac
commit: 3afa402eaa5898356dccfa4ea540c5d67f7554a9 [19/62] mt76: allow loading eeprom from file
config: x86_64-randconfig-s022-20211118 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/frank-w/BPI-R2-4.14/commit/3afa402eaa5898356dccfa4ea54...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.15-rtl8367dsa
git checkout 3afa402eaa5898356dccfa4ea540c5d67f7554a9
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/wireless/mediatek/mt76/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/wireless/mediatek/mt76/eeprom.c:48:24: sparse: sparse: Using plain integer as NULL pointer
vim +48 drivers/net/wireless/mediatek/mt76/eeprom.c
11
12 static int
13 mt76_get_eeprom_file(struct mt76_dev *dev, int len)
14 {
15 char path[64]="";
16 struct file *fp;
17 loff_t pos=0;
18 int ret;
19 struct inode *inode = NULL;
20 loff_t size;
21
22 ret = snprintf(path,sizeof(path),"/lib/firmware/mediatek/%s_rf.bin",dev->dev->driver->name);
23 if(ret<0)
24 return -EINVAL;
25 dev_info(dev->dev,"Load eeprom: %s\n",path);
26 fp = filp_open(path, O_RDONLY, 0);
27 if (IS_ERR(fp)) {
28 dev_info(dev->dev,"Open eeprom file failed: %s\n",path);
29 return -ENOENT;
30 }
31
32 inode = file_inode(fp);
33 if ((!S_ISREG(inode->i_mode) && !S_ISBLK(inode->i_mode))) {
34 printk(KERN_ALERT "invalid file type: %s\n", path);
35 return -ENOENT;
36 }
37 size = i_size_read(inode->i_mapping->host);
38 if (size < 0)
39 {
40 printk(KERN_ALERT "failed getting size of %s size:%lld \n",path,size);
41 return -ENOENT;
42 }
43 ret = kernel_read(fp, dev->eeprom.data, len, &pos);
44 if(ret < size){
45 dev_info(dev->dev,"Load eeprom ERR, count %d byte (len:%d)\n",ret,len);
46 return -ENOENT;
47 }
> 48 filp_close(fp, 0);
49 dev_info(dev->dev,"Load eeprom OK, count %d byte\n",ret);
50
51 return 0;
52 }
53
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[intel-lts:5.4/yocto 9318/18530] keembay-ocs-aes-core.c:undefined reference to `devm_ioremap_resource'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: 10c3d69bc60059b194dcfa816cbc1240ffb0431d
commit: ed60485d05462b4c58e219b174c859bc66741e91 [9318/18530] keembay-ocs: Add support for Keem Bay OCS
config: s390-randconfig-r001-20211118 (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel/linux-intel-lts/commit/ed60485d05462b4c58e219b17...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.4/yocto
git checkout ed60485d05462b4c58e219b174c859bc66741e91
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
s390-linux-ld: drivers/char/hw_random/exynos-trng.o: in function `exynos_trng_probe':
exynos-trng.c:(.text+0x53a): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/char/hw_random/meson-rng.o: in function `meson_rng_probe':
meson-rng.c:(.text+0xd0): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/char/hw_random/mtk-rng.o: in function `mtk_rng_probe':
mtk-rng.c:(.text+0x47e): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/ptp/ptp_qoriq.o: in function `ptp_qoriq_probe':
ptp_qoriq.c:(.text+0xf2a): undefined reference to `ioremap'
s390-linux-ld: ptp_qoriq.c:(.text+0xfa6): undefined reference to `iounmap'
s390-linux-ld: drivers/ptp/ptp_qoriq.o: in function `ptp_qoriq_free':
ptp_qoriq.c:(.text+0x102c): undefined reference to `iounmap'
s390-linux-ld: drivers/crypto/keembay/keembay-ocs-aes-core.o: in function `kmb_ocs_aes_probe':
>> keembay-ocs-aes-core.c:(.text+0x281c): undefined reference to `devm_ioremap_resource'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[intel-lts:5.4/yocto 10970/18530] sound/soc/codecs/tlv320aic32x4.c:53:6: warning: no previous prototype for function 'aic32x4_reset_adc'
by kernel test robot
Hi Michael,
FYI, the error/warning still remains.
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: 10c3d69bc60059b194dcfa816cbc1240ffb0431d
commit: fb165c21e3deb44542074fcf59fc5afeba4052d6 [10970/18530] ASoC: codec: tlv3204: Enable TDM audio support
config: mips-randconfig-r013-20211118 (attached as .config)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://github.com/intel/linux-intel-lts/commit/fb165c21e3deb44542074fcf5...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.4/yocto
git checkout fb165c21e3deb44542074fcf59fc5afeba4052d6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> sound/soc/codecs/tlv320aic32x4.c:53:6: warning: no previous prototype for function 'aic32x4_reset_adc' [-Wmissing-prototypes]
void aic32x4_reset_adc(struct snd_soc_component *component)
^
sound/soc/codecs/tlv320aic32x4.c:53:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void aic32x4_reset_adc(struct snd_soc_component *component)
^
static
1 warning generated.
vim +/aic32x4_reset_adc +53 sound/soc/codecs/tlv320aic32x4.c
52
> 53 void aic32x4_reset_adc(struct snd_soc_component *component)
54 {
55 u32 adc_reg;
56
57 adc_reg = snd_soc_component_read32(component, AIC32X4_ADCSETUP);
58 snd_soc_component_write(component, AIC32X4_ADCSETUP, adc_reg |
59 AIC32X4_LADC_EN | AIC32X4_RADC_EN);
60 snd_soc_component_write(component, AIC32X4_ADCSETUP, adc_reg);
61
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months