[android-common:android-3.18 12862/15969] drivers/char/mem.c:457:8: error: implicit declaration of function 'should_stop_iteration'
by kernel test robot
Hi Tetsuo,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android-3.18
head: d584c1133c19be9e905cb9ea7b61e8434116ada7
commit: d8d7791979c3d6045b0904ddf8e17970401a5a80 [12862/15969] /dev/mem: Bail out upon SIGKILL.
config: i386-randconfig-a011-20200813 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce (this is a W=1 build):
git checkout d8d7791979c3d6045b0904ddf8e17970401a5a80
# save the attached .config to linux build tree
make W=1 ARCH=i386
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/ptrace.h:5:0,
from drivers/char/mem.c:21:
include/linux/sched.h:1067:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
const struct sched_group_energy * const(*sched_domain_energy_f)(int cpu);
^
drivers/char/mem.c: In function 'read_kmem':
>> drivers/char/mem.c:457:8: error: implicit declaration of function 'should_stop_iteration' [-Werror=implicit-function-declaration]
if (should_stop_iteration()) {
^
cc1: some warnings being treated as errors
vim +/should_stop_iteration +457 drivers/char/mem.c
408
409 #ifdef CONFIG_DEVKMEM
410 /*
411 * This function reads the *virtual* memory as seen by the kernel.
412 */
413 static ssize_t read_kmem(struct file *file, char __user *buf,
414 size_t count, loff_t *ppos)
415 {
416 unsigned long p = *ppos;
417 ssize_t low_count, read, sz;
418 char *kbuf; /* k-addr because vread() takes vmlist_lock rwlock */
419 int err = 0;
420
421 read = 0;
422 if (p < (unsigned long) high_memory) {
423 low_count = count;
424 if (count > (unsigned long)high_memory - p)
425 low_count = (unsigned long)high_memory - p;
426
427 #ifdef __ARCH_HAS_NO_PAGE_ZERO_MAPPED
428 /* we don't have page 0 mapped on sparc and m68k.. */
429 if (p < PAGE_SIZE && low_count > 0) {
430 sz = size_inside_page(p, low_count);
431 if (clear_user(buf, sz))
432 return -EFAULT;
433 buf += sz;
434 p += sz;
435 read += sz;
436 low_count -= sz;
437 count -= sz;
438 }
439 #endif
440 while (low_count > 0) {
441 sz = size_inside_page(p, low_count);
442
443 /*
444 * On ia64 if a page has been mapped somewhere as
445 * uncached, then it must also be accessed uncached
446 * by the kernel or data corruption may occur
447 */
448 kbuf = xlate_dev_kmem_ptr((char *)p);
449
450 if (copy_to_user(buf, kbuf, sz))
451 return -EFAULT;
452 buf += sz;
453 p += sz;
454 read += sz;
455 low_count -= sz;
456 count -= sz;
> 457 if (should_stop_iteration()) {
458 count = 0;
459 break;
460 }
461 }
462 }
463
464 if (count > 0) {
465 kbuf = (char *)__get_free_page(GFP_KERNEL);
466 if (!kbuf)
467 return -ENOMEM;
468 while (count > 0) {
469 sz = size_inside_page(p, count);
470 if (!is_vmalloc_or_module_addr((void *)p)) {
471 err = -ENXIO;
472 break;
473 }
474 sz = vread(kbuf, (char *)p, sz);
475 if (!sz)
476 break;
477 if (copy_to_user(buf, kbuf, sz)) {
478 err = -EFAULT;
479 break;
480 }
481 count -= sz;
482 buf += sz;
483 read += sz;
484 p += sz;
485 if (should_stop_iteration())
486 break;
487 }
488 free_page((unsigned long)kbuf);
489 }
490 *ppos = p;
491 return read ? read : err;
492 }
493
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
arch/arm/include/asm/arch_gicv3.h:44:2: error: implicit declaration of function 'write_sysreg'
by kernel test robot
Hi Peng,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc06fe51d26efc100ac74121607c01a454867c91
commit: d82bcef5157de1368c08244a846ab968b3e5cb7e soc: imx: select ARM_GIC_V3 for i.MX8M
date: 4 weeks ago
config: arm-randconfig-r021-20200811 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.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
git checkout d82bcef5157de1368c08244a846ab968b3e5cb7e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
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/irqchip/arm-gic-v3.h:662,
from drivers/irqchip/irq-gic-v3.c:24:
arch/arm/include/asm/arch_gicv3.h: In function 'write_ICC_PMR_EL1':
>> arch/arm/include/asm/arch_gicv3.h:44:2: error: implicit declaration of function 'write_sysreg' [-Werror=implicit-function-declaration]
44 | write_sysreg(val, a32); \
| ^~~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:51:1: note: in expansion of macro 'CPUIF_MAP'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~~~
>> arch/arm/include/asm/arch_gicv3.h:22:20: error: implicit declaration of function '__ACCESS_CP15' [-Werror=implicit-function-declaration]
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~~~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:51:11: note: in expansion of macro 'ICC_PMR'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:22:34: error: 'c4' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:51:11: note: in expansion of macro 'ICC_PMR'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:22:34: note: each undeclared identifier is reported only once for each function it appears in
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:51:11: note: in expansion of macro 'ICC_PMR'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:22:41: error: 'c6' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:51:11: note: in expansion of macro 'ICC_PMR'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'read_ICC_PMR_EL1':
>> arch/arm/include/asm/arch_gicv3.h:48:9: error: implicit declaration of function 'read_sysreg' [-Werror=implicit-function-declaration]
48 | return read_sysreg(a32); \
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:51:1: note: in expansion of macro 'CPUIF_MAP'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:22:34: error: 'c4' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:48:21: note: in definition of macro 'CPUIF_MAP'
48 | return read_sysreg(a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:51:11: note: in expansion of macro 'ICC_PMR'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:22:41: error: 'c6' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:48:21: note: in definition of macro 'CPUIF_MAP'
48 | return read_sysreg(a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:51:11: note: in expansion of macro 'ICC_PMR'
51 | CPUIF_MAP(ICC_PMR, ICC_PMR_EL1)
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'write_ICC_AP0R0_EL1':
arch/arm/include/asm/arch_gicv3.h:29:40: error: 'c12' undeclared (first use in this function)
29 | #define __ICC_AP0Rx(x) __ACCESS_CP15(c12, 0, c8, 4 | x)
| ^~~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:30:21: note: in expansion of macro '__ICC_AP0Rx'
30 | #define ICC_AP0R0 __ICC_AP0Rx(0)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:52:11: note: in expansion of macro 'ICC_AP0R0'
52 | CPUIF_MAP(ICC_AP0R0, ICC_AP0R0_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:29:48: error: 'c8' undeclared (first use in this function); did you mean 'u8'?
29 | #define __ICC_AP0Rx(x) __ACCESS_CP15(c12, 0, c8, 4 | x)
| ^~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:30:21: note: in expansion of macro '__ICC_AP0Rx'
30 | #define ICC_AP0R0 __ICC_AP0Rx(0)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:52:11: note: in expansion of macro 'ICC_AP0R0'
52 | CPUIF_MAP(ICC_AP0R0, ICC_AP0R0_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'read_ICC_AP0R0_EL1':
arch/arm/include/asm/arch_gicv3.h:29:40: error: 'c12' undeclared (first use in this function)
29 | #define __ICC_AP0Rx(x) __ACCESS_CP15(c12, 0, c8, 4 | x)
| ^~~
arch/arm/include/asm/arch_gicv3.h:48:21: note: in definition of macro 'CPUIF_MAP'
48 | return read_sysreg(a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:30:21: note: in expansion of macro '__ICC_AP0Rx'
30 | #define ICC_AP0R0 __ICC_AP0Rx(0)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:52:11: note: in expansion of macro 'ICC_AP0R0'
52 | CPUIF_MAP(ICC_AP0R0, ICC_AP0R0_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:29:48: error: 'c8' undeclared (first use in this function); did you mean 'u8'?
29 | #define __ICC_AP0Rx(x) __ACCESS_CP15(c12, 0, c8, 4 | x)
| ^~
arch/arm/include/asm/arch_gicv3.h:48:21: note: in definition of macro 'CPUIF_MAP'
48 | return read_sysreg(a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:30:21: note: in expansion of macro '__ICC_AP0Rx'
30 | #define ICC_AP0R0 __ICC_AP0Rx(0)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:52:11: note: in expansion of macro 'ICC_AP0R0'
52 | CPUIF_MAP(ICC_AP0R0, ICC_AP0R0_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'write_ICC_AP0R1_EL1':
arch/arm/include/asm/arch_gicv3.h:29:40: error: 'c12' undeclared (first use in this function)
29 | #define __ICC_AP0Rx(x) __ACCESS_CP15(c12, 0, c8, 4 | x)
| ^~~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:31:21: note: in expansion of macro '__ICC_AP0Rx'
31 | #define ICC_AP0R1 __ICC_AP0Rx(1)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:53:11: note: in expansion of macro 'ICC_AP0R1'
53 | CPUIF_MAP(ICC_AP0R1, ICC_AP0R1_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:29:48: error: 'c8' undeclared (first use in this function); did you mean 'u8'?
29 | #define __ICC_AP0Rx(x) __ACCESS_CP15(c12, 0, c8, 4 | x)
| ^~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:31:21: note: in expansion of macro '__ICC_AP0Rx'
31 | #define ICC_AP0R1 __ICC_AP0Rx(1)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:53:11: note: in expansion of macro 'ICC_AP0R1'
53 | CPUIF_MAP(ICC_AP0R1, ICC_AP0R1_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'read_ICC_AP0R1_EL1':
arch/arm/include/asm/arch_gicv3.h:29:40: error: 'c12' undeclared (first use in this function)
--
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'write_ICC_AP1R3_EL1':
arch/arm/include/asm/arch_gicv3.h:35:40: error: 'c12' undeclared (first use in this function)
35 | #define __ICC_AP1Rx(x) __ACCESS_CP15(c12, 0, c9, x)
| ^~~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:39:21: note: in expansion of macro '__ICC_AP1Rx'
39 | #define ICC_AP1R3 __ICC_AP1Rx(3)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:59:11: note: in expansion of macro 'ICC_AP1R3'
59 | CPUIF_MAP(ICC_AP1R3, ICC_AP1R3_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:35:48: error: 'c9' undeclared (first use in this function)
35 | #define __ICC_AP1Rx(x) __ACCESS_CP15(c12, 0, c9, x)
| ^~
arch/arm/include/asm/arch_gicv3.h:44:20: note: in definition of macro 'CPUIF_MAP'
44 | write_sysreg(val, a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:39:21: note: in expansion of macro '__ICC_AP1Rx'
39 | #define ICC_AP1R3 __ICC_AP1Rx(3)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:59:11: note: in expansion of macro 'ICC_AP1R3'
59 | CPUIF_MAP(ICC_AP1R3, ICC_AP1R3_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'read_ICC_AP1R3_EL1':
arch/arm/include/asm/arch_gicv3.h:35:40: error: 'c12' undeclared (first use in this function)
35 | #define __ICC_AP1Rx(x) __ACCESS_CP15(c12, 0, c9, x)
| ^~~
arch/arm/include/asm/arch_gicv3.h:48:21: note: in definition of macro 'CPUIF_MAP'
48 | return read_sysreg(a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:39:21: note: in expansion of macro '__ICC_AP1Rx'
39 | #define ICC_AP1R3 __ICC_AP1Rx(3)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:59:11: note: in expansion of macro 'ICC_AP1R3'
59 | CPUIF_MAP(ICC_AP1R3, ICC_AP1R3_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:35:48: error: 'c9' undeclared (first use in this function)
35 | #define __ICC_AP1Rx(x) __ACCESS_CP15(c12, 0, c9, x)
| ^~
arch/arm/include/asm/arch_gicv3.h:48:21: note: in definition of macro 'CPUIF_MAP'
48 | return read_sysreg(a32); \
| ^~~
arch/arm/include/asm/arch_gicv3.h:39:21: note: in expansion of macro '__ICC_AP1Rx'
39 | #define ICC_AP1R3 __ICC_AP1Rx(3)
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:59:11: note: in expansion of macro 'ICC_AP1R3'
59 | CPUIF_MAP(ICC_AP1R3, ICC_AP1R3_EL1)
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_eoir':
arch/arm/include/asm/arch_gicv3.h:18:35: error: 'c12' undeclared (first use in this function)
18 | #define ICC_EOIR1 __ACCESS_CP15(c12, 0, c12, 1)
| ^~~
arch/arm/include/asm/arch_gicv3.h:68:20: note: in expansion of macro 'ICC_EOIR1'
68 | write_sysreg(irq, ICC_EOIR1);
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_dir':
arch/arm/include/asm/arch_gicv3.h:19:34: error: 'c12' undeclared (first use in this function)
19 | #define ICC_DIR __ACCESS_CP15(c12, 0, c11, 1)
| ^~~
arch/arm/include/asm/arch_gicv3.h:74:20: note: in expansion of macro 'ICC_DIR'
74 | write_sysreg(val, ICC_DIR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:19:42: error: 'c11' undeclared (first use in this function)
19 | #define ICC_DIR __ACCESS_CP15(c12, 0, c11, 1)
| ^~~
arch/arm/include/asm/arch_gicv3.h:74:20: note: in expansion of macro 'ICC_DIR'
74 | write_sysreg(val, ICC_DIR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_iar':
arch/arm/include/asm/arch_gicv3.h:20:34: error: 'c12' undeclared (first use in this function)
20 | #define ICC_IAR1 __ACCESS_CP15(c12, 0, c12, 0)
| ^~~
arch/arm/include/asm/arch_gicv3.h:80:28: note: in expansion of macro 'ICC_IAR1'
80 | u32 irqstat = read_sysreg(ICC_IAR1);
| ^~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_ctlr':
arch/arm/include/asm/arch_gicv3.h:23:34: error: 'c12' undeclared (first use in this function)
23 | #define ICC_CTLR __ACCESS_CP15(c12, 0, c12, 4)
| ^~~
arch/arm/include/asm/arch_gicv3.h:89:20: note: in expansion of macro 'ICC_CTLR'
89 | write_sysreg(val, ICC_CTLR);
| ^~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_ctlr':
arch/arm/include/asm/arch_gicv3.h:23:34: error: 'c12' undeclared (first use in this function)
23 | #define ICC_CTLR __ACCESS_CP15(c12, 0, c12, 4)
| ^~~
arch/arm/include/asm/arch_gicv3.h:95:21: note: in expansion of macro 'ICC_CTLR'
95 | return read_sysreg(ICC_CTLR);
| ^~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_grpen1':
arch/arm/include/asm/arch_gicv3.h:25:37: error: 'c12' undeclared (first use in this function)
25 | #define ICC_IGRPEN1 __ACCESS_CP15(c12, 0, c12, 7)
| ^~~
arch/arm/include/asm/arch_gicv3.h:100:20: note: in expansion of macro 'ICC_IGRPEN1'
100 | write_sysreg(val, ICC_IGRPEN1);
| ^~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_sgi1r':
>> arch/arm/include/asm/arch_gicv3.h:21:21: error: implicit declaration of function '__ACCESS_CP15_64' [-Werror=implicit-function-declaration]
21 | #define ICC_SGI1R __ACCESS_CP15_64(0, c12)
| ^~~~~~~~~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:106:20: note: in expansion of macro 'ICC_SGI1R'
106 | write_sysreg(val, ICC_SGI1R);
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h:21:41: error: 'c12' undeclared (first use in this function)
21 | #define ICC_SGI1R __ACCESS_CP15_64(0, c12)
| ^~~
arch/arm/include/asm/arch_gicv3.h:106:20: note: in expansion of macro 'ICC_SGI1R'
106 | write_sysreg(val, ICC_SGI1R);
| ^~~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_sre':
arch/arm/include/asm/arch_gicv3.h:24:34: error: 'c12' undeclared (first use in this function)
24 | #define ICC_SRE __ACCESS_CP15(c12, 0, c12, 5)
| ^~~
arch/arm/include/asm/arch_gicv3.h:111:21: note: in expansion of macro 'ICC_SRE'
111 | return read_sysreg(ICC_SRE);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_sre':
arch/arm/include/asm/arch_gicv3.h:24:34: error: 'c12' undeclared (first use in this function)
24 | #define ICC_SRE __ACCESS_CP15(c12, 0, c12, 5)
| ^~~
arch/arm/include/asm/arch_gicv3.h:116:20: note: in expansion of macro 'ICC_SRE'
116 | write_sysreg(val, ICC_SRE);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_bpr1':
arch/arm/include/asm/arch_gicv3.h:26:34: error: 'c12' undeclared (first use in this function)
26 | #define ICC_BPR1 __ACCESS_CP15(c12, 0, c12, 3)
| ^~~
arch/arm/include/asm/arch_gicv3.h:122:20: note: in expansion of macro 'ICC_BPR1'
122 | write_sysreg(val, ICC_BPR1);
| ^~~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_pmr':
arch/arm/include/asm/arch_gicv3.h:22:34: error: 'c4' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:127:21: note: in expansion of macro 'ICC_PMR'
127 | return read_sysreg(ICC_PMR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:22:41: error: 'c6' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:127:21: note: in expansion of macro 'ICC_PMR'
127 | return read_sysreg(ICC_PMR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_write_pmr':
arch/arm/include/asm/arch_gicv3.h:22:34: error: 'c4' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:132:20: note: in expansion of macro 'ICC_PMR'
132 | write_sysreg(val, ICC_PMR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:22:41: error: 'c6' undeclared (first use in this function)
22 | #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
| ^~
arch/arm/include/asm/arch_gicv3.h:132:20: note: in expansion of macro 'ICC_PMR'
132 | write_sysreg(val, ICC_PMR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_rpr':
arch/arm/include/asm/arch_gicv3.h:27:34: error: 'c12' undeclared (first use in this function)
27 | #define ICC_RPR __ACCESS_CP15(c12, 0, c11, 3)
| ^~~
arch/arm/include/asm/arch_gicv3.h:137:21: note: in expansion of macro 'ICC_RPR'
137 | return read_sysreg(ICC_RPR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:27:42: error: 'c11' undeclared (first use in this function)
27 | #define ICC_RPR __ACCESS_CP15(c12, 0, c11, 3)
| ^~~
arch/arm/include/asm/arch_gicv3.h:137:21: note: in expansion of macro 'ICC_RPR'
137 | return read_sysreg(ICC_RPR);
| ^~~~~~~
arch/arm/include/asm/arch_gicv3.h:138:1: warning: control reaches end of non-void function [-Wreturn-type]
138 | }
| ^
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_ctlr':
arch/arm/include/asm/arch_gicv3.h:96:1: warning: control reaches end of non-void function [-Wreturn-type]
96 | }
| ^
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_sre':
arch/arm/include/asm/arch_gicv3.h:112:1: warning: control reaches end of non-void function [-Wreturn-type]
112 | }
| ^
arch/arm/include/asm/arch_gicv3.h: In function 'gic_read_pmr':
arch/arm/include/asm/arch_gicv3.h:128:1: warning: control reaches end of non-void function [-Wreturn-type]
128 | }
| ^
cc1: some warnings being treated as errors
..
vim +/write_sysreg +44 arch/arm/include/asm/arch_gicv3.h
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 17
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 18 #define ICC_EOIR1 __ACCESS_CP15(c12, 0, c12, 1)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 19 #define ICC_DIR __ACCESS_CP15(c12, 0, c11, 1)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 20 #define ICC_IAR1 __ACCESS_CP15(c12, 0, c12, 0)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 @21 #define ICC_SGI1R __ACCESS_CP15_64(0, c12)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 @22 #define ICC_PMR __ACCESS_CP15(c4, 0, c6, 0)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 23 #define ICC_CTLR __ACCESS_CP15(c12, 0, c12, 4)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 24 #define ICC_SRE __ACCESS_CP15(c12, 0, c12, 5)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 25 #define ICC_IGRPEN1 __ACCESS_CP15(c12, 0, c12, 7)
91ef84428a86b75 Daniel Thompson 2016-08-19 26 #define ICC_BPR1 __ACCESS_CP15(c12, 0, c12, 3)
e99da7c6f51b487 Julien Thierry 2019-01-31 27 #define ICC_RPR __ACCESS_CP15(c12, 0, c11, 3)
d5cd50d318f70fc Jean-Philippe Brucker 2015-10-01 28
d6062a6d62c643a Marc Zyngier 2018-03-09 29 #define __ICC_AP0Rx(x) __ACCESS_CP15(c12, 0, c8, 4 | x)
d6062a6d62c643a Marc Zyngier 2018-03-09 30 #define ICC_AP0R0 __ICC_AP0Rx(0)
d6062a6d62c643a Marc Zyngier 2018-03-09 31 #define ICC_AP0R1 __ICC_AP0Rx(1)
d6062a6d62c643a Marc Zyngier 2018-03-09 32 #define ICC_AP0R2 __ICC_AP0Rx(2)
d6062a6d62c643a Marc Zyngier 2018-03-09 33 #define ICC_AP0R3 __ICC_AP0Rx(3)
d6062a6d62c643a Marc Zyngier 2018-03-09 34
d6062a6d62c643a Marc Zyngier 2018-03-09 35 #define __ICC_AP1Rx(x) __ACCESS_CP15(c12, 0, c9, x)
d6062a6d62c643a Marc Zyngier 2018-03-09 36 #define ICC_AP1R0 __ICC_AP1Rx(0)
d6062a6d62c643a Marc Zyngier 2018-03-09 37 #define ICC_AP1R1 __ICC_AP1Rx(1)
d6062a6d62c643a Marc Zyngier 2018-03-09 38 #define ICC_AP1R2 __ICC_AP1Rx(2)
d6062a6d62c643a Marc Zyngier 2018-03-09 39 #define ICC_AP1R3 __ICC_AP1Rx(3)
d6062a6d62c643a Marc Zyngier 2018-03-09 40
a078bedf17c2e43 Vladimir Murzin 2016-09-12 41 #define CPUIF_MAP(a32, a64) \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 42 static inline void write_ ## a64(u32 val) \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 43 { \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 @44 write_sysreg(val, a32); \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 45 } \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 46 static inline u32 read_ ## a64(void) \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 47 { \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 @48 return read_sysreg(a32); \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 49 } \
a078bedf17c2e43 Vladimir Murzin 2016-09-12 50
:::::: The code at line 44 was first introduced by commit
:::::: a078bedf17c2e43819fea54bdfd5793845142e3a ARM: gic-v3: Introduce 32-to-64-bit mappings for GICv3 cpu registers
:::::: TO: Vladimir Murzin <vladimir.murzin(a)arm.com>
:::::: CC: Christoffer Dall <christoffer.dall(a)linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [RFC PATCH 7/8] btrfs: Convert to fs_context
by kernel test robot
Hi Marcos,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on kdave/for-next]
[also build test WARNING on next-20200812]
[cannot apply to v5.8]
[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/Marcos-Paulo-de-Souza/btrfs-conv...
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: mips-randconfig-r031-20200813 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 62ef1cb2079123b86878e4bfed3c14db448f1373)
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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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 >>):
In file included from fs/btrfs/super.c:31:
In file included from fs/btrfs/delayed-inode.h:17:
fs/btrfs/ctree.h:2292:8: warning: 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
size_t __const btrfs_get_num_csums(void);
^~~~~~~~
In file included from fs/btrfs/super.c:47:
fs/btrfs/sysfs.h:16:14: warning: 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
const char * const btrfs_feature_set_name(enum btrfs_feature_set set);
^~~~~~
>> fs/btrfs/super.c:2420:5: warning: no previous prototype for function 'btrfs_mount_root_fc' [-Wmissing-prototypes]
int btrfs_mount_root_fc(struct fs_context *fc, unsigned int rdonly)
^
fs/btrfs/super.c:2420:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int btrfs_mount_root_fc(struct fs_context *fc, unsigned int rdonly)
^
static
fs/btrfs/super.c:3086:32: warning: unused variable 'btrfs_root_fs_type' [-Wunused-variable]
static struct file_system_type btrfs_root_fs_type = {
^
fs/btrfs/super.c:1508:12: warning: unused function 'btrfs_parse_device_options' [-Wunused-function]
static int btrfs_parse_device_options(const char *options, fmode_t flags,
^
fs/btrfs/super.c:1563:12: warning: unused function 'btrfs_parse_subvol_options' [-Wunused-function]
static int btrfs_parse_subvol_options(const char *options, char **subvol_name,
^
fs/btrfs/super.c:2219:12: warning: unused function 'btrfs_set_super' [-Wunused-function]
static int btrfs_set_super(struct super_block *s, void *data)
^
7 warnings generated.
vim +/btrfs_mount_root_fc +2420 fs/btrfs/super.c
2414
2415 /*
2416 * Duplicate the current fc and prepare for mounting the root.
2417 * btrfs_get_tree will be called recursively, but then will check for the
2418 * ctx->root being set and call btrfs_root_get_tree.
2419 */
> 2420 int btrfs_mount_root_fc(struct fs_context *fc, unsigned int rdonly)
2421 {
2422 struct btrfs_fs_context *ctx, *root_ctx;
2423 struct fs_context *root_fc;
2424 struct vfsmount *root_mnt;
2425 int ret;
2426
2427 root_fc = vfs_dup_fs_context(fc);
2428 if (IS_ERR(root_fc))
2429 return PTR_ERR(root_fc);
2430
2431 root_fc->sb_flags &= ~SB_RDONLY;
2432 root_fc->sb_flags |= rdonly | SB_NOSEC;
2433 root_ctx = root_fc->fs_private;
2434 root_ctx->root_mnt = NULL;
2435 root_ctx->root = true;
2436
2437 /*
2438 * fc_mount will call btrfs_get_tree again, and by checking ctx->root
2439 * being true it'll call btrfs_root_get_tree to avoid infinite recursion.
2440 */
2441 root_mnt = fc_mount(root_fc);
2442 if (IS_ERR(root_mnt)) {
2443 ret = PTR_ERR(root_mnt);
2444 goto error_fc;
2445 }
2446
2447 ctx = fc->fs_private;
2448 ctx->root_mnt = root_mnt;
2449 ret = 0;
2450
2451 error_fc:
2452 put_fs_context(root_fc);
2453 return ret;
2454 }
2455
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c:228:16-21: WARNING: conversion to bool not needed here
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc06fe51d26efc100ac74121607c01a454867c91
commit: bccbf13dadbe33452e312d828332cb9d2b553f7f drm/amd/display: Various fixes for PSR on DMCUB
date: 4 months ago
config: i386-randconfig-c001-20200813 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
coccinelle warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c:228:16-21: WARNING: conversion to bool not needed here
vim +228 drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c
157
158 /**
159 * Setup PSR by programming phy registers and sending psr hw context values to firmware.
160 */
161 static bool dmub_psr_copy_settings(struct dmub_psr *dmub,
162 struct dc_link *link,
163 struct psr_context *psr_context)
164 {
165 union dmub_rb_cmd cmd;
166 struct dc_context *dc = dmub->ctx;
167 struct dmub_cmd_psr_copy_settings_data *copy_settings_data
168 = &cmd.psr_copy_settings.psr_copy_settings_data;
169 struct pipe_ctx *pipe_ctx = NULL;
170 struct resource_context *res_ctx = &link->ctx->dc->current_state->res_ctx;
171 int i = 0;
172
173 for (i = 0; i < MAX_PIPES; i++) {
174 if (res_ctx->pipe_ctx[i].stream &&
175 res_ctx->pipe_ctx[i].stream->link == link &&
176 res_ctx->pipe_ctx[i].stream->link->connector_signal == SIGNAL_TYPE_EDP) {
177 pipe_ctx = &res_ctx->pipe_ctx[i];
178 break;
179 }
180 }
181
182 if (!pipe_ctx)
183 return false;
184
185 // First, set the psr version
186 if (!dmub_psr_set_version(dmub, pipe_ctx->stream))
187 return false;
188
189 // Program DP DPHY fast training registers
190 link->link_enc->funcs->psr_program_dp_dphy_fast_training(link->link_enc,
191 psr_context->psrExitLinkTrainingRequired);
192
193 // Program DP_SEC_CNTL1 register to set transmission GPS0 line num and priority to high
194 link->link_enc->funcs->psr_program_secondary_packet(link->link_enc,
195 psr_context->sdpTransmitLineNumDeadline);
196
197 cmd.psr_copy_settings.header.type = DMUB_CMD__PSR;
198 cmd.psr_copy_settings.header.sub_type = DMUB_CMD__PSR_COPY_SETTINGS;
199 cmd.psr_copy_settings.header.payload_bytes = sizeof(struct dmub_cmd_psr_copy_settings_data);
200
201 // Hw insts
202 copy_settings_data->dpphy_inst = psr_context->transmitterId;
203 copy_settings_data->aux_inst = psr_context->channel;
204 copy_settings_data->digfe_inst = psr_context->engineId;
205 copy_settings_data->digbe_inst = psr_context->transmitterId;
206
207 copy_settings_data->mpcc_inst = pipe_ctx->plane_res.mpcc_inst;
208
209 if (pipe_ctx->plane_res.dpp)
210 copy_settings_data->dpp_inst = pipe_ctx->plane_res.dpp->inst;
211 else
212 copy_settings_data->dpp_inst = 0;
213 if (pipe_ctx->stream_res.opp)
214 copy_settings_data->opp_inst = pipe_ctx->stream_res.opp->inst;
215 else
216 copy_settings_data->opp_inst = 0;
217 if (pipe_ctx->stream_res.tg)
218 copy_settings_data->otg_inst = pipe_ctx->stream_res.tg->inst;
219 else
220 copy_settings_data->otg_inst = 0;
221
222 // Misc
223 copy_settings_data->psr_level = psr_context->psr_level.u32all;
224 copy_settings_data->smu_optimizations_en = psr_context->allow_smu_optimizations;
225 copy_settings_data->frame_delay = psr_context->frame_delay;
226 copy_settings_data->frame_cap_ind = psr_context->psrFrameCaptureIndicationReq;
227 copy_settings_data->debug.visual_confirm = dc->dc->debug.visual_confirm == VISUAL_CONFIRM_PSR ?
> 228 true : false;
229
230 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd.psr_copy_settings.header);
231 dc_dmub_srv_cmd_execute(dc->dmub_srv);
232 dc_dmub_srv_wait_idle(dc->dmub_srv);
233
234 return true;
235 }
236
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[chrome-os:chromeos-4.4 21/21] /tmp/altera_tse_main-253446.s:19319: Warning: no instruction mnemonic suffix given and no register operands; using default for `bts'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: 7bd5966d79e3f61bf3043f23b815f253a2f781c8
commit: 7bd5966d79e3f61bf3043f23b815f253a2f781c8 [21/21] UPSTREAM: drm/i915: fix build errors when ACPI is not enabled
config: x86_64-randconfig-a011-20200811 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 30c1633386e7cfb01c0a54b31ccf4c3a3873e71b)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 7bd5966d79e3f61bf3043f23b815f253a2f781c8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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 >>):
In file included from include/linux/etherdevice.h:25:
In file included from include/linux/if_ether.h:23:
In file included from include/linux/skbuff.h:31:
In file included from include/net/checksum.h:25:
arch/x86/include/asm/uaccess.h:773:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (likely(sz < 0 || sz >= n)) {
~~ ^ ~
include/linux/compiler.h:181:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from drivers/net/ethernet/altera/altera_tse_main.c:33:
In file included from include/linux/etherdevice.h:25:
In file included from include/linux/if_ether.h:23:
include/linux/skbuff.h:2675:23: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
&csum, from) == copy) {
~~~~~~~~~~~~ ^ ~~~~
include/linux/skbuff.h:2679:60: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
} else if (copy_from_iter(skb_put(skb, copy), copy, from) == copy)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~
include/linux/skbuff.h:2693:14: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
off == frag->page_offset + skb_frag_size(frag);
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/skbuff.h:2921:51: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
return copy_from_iter(data, len, &msg->msg_iter) == len ? 0 : -EFAULT;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~
include/linux/skbuff.h:2926:49: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
return copy_to_iter(data, len, &msg->msg_iter) == len ? 0 : -EFAULT;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~
In file included from drivers/net/ethernet/altera/altera_tse_main.c:33:
In file included from include/linux/etherdevice.h:26:
In file included from include/linux/netdevice.h:43:
In file included from include/net/net_namespace.h:17:
In file included from include/net/netns/ipv4.h:9:
In file included from include/net/inet_frag.h:4:
include/linux/rhashtable.h:264:34: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) > (tbl->size / 4 * 3) &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
include/linux/rhashtable.h:277:34: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) < (tbl->size * 3 / 10) &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
include/linux/rhashtable.h:289:34: warning: comparison of integers of different signs: 'int' and 'const unsigned int' [-Wsign-compare]
return atomic_read(&ht->nelems) > tbl->size &&
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~
include/linux/rhashtable.h:302:34: warning: comparison of integers of different signs: 'int' and 'const unsigned int' [-Wsign-compare]
atomic_read(&ht->nelems) >= ht->p.insecure_max_entries;
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/altera/altera_tse_main.c:33:
In file included from include/linux/etherdevice.h:26:
include/linux/netdevice.h:2413:34: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
skb_checksum_start_offset(skb) <
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
include/linux/netdevice.h:3051:15: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
BUG_ON(index >= dev->num_rx_queues);
~~~~~ ^ ~~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:58:45: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^~~~~~~~~
include/linux/compiler.h:182:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from drivers/net/ethernet/altera/altera_tse_main.c:33:
In file included from include/linux/etherdevice.h:26:
include/linux/netdevice.h:3325:37: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:293:16: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
for (i = 0; i < rx_descs; i++) {
~ ^ ~~~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:322:16: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
for (i = 0; i < rx_descs; i++)
~ ^ ~~~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:324:16: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
for (i = 0; i < tx_descs; i++)
~ ^ ~~~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:384:16: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
while ((count < limit) &&
~~~~~ ^ ~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:579:34: warning: comparison of integers of different signs: 'u32' (aka 'unsigned int') and 'int' [-Wsign-compare]
if (unlikely(tse_tx_avail(priv) < nfrags + 1)) {
~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
include/linux/compiler.h:182:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
drivers/net/ethernet/altera/altera_tse_main.c:1020:38: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
if ((new_mtu < min_mtu) || (new_mtu > max_mtu)) {
~~~~~~~ ^ ~~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:1020:15: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
if ((new_mtu < min_mtu) || (new_mtu > max_mtu)) {
~~~~~~~ ^ ~~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:1184:16: warning: comparison of integers of different signs: 'int' and 'u32' (aka 'unsigned int') [-Wsign-compare]
for (i = 0; i < priv->rx_ring_size; i++)
~ ^ ~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:1419:19: warning: comparison of integers of different signs: 'u32' (aka 'unsigned int') and 'int' [-Wsign-compare]
if (priv->rx_irq == -ENXIO) {
~~~~~~~~~~~~ ^ ~~~~~~
drivers/net/ethernet/altera/altera_tse_main.c:1427:19: warning: comparison of integers of different signs: 'u32' (aka 'unsigned int') and 'int' [-Wsign-compare]
if (priv->tx_irq == -ENXIO) {
~~~~~~~~~~~~ ^ ~~~~~~
27 warnings generated.
/tmp/altera_tse_main-253446.s: Assembler messages:
>> /tmp/altera_tse_main-253446.s:19319: Warning: no instruction mnemonic suffix given and no register operands; using default for `bts'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[intel-linux-intel-lts:5.4/yocto 3/3] drivers/gpu/drm/hantro_driver/hantro.c:284 hantro_gem_dumb_create_internal() warn: passing freed memory 'cma_obj'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: b8b4b73e4f7bffe85610b37cef411bf55b60fbe4
commit: b8b4b73e4f7bffe85610b37cef411bf55b60fbe4 [3/3] drm: Add Keembay media codec driver
config: i386-randconfig-m021-20200811 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
drivers/gpu/drm/hantro_driver/hantro.c:284 hantro_gem_dumb_create_internal() warn: passing freed memory 'cma_obj'
vim +/cma_obj +284 drivers/gpu/drm/hantro_driver/hantro.c
176
177 static int hantro_gem_dumb_create_internal(
178 struct drm_file *file_priv,
179 struct drm_device *dev,
180 struct drm_mode_create_dumb *args)
181 {
182 int ret = 0;
183 int in_size, out_size;
184 struct drm_gem_hantro_object *cma_obj;
185 int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
186 struct drm_gem_object *obj;
187
188 if (mutex_lock_interruptible(&dev->struct_mutex))
189 return -EBUSY;
190 cma_obj = kzalloc(
191 sizeof(struct drm_gem_hantro_object), GFP_KERNEL);
192 if (!cma_obj) {
193 ret = -ENOMEM;
194 goto out;
195 }
196 obj = &cma_obj->base;
197 out_size = in_size = sizeof(*args);
198 args->pitch = ALIGN(min_pitch, 64);
199 args->size = (__u64)args->pitch * (__u64)args->height;
200 args->size = (args->size + PAGE_SIZE - 1) / PAGE_SIZE * PAGE_SIZE;
201
202 cma_obj->num_pages = args->size >> PAGE_SHIFT;
203 cma_obj->flag = 0;
204 cma_obj->pageaddr = NULL;
205 cma_obj->pages = NULL;
206 cma_obj->vaddr = NULL;
207
208 if (args->handle == DDR0_CHANNEL) {
209 ddr_dev = dev->dev;
210 cma_obj->ddr_channel = DDR0_CHANNEL;
211 } else if (args->handle == DDR1_CHANNEL) {
212 ddr_dev = ddr1.dev;
213 cma_obj->ddr_channel = DDR1_CHANNEL;
214 } else {
215 pr_info("dumb_create_internal: DDR channel ERROR, DDR channel info = %d\n", args->handle);
216 }
217
218 /*CMA is temp disabled here for these reasons:
219 *1. to bring up CMA, CONFIG_DMA_CMA should be enabled in kernel building
220 *2. dma_alloc/release_from_contiguous should be exported in kernel code
221 *3. a boot parameter like "cma=268435456@134217728" should be added
222 *4. CMA's memory management is not stable.
223 *We could choose to use CMA or page alloc by module parameter later.
224 */
225 #if USE_CMA
226 #if KERNEL_VERSION(4, 10, 0) > LINUX_VERSION_CODE
227 cma_obj->pageaddr =
228 dma_alloc_from_contiguous(
229 dev->dev,
230 args->size >> PAGE_SHIFT,
231 1);
232 #else
233 cma_obj->pageaddr =
234 dma_alloc_from_contiguous(
235 dev->dev,
236 args->size >> PAGE_SHIFT,
237 1,
238 GFP_KERNEL);
239 #endif
240 if (cma_obj->pageaddr == NULL) {
241 kfree(cma_obj);
242 ret = -ENOMEM;
243 goto out;
244 }
245 cma_obj->vaddr = page_to_virt(cma_obj->pageaddr);
246 cma_obj->paddr = virt_to_phys(cma_obj->vaddr);
247 #else
248 cma_obj->vaddr =
249 dma_alloc_coherent(
250 ddr_dev,
251 args->size,
252 &cma_obj->paddr,
253 GFP_KERNEL | GFP_DMA);
254 if (cma_obj->vaddr == NULL) {
255 kfree(cma_obj);
256 ret = -ENOMEM;
257 goto out;
258 }
259 #ifdef DDR_DEBUG
260 pr_info("dumb_create_internal: dma_alloc_coherent: cma_obj->paddr = %llx, ddr_dev = %s\n", cma_obj->paddr, dev_name(ddr_dev));
261 #endif
262 #endif
263 drm_gem_object_init(dev, obj, args->size);
264
265 args->handle = 0;
266 ret = drm_gem_handle_create(file_priv, obj, &args->handle);
267 if (ret == 0)
268 ret = hantro_recordmem(file_priv, cma_obj, args->size);
269 if (ret) {
270 #if USE_CMA
271 dma_release_from_contiguous(
272 dev->dev,
273 cma_obj->pageaddr,
274 cma_obj->num_pages);
275 #else
276 dma_free_coherent(
277 ddr_dev,
278 args->size,
279 cma_obj->vaddr,
280 cma_obj->paddr);
281 #endif
282 kfree(cma_obj);
283 }
> 284 init_hantro_resv(&cma_obj->kresv, cma_obj);
285 cma_obj->handle = args->handle;
286 out:
287 mutex_unlock(&dev->struct_mutex);
288 return ret;
289 }
290
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
fs/btrfs/volumes.h:206 btrfs_device_set_total_bytes() warn: statement has no effect 31
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc06fe51d26efc100ac74121607c01a454867c91
commit: 55f3560df975f557c48aa6afc636808f31ecb87a seqlock: Extend seqcount API with associated locks
date: 2 weeks ago
config: parisc-randconfig-m031-20200811 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
fs/btrfs/volumes.h:206 btrfs_device_set_total_bytes() warn: statement has no effect 31
fs/btrfs/volumes.h:207 btrfs_device_set_disk_total_bytes() warn: statement has no effect 31
fs/btrfs/volumes.h:208 btrfs_device_set_bytes_used() warn: statement has no effect 31
fs/btrfs/volumes.h:206 btrfs_device_set_total_bytes() warn: statement has no effect 31
fs/btrfs/volumes.h:207 btrfs_device_set_disk_total_bytes() warn: statement has no effect 31
fs/btrfs/volumes.h:208 btrfs_device_set_bytes_used() warn: statement has no effect 31
block/partitions/../blk.h:424 part_nr_sects_write() warn: statement has no effect 31
Old smatch warnings:
fs/btrfs/volumes.c:1091 btrfs_free_extra_devids() error: we previously assumed 'latest_dev' could be null (see line 1046)
fs/btrfs/volumes.c:6008 __btrfs_map_block() error: 'em' dereferencing possible ERR_PTR()
fs/btrfs/volumes.c:6827 read_one_dev() error: potential null dereference 'device'. (add_missing_dev returns null)
block/partitions/core.c:172 check_partition() warn: passing zero to 'ERR_PTR'
include/linux/fs.h:888 i_size_write() warn: statement has no effect 31
vim +206 fs/btrfs/volumes.h
7cc8e58d53cd22 Miao Xie 2014-09-03 205
7cc8e58d53cd22 Miao Xie 2014-09-03 @206 BTRFS_DEVICE_GETSET_FUNCS(total_bytes);
7cc8e58d53cd22 Miao Xie 2014-09-03 @207 BTRFS_DEVICE_GETSET_FUNCS(disk_total_bytes);
7cc8e58d53cd22 Miao Xie 2014-09-03 @208 BTRFS_DEVICE_GETSET_FUNCS(bytes_used);
7cc8e58d53cd22 Miao Xie 2014-09-03 209
:::::: The code at line 206 was first introduced by commit
:::::: 7cc8e58d53cd2295c3c1cee7b503bd1790ea4486 Btrfs: fix unprotected device's variants on 32bits machine
:::::: TO: Miao Xie <miaox(a)cn.fujitsu.com>
:::::: CC: Chris Mason <clm(a)fb.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/char/agp/i460-agp.c:254:19: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc06fe51d26efc100ac74121607c01a454867c91
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: ia64-randconfig-s031-20200813 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.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.2-168-g9554805c-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=ia64
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/char/agp/i460-agp.c:254:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *static [assigned] [toplevel] gatt @@ got void [noderef] __iomem * @@
drivers/char/agp/i460-agp.c:254:19: sparse: expected void *static [assigned] [toplevel] gatt
>> drivers/char/agp/i460-agp.c:254:19: sparse: got void [noderef] __iomem *
>> drivers/char/agp/i460-agp.c:266:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
>> drivers/char/agp/i460-agp.c:266:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:266:17: sparse: got unsigned int [usertype] *
>> drivers/char/agp/i460-agp.c:267:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
>> drivers/char/agp/i460-agp.c:267:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:267:9: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:281:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:281:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:281:17: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:282:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:282:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:282:9: sparse: got unsigned int [usertype] *
>> drivers/char/agp/i460-agp.c:284:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *static [assigned] [toplevel] gatt @@
drivers/char/agp/i460-agp.c:284:21: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:284:21: sparse: got void *static [assigned] [toplevel] gatt
drivers/char/agp/i460-agp.c:318:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:318:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:318:22: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:318:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:318:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:318:22: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:319:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:319:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:319:25: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:330:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:330:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:330:25: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:332:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:332:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:332:9: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:347:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:347:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:347:17: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:348:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] * @@
drivers/char/agp/i460-agp.c:348:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/agp/i460-agp.c:348:9: sparse: got unsigned int [usertype] *
drivers/char/agp/i460-agp.c:556:32: sparse: sparse: symbol 'intel_i460_driver' was not declared. Should it be static?
drivers/char/agp/i460-agp.c: note: in included file (through arch/ia64/include/asm/io.h, arch/ia64/include/asm/smp.h, include/linux/smp.h, ...):
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
vim +254 drivers/char/agp/i460-agp.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 241
^1da177e4c3f41 Linus Torvalds 2005-04-16 242 static int i460_create_gatt_table (struct agp_bridge_data *bridge)
^1da177e4c3f41 Linus Torvalds 2005-04-16 243 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 244 int page_order, num_entries, i;
^1da177e4c3f41 Linus Torvalds 2005-04-16 245 void *temp;
^1da177e4c3f41 Linus Torvalds 2005-04-16 246
^1da177e4c3f41 Linus Torvalds 2005-04-16 247 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 248 * Load up the fixed address of the GART SRAMS which hold our GATT table.
^1da177e4c3f41 Linus Torvalds 2005-04-16 249 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 250 temp = agp_bridge->current_size;
^1da177e4c3f41 Linus Torvalds 2005-04-16 251 page_order = A_SIZE_8(temp)->page_order;
^1da177e4c3f41 Linus Torvalds 2005-04-16 252 num_entries = A_SIZE_8(temp)->num_entries;
^1da177e4c3f41 Linus Torvalds 2005-04-16 253
^1da177e4c3f41 Linus Torvalds 2005-04-16 @254 i460.gatt = ioremap(INTEL_I460_ATTBASE, PAGE_SIZE << page_order);
5bdbc7dc2c07d5 Scott Thompson 2007-08-25 255 if (!i460.gatt) {
5bdbc7dc2c07d5 Scott Thompson 2007-08-25 256 printk(KERN_ERR PFX "ioremap failed\n");
5bdbc7dc2c07d5 Scott Thompson 2007-08-25 257 return -ENOMEM;
5bdbc7dc2c07d5 Scott Thompson 2007-08-25 258 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 259
^1da177e4c3f41 Linus Torvalds 2005-04-16 260 /* These are no good, the should be removed from the agp_bridge strucure... */
^1da177e4c3f41 Linus Torvalds 2005-04-16 261 agp_bridge->gatt_table_real = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 262 agp_bridge->gatt_table = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 263 agp_bridge->gatt_bus_addr = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 264
^1da177e4c3f41 Linus Torvalds 2005-04-16 265 for (i = 0; i < num_entries; ++i)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @266 WR_GATT(i, 0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 @267 WR_FLUSH_GATT(i - 1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 268 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 269 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 270
^1da177e4c3f41 Linus Torvalds 2005-04-16 271 static int i460_free_gatt_table (struct agp_bridge_data *bridge)
^1da177e4c3f41 Linus Torvalds 2005-04-16 272 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 273 int num_entries, i;
^1da177e4c3f41 Linus Torvalds 2005-04-16 274 void *temp;
^1da177e4c3f41 Linus Torvalds 2005-04-16 275
^1da177e4c3f41 Linus Torvalds 2005-04-16 276 temp = agp_bridge->current_size;
^1da177e4c3f41 Linus Torvalds 2005-04-16 277
^1da177e4c3f41 Linus Torvalds 2005-04-16 278 num_entries = A_SIZE_8(temp)->num_entries;
^1da177e4c3f41 Linus Torvalds 2005-04-16 279
^1da177e4c3f41 Linus Torvalds 2005-04-16 280 for (i = 0; i < num_entries; ++i)
^1da177e4c3f41 Linus Torvalds 2005-04-16 281 WR_GATT(i, 0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 282 WR_FLUSH_GATT(num_entries - 1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 283
^1da177e4c3f41 Linus Torvalds 2005-04-16 @284 iounmap(i460.gatt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 285 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 286 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 287
:::::: The code at line 254 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month