[f2fs-stable:linux-4.19.y 359/663] fs/f2fs/file.c:3176:40: warning: taking address of packed member of 'struct f2fs_super_block' may result in an unaligned pointer value
by kernel test robot
Hi Chao,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-stable.git linux-4.19.y
head: 4efb07eff34dc1494ad32a21fd61f0cd9febc3ff
commit: 2f7cc89b033f4d379139ec47a801a531f4f12f67 [359/663] f2fs: support FS_IOC_{GET,SET}FSLABEL
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 2f7cc89b033f4d379139ec47a801a531f4f12f67
# 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 warnings (new ones prefixed by >>):
In file included from fs/f2fs/file.c:25:
fs/f2fs/f2fs.h: In function 'blkaddr_in_node':
fs/f2fs/f2fs.h:2280:30: warning: taking address of packed member of 'struct f2fs_inode' may result in an unaligned pointer value [-Waddress-of-packed-member]
2280 | return RAW_IS_INODE(node) ? node->i.i_addr : node->dn.addr;
| ^~~~
fs/f2fs/f2fs.h:2280:47: warning: taking address of packed member of 'struct direct_node' may result in an unaligned pointer value [-Waddress-of-packed-member]
2280 | return RAW_IS_INODE(node) ? node->i.i_addr : node->dn.addr;
| ^~~~
fs/f2fs/file.c: In function 'f2fs_get_volume_name':
>> fs/f2fs/file.c:3176:40: warning: taking address of packed member of 'struct f2fs_super_block' may result in an unaligned pointer value [-Waddress-of-packed-member]
3176 | count = utf16s_to_utf8s(sbi->raw_super->volume_name,
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~
fs/f2fs/file.c: In function 'f2fs_set_volume_name':
fs/f2fs/file.c:3212:18: warning: taking address of packed member of 'struct f2fs_super_block' may result in an unaligned pointer value [-Waddress-of-packed-member]
3212 | sbi->raw_super->volume_name,
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~
vim +3176 fs/f2fs/file.c
3162
3163 static int f2fs_get_volume_name(struct file *filp, unsigned long arg)
3164 {
3165 struct inode *inode = file_inode(filp);
3166 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
3167 char *vbuf;
3168 int count;
3169 int err = 0;
3170
3171 vbuf = f2fs_kzalloc(sbi, MAX_VOLUME_NAME, GFP_KERNEL);
3172 if (!vbuf)
3173 return -ENOMEM;
3174
3175 down_read(&sbi->sb_lock);
> 3176 count = utf16s_to_utf8s(sbi->raw_super->volume_name,
3177 ARRAY_SIZE(sbi->raw_super->volume_name),
3178 UTF16_LITTLE_ENDIAN, vbuf, MAX_VOLUME_NAME);
3179 up_read(&sbi->sb_lock);
3180
3181 if (copy_to_user((char __user *)arg, vbuf,
3182 min(FSLABEL_MAX, count)))
3183 err = -EFAULT;
3184
3185 kvfree(vbuf);
3186 return err;
3187 }
3188
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/video/fbdev/tridentfb.c:736:9: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 086ba2ec163b638abd2a90ef3e8bab0238d02e56
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: riscv-randconfig-s032-20200810 (attached as .config)
compiler: riscv64-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-141-g19506bc2-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=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/video/fbdev/tridentfb.c:567:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:736:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/video/fbdev/tridentfb.c:736:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/video/fbdev/tridentfb.c:736:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/tridentfb.c:736:9: sparse: got void *
drivers/video/fbdev/tridentfb.c:737:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/video/fbdev/tridentfb.c:737:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/video/fbdev/tridentfb.c:737:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/tridentfb.c:737:9: sparse: got void *
drivers/video/fbdev/tridentfb.c:737:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:737:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/tridentfb.c:737:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/tridentfb.c:737:9: sparse: got void *
drivers/video/fbdev/tridentfb.c:1323:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:181:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:171:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:181:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:176:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tridentfb.c: note: in included file (through arch/riscv/include/asm/io.h, include/linux/fb.h):
include/asm-generic/io.h:580:9: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:580:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
include/asm-generic/io.h:580:9: sparse: expected void volatile [noderef] __iomem *addr
include/asm-generic/io.h:580:9: sparse: got void *
include/asm-generic/io.h:556:16: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:556:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
include/asm-generic/io.h:556:16: sparse: expected void const volatile [noderef] __iomem *addr
--
>> drivers/tty/serial/jsm/jsm_driver.c:170:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/tty/serial/jsm/jsm_driver.c:170:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/tty/serial/jsm/jsm_driver.c:170:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/jsm/jsm_driver.c:170:17: sparse: got void *
drivers/tty/serial/jsm/jsm_driver.c:273:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/jsm/jsm_driver.c:273:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/jsm/jsm_driver.c:273:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/jsm/jsm_driver.c:273:17: sparse: got void *
--
>> drivers/net/wan/farsync.c:1506:30: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/wan/farsync.c:1506:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/wan/farsync.c:1506:30: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:1506:30: sparse: got void *
drivers/net/wan/farsync.c:1512:25: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/wan/farsync.c:1512:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/wan/farsync.c:1512:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:1512:25: sparse: got void *
drivers/net/wan/farsync.c:1524:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:1524:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:1524:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:1524:25: sparse: got void *
drivers/net/wan/farsync.c:2214:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:2214:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:2214:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:2214:23: sparse: got void *
drivers/net/wan/farsync.c:2215:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:2215:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:2215:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:2215:23: sparse: got void *
drivers/net/wan/farsync.c:892:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:892:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:892:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:892:9: sparse: got void *
drivers/net/wan/farsync.c:893:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:893:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:893:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:893:9: sparse: got void *
drivers/net/wan/farsync.c:894:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:894:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:894:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:894:9: sparse: got void *
drivers/net/wan/farsync.c:895:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:895:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:895:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:895:9: sparse: got void *
drivers/net/wan/farsync.c:901:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:901:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:901:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:901:9: sparse: got void *
drivers/net/wan/farsync.c:919:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:919:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:919:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:919:9: sparse: got void *
drivers/net/wan/farsync.c:920:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:920:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:920:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:920:9: sparse: got void *
drivers/net/wan/farsync.c:921:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:921:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:921:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:921:9: sparse: got void *
drivers/net/wan/farsync.c:922:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:922:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:922:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:922:9: sparse: got void *
drivers/net/wan/farsync.c:928:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:928:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:928:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:928:9: sparse: got void *
drivers/net/wan/farsync.c:749:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:749:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:749:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:749:17: sparse: got void *
drivers/net/wan/farsync.c:749:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:749:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:749:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:749:17: sparse: got void *
drivers/net/wan/farsync.c:690:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:690:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:690:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:690:17: sparse: got void *
drivers/net/wan/farsync.c:691:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:691:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:691:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:691:17: sparse: got void *
drivers/net/wan/farsync.c:696:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:696:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:696:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:696:17: sparse: got void *
drivers/net/wan/farsync.c:701:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:701:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:701:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:701:17: sparse: got void *
drivers/net/wan/farsync.c:710:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:710:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:710:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:710:26: sparse: got void *
drivers/net/wan/farsync.c:712:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:712:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:712:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:712:17: sparse: got void *
drivers/net/wan/farsync.c:713:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:713:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:713:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:713:17: sparse: got void *
drivers/net/wan/farsync.c:732:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:732:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:732:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:732:17: sparse: got void *
drivers/net/wan/farsync.c:733:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:733:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:733:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/wan/farsync.c:733:17: sparse: got void *
drivers/net/wan/farsync.c:759:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/wan/farsync.c:759:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/wan/farsync.c:759:17: sparse: expected void volatile [noderef] __iomem *addr
--
>> sound/pci/ctxfi/cthw20k1.c:2103:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ctxfi/cthw20k1.c:2103:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ctxfi/cthw20k1.c:2103:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2103:9: sparse: got void *
sound/pci/ctxfi/cthw20k1.c:2104:17: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ctxfi/cthw20k1.c:2104:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ctxfi/cthw20k1.c:2104:17: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2104:17: sparse: got void *
sound/pci/ctxfi/cthw20k1.c:2117:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ctxfi/cthw20k1.c:2117:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ctxfi/cthw20k1.c:2117:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2117:9: sparse: got void *
sound/pci/ctxfi/cthw20k1.c:2118:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ctxfi/cthw20k1.c:2118:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ctxfi/cthw20k1.c:2118:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2118:9: sparse: got void *
sound/pci/ctxfi/cthw20k1.c:2131:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ctxfi/cthw20k1.c:2131:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ctxfi/cthw20k1.c:2131:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2131:9: sparse: got void *
sound/pci/ctxfi/cthw20k1.c:2132:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ctxfi/cthw20k1.c:2132:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ctxfi/cthw20k1.c:2132:17: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2132:17: sparse: got void *
sound/pci/ctxfi/cthw20k1.c:2145:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ctxfi/cthw20k1.c:2145:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ctxfi/cthw20k1.c:2145:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2145:9: sparse: got void *
sound/pci/ctxfi/cthw20k1.c:2146:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ctxfi/cthw20k1.c:2146:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ctxfi/cthw20k1.c:2146:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ctxfi/cthw20k1.c:2146:9: sparse: got void *
--
sound/pci/cs46xx/cs46xx_lib.c:534:5: sparse: sparse: symbol 'snd_cs46xx_download_image' was not declared. Should it be static?
>> sound/pci/cs46xx/cs46xx_lib.c:3585:26: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/cs46xx/cs46xx_lib.c:3585:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/cs46xx/cs46xx_lib.c:3585:26: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/cs46xx/cs46xx_lib.c:3585:26: sparse: got void *
sound/pci/cs46xx/cs46xx_lib.c:3593:17: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/cs46xx/cs46xx_lib.c:3593:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/cs46xx/cs46xx_lib.c:3593:17: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/cs46xx/cs46xx_lib.c:3593:17: sparse: got void *
--
>> sound/pci/ice1712/ice1724.c:128:27: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/ice1724.c:128:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/ice1724.c:128:27: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:128:27: sparse: got void *
sound/pci/ice1712/ice1724.c:143:22: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:143:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:143:22: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:143:22: sparse: got void *
sound/pci/ice1712/ice1724.c:159:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/ice1724.c:159:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/ice1724.c:159:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:159:9: sparse: got void *
sound/pci/ice1712/ice1724.c:160:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:160:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:160:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:160:9: sparse: got void *
sound/pci/ice1712/ice1724.c:161:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:161:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:161:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:161:9: sparse: got void *
sound/pci/ice1712/ice1724.c:173:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:173:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:173:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:173:9: sparse: got void *
sound/pci/ice1712/ice1724.c:174:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:174:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:174:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:174:9: sparse: got void *
sound/pci/ice1712/ice1724.c:177:16: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:177:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:177:16: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:177:16: sparse: got void *
sound/pci/ice1712/ice1724.c:188:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:188:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:188:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:188:9: sparse: got void *
sound/pci/ice1712/ice1724.c:189:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:189:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:189:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:189:9: sparse: got void *
sound/pci/ice1712/ice1724.c:195:16: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:195:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:195:16: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:195:16: sparse: got void *
sound/pci/ice1712/ice1724.c:201:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:201:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:201:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:201:9: sparse: got void *
sound/pci/ice1712/ice1724.c:203:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:203:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:203:17: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:203:17: sparse: got void *
sound/pci/ice1712/ice1724.c:204:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:204:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:204:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:204:9: sparse: got void *
sound/pci/ice1712/ice1724.c:211:38: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:211:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:211:38: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:211:38: sparse: got void *
sound/pci/ice1712/ice1724.c:214:31: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:214:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:214:31: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:214:31: sparse: got void *
sound/pci/ice1712/ice1724.c:220:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:220:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:220:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:220:9: sparse: got void *
sound/pci/ice1712/ice1724.c:222:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:222:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:222:17: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:222:17: sparse: got void *
sound/pci/ice1712/ice1724.c:223:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:223:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:223:9: sparse: got void *
sound/pci/ice1712/ice1724.c:230:38: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:230:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:230:38: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:230:38: sparse: got void *
sound/pci/ice1712/ice1724.c:233:31: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:233:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:233:31: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:233:31: sparse: got void *
sound/pci/ice1712/ice1724.c:245:22: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:245:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:245:22: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:245:22: sparse: got void *
sound/pci/ice1712/ice1724.c:246:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:246:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:246:17: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:246:17: sparse: got void *
sound/pci/ice1712/ice1724.c:297:19: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:297:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:297:19: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:297:19: sparse: got void *
sound/pci/ice1712/ice1724.c:302:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:302:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:302:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:302:9: sparse: got void *
sound/pci/ice1712/ice1724.c:265:22: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:265:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:265:22: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:265:22: sparse: got void *
sound/pci/ice1712/ice1724.c:269:25: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:269:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:269:25: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/ice1724.c:269:25: sparse: got void *
sound/pci/ice1712/ice1724.c:285:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/ice1724.c:285:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/ice1724.c:285:17: sparse: expected void const volatile [noderef] __iomem *addr
--
>> sound/pci/ice1712/revo.c:30:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/revo.c:30:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/revo.c:30:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/revo.c:30:9: sparse: got void *
>> sound/pci/ice1712/revo.c:30:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/revo.c:30:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/revo.c:30:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/revo.c:30:9: sparse: got void *
sound/pci/ice1712/revo.c:33:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/revo.c:33:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/revo.c:33:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/revo.c:33:9: sparse: got void *
sound/pci/ice1712/revo.c:33:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/revo.c:33:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/revo.c:33:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/revo.c:33:9: sparse: got void *
--
>> sound/pci/ice1712/pontis.c:764:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/pontis.c:764:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/pontis.c:764:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/pontis.c:764:9: sparse: got void *
>> sound/pci/ice1712/pontis.c:764:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/pontis.c:764:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/pontis.c:764:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/pontis.c:764:9: sparse: got void *
sound/pci/ice1712/pontis.c:767:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/pontis.c:767:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/pontis.c:767:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/pontis.c:767:9: sparse: got void *
sound/pci/ice1712/pontis.c:767:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/pontis.c:767:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/pontis.c:767:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/pontis.c:767:9: sparse: got void *
--
>> sound/pci/ice1712/juli.c:238:15: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/juli.c:238:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/juli.c:238:15: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/juli.c:238:15: sparse: got void *
sound/pci/ice1712/juli.c:239:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/juli.c:239:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/juli.c:239:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/juli.c:239:9: sparse: got void *
sound/pci/ice1712/juli.c:241:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/juli.c:241:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/juli.c:241:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/juli.c:241:9: sparse: got void *
sound/pci/ice1712/juli.c:529:15: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/juli.c:529:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/juli.c:529:15: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/juli.c:529:15: sparse: got void *
sound/pci/ice1712/juli.c:530:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/juli.c:530:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/juli.c:530:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/juli.c:530:9: sparse: got void *
--
>> sound/pci/ice1712/quartet.c:851:15: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/quartet.c:851:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/quartet.c:851:15: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/quartet.c:851:15: sparse: got void *
sound/pci/ice1712/quartet.c:852:9: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/ice1712/quartet.c:852:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/ice1712/quartet.c:852:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/quartet.c:852:9: sparse: got void *
sound/pci/ice1712/quartet.c:988:15: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/quartet.c:988:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/quartet.c:988:15: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/ice1712/quartet.c:988:15: sparse: got void *
sound/pci/ice1712/quartet.c:989:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/ice1712/quartet.c:989:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/ice1712/quartet.c:989:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/ice1712/quartet.c:989:9: sparse: got void *
--
>> sound/pci/riptide/riptide.c:855:40: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/riptide/riptide.c:855:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/riptide/riptide.c:855:40: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:855:40: sparse: got void *
sound/pci/riptide/riptide.c:865:21: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:865:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:865:21: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:865:21: sparse: got void *
sound/pci/riptide/riptide.c:866:25: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:866:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:866:25: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:866:25: sparse: got void *
sound/pci/riptide/riptide.c:867:25: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:867:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:867:25: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:867:25: sparse: got void *
sound/pci/riptide/riptide.c:869:21: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:869:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:869:21: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:869:21: sparse: got void *
sound/pci/riptide/riptide.c:871:33: sparse: sparse: cast removes address space '__iomem' of expression
>> sound/pci/riptide/riptide.c:871:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> sound/pci/riptide/riptide.c:871:33: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:871:33: sparse: got void *
sound/pci/riptide/riptide.c:872:25: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:872:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:872:25: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:872:25: sparse: got void *
sound/pci/riptide/riptide.c:874:41: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:874:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:874:41: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:874:41: sparse: got void *
sound/pci/riptide/riptide.c:881:45: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:881:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:881:45: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:881:45: sparse: got void *
sound/pci/riptide/riptide.c:883:45: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:883:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:883:45: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:883:45: sparse: got void *
sound/pci/riptide/riptide.c:919:42: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:919:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:919:42: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:919:42: sparse: got void *
sound/pci/riptide/riptide.c:919:60: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:919:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:919:60: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:919:60: sparse: got void *
sound/pci/riptide/riptide.c:1788:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1788:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1788:17: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1788:17: sparse: got void *
sound/pci/riptide/riptide.c:1788:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1788:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1788:17: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1788:17: sparse: got void *
sound/pci/riptide/riptide.c:1295:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1295:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1295:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1295:9: sparse: got void *
sound/pci/riptide/riptide.c:1295:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1295:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1295:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1295:9: sparse: got void *
sound/pci/riptide/riptide.c:1296:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1296:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1296:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1296:9: sparse: got void *
sound/pci/riptide/riptide.c:1296:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1296:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1296:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1296:9: sparse: got void *
sound/pci/riptide/riptide.c:1297:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1297:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1297:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1297:9: sparse: got void *
sound/pci/riptide/riptide.c:1297:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1297:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1297:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1297:9: sparse: got void *
sound/pci/riptide/riptide.c:1122:38: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1122:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1122:38: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1122:38: sparse: got void *
sound/pci/riptide/riptide.c:1175:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1175:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1175:17: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1175:17: sparse: got void *
sound/pci/riptide/riptide.c:1176:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1176:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1176:17: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1176:17: sparse: got void *
sound/pci/riptide/riptide.c:1178:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1178:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1178:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1178:9: sparse: got void *
sound/pci/riptide/riptide.c:1178:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1178:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1178:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1178:9: sparse: got void *
sound/pci/riptide/riptide.c:1180:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1180:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1180:9: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1180:9: sparse: got void *
sound/pci/riptide/riptide.c:1180:9: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1180:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1180:9: sparse: expected void volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1180:9: sparse: got void *
sound/pci/riptide/riptide.c:1184:21: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1184:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1184:21: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1184:21: sparse: got void *
sound/pci/riptide/riptide.c:1184:47: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1184:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1184:47: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1184:47: sparse: got void *
sound/pci/riptide/riptide.c:1188:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1188:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1188:17: sparse: expected void const volatile [noderef] __iomem *addr
sound/pci/riptide/riptide.c:1188:17: sparse: got void *
sound/pci/riptide/riptide.c:1188:17: sparse: sparse: cast removes address space '__iomem' of expression
sound/pci/riptide/riptide.c:1188:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
sound/pci/riptide/riptide.c:1188:17: sparse: expected void const volatile [noderef] __iomem *addr
vim +736 drivers/video/fbdev/tridentfb.c
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 538
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 539 /*
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 540 * TGUI 9440/96XX acceleration
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 541 */
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 542
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 543 static void tgui_init_accel(struct tridentfb_par *par, int pitch, int bpp)
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 544 {
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 545 unsigned char x = bpp == 24 ? 3 : (bpp >> 4);
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 546
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 547 /* disable clipping */
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 548 writemmr(par, 0x2148, 0);
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 549 writemmr(par, 0x214C, point(4095, 2047));
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 550
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 551 switch ((pitch * bpp) / 8) {
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 552 case 8192:
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 553 case 512:
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 554 x |= 0x00;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 555 break;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 556 case 1024:
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 557 x |= 0x04;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 558 break;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 559 case 2048:
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 560 x |= 0x08;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 561 break;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 562 case 4096:
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 563 x |= 0x0C;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 564 break;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 565 }
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 566
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 @567 fb_writew(x, par->io_virt + 0x2122);
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 568 }
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 569
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 570 static void tgui_fill_rect(struct tridentfb_par *par,
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 571 u32 x, u32 y, u32 w, u32 h, u32 c, u32 rop)
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 572 {
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 573 t_outb(par, ROP_P, 0x2127);
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 574 writemmr(par, OLDCLR, c);
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 575 writemmr(par, DRAWFL, 0x4020);
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 576 writemmr(par, OLDDIM, point(w - 1, h - 1));
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 577 writemmr(par, OLDDST, point(x, y));
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 578 t_outb(par, 1, OLDCMD);
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 579 }
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 580
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 581 static void tgui_copy_rect(struct tridentfb_par *par,
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 582 u32 x1, u32 y1, u32 x2, u32 y2, u32 w, u32 h)
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 583 {
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 584 int flags = 0;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 585 u16 x1_tmp, x2_tmp, y1_tmp, y2_tmp;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 586
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 587 if ((x1 < x2) && (y1 == y2)) {
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 588 flags |= 0x0200;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 589 x1_tmp = x1 + w - 1;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 590 x2_tmp = x2 + w - 1;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 591 } else {
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 592 x1_tmp = x1;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 593 x2_tmp = x2;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 594 }
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 595
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 596 if (y1 < y2) {
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 597 flags |= 0x0100;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 598 y1_tmp = y1 + h - 1;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 599 y2_tmp = y2 + h - 1;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 600 } else {
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 601 y1_tmp = y1;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 602 y2_tmp = y2;
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 603 }
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 604
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 605 writemmr(par, DRAWFL, 0x4 | flags);
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 606 t_outb(par, ROP_S, 0x2127);
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 607 writemmr(par, OLDSRC, point(x1_tmp, y1_tmp));
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 608 writemmr(par, OLDDST, point(x2_tmp, y2_tmp));
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 609 writemmr(par, OLDDIM, point(w - 1, h - 1));
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 610 t_outb(par, 1, OLDCMD);
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 611 }
bcac2d5fe36238 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 612
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 613 /*
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 614 * Accel functions called by the upper layers
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 615 */
245a2c2c69fee3 drivers/video/tridentfb.c Krzysztof Helt 2007-10-16 616 static void tridentfb_fillrect(struct fb_info *info,
245a2c2c69fee3 drivers/video/tridentfb.c Krzysztof Helt 2007-10-16 617 const struct fb_fillrect *fr)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 618 {
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 619 struct tridentfb_par *par = info->par;
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 620 int col;
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 621
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 622 if (info->flags & FBINFO_HWACCEL_DISABLED) {
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 623 cfb_fillrect(info, fr);
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 624 return;
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 625 }
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 626 if (info->var.bits_per_pixel == 8) {
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 627 col = fr->color;
8dad46cf38c029 drivers/video/tridentfb.c Antonino A. Daplas 2005-08-01 628 col |= col << 8;
8dad46cf38c029 drivers/video/tridentfb.c Antonino A. Daplas 2005-08-01 629 col |= col << 16;
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 630 } else
245a2c2c69fee3 drivers/video/tridentfb.c Krzysztof Helt 2007-10-16 631 col = ((u32 *)(info->pseudo_palette))[fr->color];
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 632
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 633 par->wait_engine(par);
d9cad04bcde004 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 634 par->fill_rect(par, fr->dx, fr->dy, fr->width,
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 635 fr->height, col, fr->rop);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 636 }
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 637
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 638 static void tridentfb_imageblit(struct fb_info *info,
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 639 const struct fb_image *img)
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 640 {
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 641 struct tridentfb_par *par = info->par;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 642 int col, bgcol;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 643
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 644 if ((info->flags & FBINFO_HWACCEL_DISABLED) || img->depth != 1) {
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 645 cfb_imageblit(info, img);
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 646 return;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 647 }
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 648 if (info->var.bits_per_pixel == 8) {
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 649 col = img->fg_color;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 650 col |= col << 8;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 651 col |= col << 16;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 652 bgcol = img->bg_color;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 653 bgcol |= bgcol << 8;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 654 bgcol |= bgcol << 16;
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 655 } else {
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 656 col = ((u32 *)(info->pseudo_palette))[img->fg_color];
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 657 bgcol = ((u32 *)(info->pseudo_palette))[img->bg_color];
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 658 }
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 659
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 660 par->wait_engine(par);
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 661 if (par->image_blit)
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 662 par->image_blit(par, img->data, img->dx, img->dy,
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 663 img->width, img->height, col, bgcol);
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 664 else
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 665 cfb_imageblit(info, img);
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 666 }
0292be4a382957 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 667
245a2c2c69fee3 drivers/video/tridentfb.c Krzysztof Helt 2007-10-16 668 static void tridentfb_copyarea(struct fb_info *info,
245a2c2c69fee3 drivers/video/tridentfb.c Krzysztof Helt 2007-10-16 669 const struct fb_copyarea *ca)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 670 {
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 671 struct tridentfb_par *par = info->par;
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 672
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 673 if (info->flags & FBINFO_HWACCEL_DISABLED) {
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 674 cfb_copyarea(info, ca);
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 675 return;
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 676 }
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 677 par->wait_engine(par);
d9cad04bcde004 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 678 par->copy_rect(par, ca->sx, ca->sy, ca->dx, ca->dy,
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 679 ca->width, ca->height);
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 680 }
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 681
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 682 static int tridentfb_sync(struct fb_info *info)
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 683 {
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 684 struct tridentfb_par *par = info->par;
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 685
01a2d9ed85c945 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 686 if (!(info->flags & FBINFO_HWACCEL_DISABLED))
d9cad04bcde004 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 687 par->wait_engine(par);
49b1f4b44bcdc4 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 688 return 0;
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 689 }
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 690
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 691 /*
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 692 * Hardware access functions
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 693 */
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 694
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 695 static inline unsigned char read3X4(struct tridentfb_par *par, int reg)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 696 {
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 697 return vga_mm_rcrt(par->io_virt, reg);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 698 }
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 699
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 700 static inline void write3X4(struct tridentfb_par *par, int reg,
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 701 unsigned char val)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 702 {
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 703 vga_mm_wcrt(par->io_virt, reg, val);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 704 }
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 705
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 706 static inline unsigned char read3CE(struct tridentfb_par *par,
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 707 unsigned char reg)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 708 {
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 709 return vga_mm_rgfx(par->io_virt, reg);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 710 }
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 711
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 712 static inline void writeAttr(struct tridentfb_par *par, int reg,
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 713 unsigned char val)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 714 {
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 715 fb_readb(par->io_virt + VGA_IS1_RC); /* flip-flop to index */
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 716 vga_mm_wattr(par->io_virt, reg, val);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 717 }
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 718
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 719 static inline void write3CE(struct tridentfb_par *par, int reg,
306fa6f60a2870 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 720 unsigned char val)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 721 {
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 722 vga_mm_wgfx(par->io_virt, reg, val);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 723 }
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 724
13b0de49f52ec8 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 725 static void enable_mmio(struct tridentfb_par *par)
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 726 {
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 727 /* Goto New Mode */
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 728 vga_io_rseq(0x0B);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 729
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 730 /* Unprotect registers */
10172ed6dc4d40 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 731 vga_io_wseq(NewMode1, 0x80);
13b0de49f52ec8 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 732 if (!is_oldprotect(par->chip_id))
13b0de49f52ec8 drivers/video/tridentfb.c Krzysztof Helt 2008-07-23 733 vga_io_wseq(Protection, 0x92);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 734
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 735 /* Enable MMIO */
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 @736 outb(PCIReg, 0x3D4);
^1da177e4c3f41 drivers/video/tridentfb.c Linus Torvalds 2005-04-16 @737 outb(inb(0x3D5) | 0x01, 0x3D5);
e8ed857c64e3ae drivers/video/tridentfb.c Krzysztof Helt 2008-03-04 738 }
e8ed857c64e3ae drivers/video/tridentfb.c Krzysztof Helt 2008-03-04 739
:::::: The code at line 736 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
drivers/thermal/da9062-thermal.c:258:2-9: line 258 is redundant because platform_get_irq() already prints an error
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 00e4db51259a5f936fec1424b884f029479d3981
commit: ca7ce5a2710ad2a57bf7d0c4c712590bb69a5e1c coccinelle: platform_get_irq: Fix parse error
date: 11 months ago
config: i386-randconfig-c004-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>
coccinelle warnings: (new ones prefixed by >>)
>> drivers/thermal/da9062-thermal.c:258:2-9: line 258 is redundant because platform_get_irq() already prints an error
vim +258 drivers/thermal/da9062-thermal.c
608567aac3206a Steve Twiss 2017-03-28 199
608567aac3206a Steve Twiss 2017-03-28 200 static int da9062_thermal_probe(struct platform_device *pdev)
608567aac3206a Steve Twiss 2017-03-28 201 {
608567aac3206a Steve Twiss 2017-03-28 202 struct da9062 *chip = dev_get_drvdata(pdev->dev.parent);
608567aac3206a Steve Twiss 2017-03-28 203 struct da9062_thermal *thermal;
608567aac3206a Steve Twiss 2017-03-28 204 unsigned int pp_tmp = DA9062_DEFAULT_POLLING_MS_PERIOD;
608567aac3206a Steve Twiss 2017-03-28 205 const struct of_device_id *match;
608567aac3206a Steve Twiss 2017-03-28 206 int ret = 0;
608567aac3206a Steve Twiss 2017-03-28 207
608567aac3206a Steve Twiss 2017-03-28 208 match = of_match_node(da9062_compatible_reg_id_table,
608567aac3206a Steve Twiss 2017-03-28 209 pdev->dev.of_node);
608567aac3206a Steve Twiss 2017-03-28 210 if (!match)
608567aac3206a Steve Twiss 2017-03-28 211 return -ENXIO;
608567aac3206a Steve Twiss 2017-03-28 212
608567aac3206a Steve Twiss 2017-03-28 213 if (pdev->dev.of_node) {
608567aac3206a Steve Twiss 2017-03-28 214 if (!of_property_read_u32(pdev->dev.of_node,
608567aac3206a Steve Twiss 2017-03-28 215 "polling-delay-passive",
608567aac3206a Steve Twiss 2017-03-28 216 &pp_tmp)) {
608567aac3206a Steve Twiss 2017-03-28 217 if (pp_tmp < DA9062_MIN_POLLING_MS_PERIOD ||
608567aac3206a Steve Twiss 2017-03-28 218 pp_tmp > DA9062_MAX_POLLING_MS_PERIOD) {
608567aac3206a Steve Twiss 2017-03-28 219 dev_warn(&pdev->dev,
608567aac3206a Steve Twiss 2017-03-28 220 "Out-of-range polling period %d ms\n",
608567aac3206a Steve Twiss 2017-03-28 221 pp_tmp);
608567aac3206a Steve Twiss 2017-03-28 222 pp_tmp = DA9062_DEFAULT_POLLING_MS_PERIOD;
608567aac3206a Steve Twiss 2017-03-28 223 }
608567aac3206a Steve Twiss 2017-03-28 224 }
608567aac3206a Steve Twiss 2017-03-28 225 }
608567aac3206a Steve Twiss 2017-03-28 226
608567aac3206a Steve Twiss 2017-03-28 227 thermal = devm_kzalloc(&pdev->dev, sizeof(struct da9062_thermal),
608567aac3206a Steve Twiss 2017-03-28 228 GFP_KERNEL);
608567aac3206a Steve Twiss 2017-03-28 229 if (!thermal) {
608567aac3206a Steve Twiss 2017-03-28 230 ret = -ENOMEM;
608567aac3206a Steve Twiss 2017-03-28 231 goto err;
608567aac3206a Steve Twiss 2017-03-28 232 }
608567aac3206a Steve Twiss 2017-03-28 233
608567aac3206a Steve Twiss 2017-03-28 234 thermal->config = match->data;
608567aac3206a Steve Twiss 2017-03-28 235 thermal->hw = chip;
608567aac3206a Steve Twiss 2017-03-28 236 thermal->mode = THERMAL_DEVICE_ENABLED;
608567aac3206a Steve Twiss 2017-03-28 237 thermal->dev = &pdev->dev;
608567aac3206a Steve Twiss 2017-03-28 238
608567aac3206a Steve Twiss 2017-03-28 239 INIT_DELAYED_WORK(&thermal->work, da9062_thermal_poll_on);
608567aac3206a Steve Twiss 2017-03-28 240 mutex_init(&thermal->lock);
608567aac3206a Steve Twiss 2017-03-28 241
608567aac3206a Steve Twiss 2017-03-28 242 thermal->zone = thermal_zone_device_register(thermal->config->name,
608567aac3206a Steve Twiss 2017-03-28 243 1, 0, thermal,
608567aac3206a Steve Twiss 2017-03-28 244 &da9062_thermal_ops, NULL, pp_tmp,
608567aac3206a Steve Twiss 2017-03-28 245 0);
608567aac3206a Steve Twiss 2017-03-28 246 if (IS_ERR(thermal->zone)) {
608567aac3206a Steve Twiss 2017-03-28 247 dev_err(&pdev->dev, "Cannot register thermal zone device\n");
608567aac3206a Steve Twiss 2017-03-28 248 ret = PTR_ERR(thermal->zone);
608567aac3206a Steve Twiss 2017-03-28 249 goto err;
608567aac3206a Steve Twiss 2017-03-28 250 }
608567aac3206a Steve Twiss 2017-03-28 251
608567aac3206a Steve Twiss 2017-03-28 252 dev_dbg(&pdev->dev,
608567aac3206a Steve Twiss 2017-03-28 253 "TJUNC temperature polling period set at %d ms\n",
608567aac3206a Steve Twiss 2017-03-28 254 thermal->zone->passive_delay);
608567aac3206a Steve Twiss 2017-03-28 255
608567aac3206a Steve Twiss 2017-03-28 256 ret = platform_get_irq_byname(pdev, "THERMAL");
608567aac3206a Steve Twiss 2017-03-28 257 if (ret < 0) {
608567aac3206a Steve Twiss 2017-03-28 @258 dev_err(&pdev->dev, "Failed to get platform IRQ.\n");
608567aac3206a Steve Twiss 2017-03-28 259 goto err_zone;
608567aac3206a Steve Twiss 2017-03-28 260 }
608567aac3206a Steve Twiss 2017-03-28 261 thermal->irq = ret;
608567aac3206a Steve Twiss 2017-03-28 262
608567aac3206a Steve Twiss 2017-03-28 263 ret = request_threaded_irq(thermal->irq, NULL,
608567aac3206a Steve Twiss 2017-03-28 264 da9062_thermal_irq_handler,
608567aac3206a Steve Twiss 2017-03-28 265 IRQF_TRIGGER_LOW | IRQF_ONESHOT,
608567aac3206a Steve Twiss 2017-03-28 266 "THERMAL", thermal);
608567aac3206a Steve Twiss 2017-03-28 267 if (ret) {
608567aac3206a Steve Twiss 2017-03-28 268 dev_err(&pdev->dev,
608567aac3206a Steve Twiss 2017-03-28 269 "Failed to request thermal device IRQ.\n");
608567aac3206a Steve Twiss 2017-03-28 270 goto err_zone;
608567aac3206a Steve Twiss 2017-03-28 271 }
608567aac3206a Steve Twiss 2017-03-28 272
608567aac3206a Steve Twiss 2017-03-28 273 platform_set_drvdata(pdev, thermal);
608567aac3206a Steve Twiss 2017-03-28 274 return 0;
608567aac3206a Steve Twiss 2017-03-28 275
608567aac3206a Steve Twiss 2017-03-28 276 err_zone:
608567aac3206a Steve Twiss 2017-03-28 277 thermal_zone_device_unregister(thermal->zone);
608567aac3206a Steve Twiss 2017-03-28 278 err:
608567aac3206a Steve Twiss 2017-03-28 279 return ret;
608567aac3206a Steve Twiss 2017-03-28 280 }
608567aac3206a Steve Twiss 2017-03-28 281
:::::: The code at line 258 was first introduced by commit
:::::: 608567aac3206ae886c79688fbb8a62c473b55ef thermal: da9062/61: Thermal junction temperature monitoring driver
:::::: TO: Steve Twiss <stwiss.opensource(a)diasemi.com>
:::::: CC: Eduardo Valentin <edubezval(a)gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH 4/7] regulator: push allocation in set_consumer_device_supply() out of lock
by kernel test robot
Hi "Michał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on regulator/for-next]
[also build test WARNING on v5.8 next-20200810]
[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/Micha-Miros-aw/regulator-fix-dea...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
config: x86_64-randconfig-m001-20200810 (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>
New smatch warnings:
drivers/regulator/core.c:1491 set_consumer_device_supply() warn: overwrite may leak 'node'
Old smatch warnings:
drivers/regulator/core.c:129 regulator_ops_is_valid() error: we previously assumed 'rdev->constraints' could be null (see line 128)
drivers/regulator/core.c:3051 regulator_get_hardware_vsel_register() warn: inconsistent indenting
vim +/node +1491 drivers/regulator/core.c
3801b86aa482d2 Mark Brown 2011-06-09 1448
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1449 /**
06c63f9396133f Randy Dunlap 2010-11-18 1450 * set_consumer_device_supply - Bind a regulator to a symbolic supply
69279fb9a95051 Mark Brown 2008-12-31 1451 * @rdev: regulator source
40f9244f4da897 Mark Brown 2009-06-17 1452 * @consumer_dev_name: dev_name() string for device supply applies to
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1453 * @supply: symbolic name for supply
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1454 *
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1455 * Allows platform initialisation code to map physical regulator
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1456 * sources to symbolic names for supplies for use by devices. Devices
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1457 * should use these symbolic names to request regulators, avoiding the
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1458 * need to provide board-specific regulator names as platform data.
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1459 */
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1460 static int set_consumer_device_supply(struct regulator_dev *rdev,
737f360d5bef5e Mark Brown 2012-02-02 1461 const char *consumer_dev_name,
40f9244f4da897 Mark Brown 2009-06-17 1462 const char *supply)
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1463 {
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1464 struct regulator_map *node;
9ed2099edca26d Mark Brown 2009-07-21 1465 int has_dev;
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1466
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1467 if (supply == NULL)
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1468 return -EINVAL;
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1469
9ed2099edca26d Mark Brown 2009-07-21 1470 if (consumer_dev_name != NULL)
9ed2099edca26d Mark Brown 2009-07-21 1471 has_dev = 1;
9ed2099edca26d Mark Brown 2009-07-21 1472 else
9ed2099edca26d Mark Brown 2009-07-21 1473 has_dev = 0;
9ed2099edca26d Mark Brown 2009-07-21 1474
bcadf558ba875d Michał Mirosław 2020-08-11 1475 node = kzalloc(sizeof(struct regulator_map), GFP_KERNEL);
bcadf558ba875d Michał Mirosław 2020-08-11 1476 if (node == NULL)
bcadf558ba875d Michał Mirosław 2020-08-11 1477 return -ENOMEM;
bcadf558ba875d Michał Mirosław 2020-08-11 1478
bcadf558ba875d Michał Mirosław 2020-08-11 1479 node->regulator = rdev;
bcadf558ba875d Michał Mirosław 2020-08-11 1480 node->supply = supply;
bcadf558ba875d Michał Mirosław 2020-08-11 1481
bcadf558ba875d Michał Mirosław 2020-08-11 1482 if (has_dev) {
bcadf558ba875d Michał Mirosław 2020-08-11 1483 node->dev_name = kstrdup(consumer_dev_name, GFP_KERNEL);
bcadf558ba875d Michał Mirosław 2020-08-11 1484 if (node->dev_name == NULL) {
bcadf558ba875d Michał Mirosław 2020-08-11 1485 kfree(node);
bcadf558ba875d Michał Mirosław 2020-08-11 1486 return -ENOMEM;
bcadf558ba875d Michał Mirosław 2020-08-11 1487 }
bcadf558ba875d Michał Mirosław 2020-08-11 1488 }
bcadf558ba875d Michał Mirosław 2020-08-11 1489
bcadf558ba875d Michał Mirosław 2020-08-11 1490 mutex_lock(®ulator_list_mutex);
6001e13c5f708e David Brownell 2008-12-31 @1491 list_for_each_entry(node, ®ulator_map_list, list) {
23b5cc2ab67832 Jani Nikula 2010-04-29 1492 if (node->dev_name && consumer_dev_name) {
23b5cc2ab67832 Jani Nikula 2010-04-29 1493 if (strcmp(node->dev_name, consumer_dev_name) != 0)
6001e13c5f708e David Brownell 2008-12-31 1494 continue;
23b5cc2ab67832 Jani Nikula 2010-04-29 1495 } else if (node->dev_name || consumer_dev_name) {
23b5cc2ab67832 Jani Nikula 2010-04-29 1496 continue;
23b5cc2ab67832 Jani Nikula 2010-04-29 1497 }
23b5cc2ab67832 Jani Nikula 2010-04-29 1498
6001e13c5f708e David Brownell 2008-12-31 1499 if (strcmp(node->supply, supply) != 0)
6001e13c5f708e David Brownell 2008-12-31 1500 continue;
6001e13c5f708e David Brownell 2008-12-31 1501
737f360d5bef5e Mark Brown 2012-02-02 1502 pr_debug("%s: %s/%s is '%s' supply; fail %s/%s\n",
737f360d5bef5e Mark Brown 2012-02-02 1503 consumer_dev_name,
6001e13c5f708e David Brownell 2008-12-31 1504 dev_name(&node->regulator->dev),
6001e13c5f708e David Brownell 2008-12-31 1505 node->regulator->desc->name,
6001e13c5f708e David Brownell 2008-12-31 1506 supply,
1083c39346d482 Mark Brown 2009-10-22 1507 dev_name(&rdev->dev), rdev_get_name(rdev));
bcadf558ba875d Michał Mirosław 2020-08-11 1508 goto fail;
6001e13c5f708e David Brownell 2008-12-31 1509 }
6001e13c5f708e David Brownell 2008-12-31 1510
bcadf558ba875d Michał Mirosław 2020-08-11 1511 list_add(&node->list, ®ulator_map_list);
bcadf558ba875d Michał Mirosław 2020-08-11 1512 mutex_unlock(®ulator_list_mutex);
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1513
bcadf558ba875d Michał Mirosław 2020-08-11 1514 return 0;
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1515
bcadf558ba875d Michał Mirosław 2020-08-11 1516 fail:
bcadf558ba875d Michał Mirosław 2020-08-11 1517 mutex_unlock(®ulator_list_mutex);
bcadf558ba875d Michał Mirosław 2020-08-11 1518 kfree(node->dev_name);
40f9244f4da897 Mark Brown 2009-06-17 1519 kfree(node);
bcadf558ba875d Michał Mirosław 2020-08-11 1520 return -EBUSY;
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1521 }
a5766f11cfd3a0 Liam Girdwood 2008-10-10 1522
---
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 V2 PATCH] dma-iommu: allow devices to set IOVA range dynamically
by kernel test robot
Hi Ajay,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on iommu/next]
[also build test ERROR on linux/master soc/for-next linus/master v5.8 next-20200810]
[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/Ajay-Kumar/dma-iommu-allow-devic...
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: i386-randconfig-a004-20200810 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# 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/intel-iommu.h:19,
from drivers/gpu/drm/i915/i915_drv.h:41,
from drivers/gpu/drm/i915/display/intel_display_types.h:45,
from <command-line>:
>> include/linux/iommu.h:832:12: error: 'iommu_group_device_count_from_dev' defined but not used [-Werror=unused-function]
832 | static int iommu_group_device_count_from_dev(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/intel-iommu.h:14,
from drivers/gpu/drm/i915/i915_drv.h:41,
from drivers/gpu/drm/i915/display/intel_display_types.h:45,
from <command-line>:
include/linux/iova.h:275:12: error: 'iommu_set_iova_range' defined but not used [-Werror=unused-function]
275 | static int iommu_set_iova_range(struct device *dev, dma_addr_t base, u64 size)
| ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
In file included from include/linux/vfio.h:12,
from drivers/gpu/drm/i915/gvt/dmabuf.h:33,
from <command-line>:
>> include/linux/iommu.h:832:12: error: 'iommu_group_device_count_from_dev' defined but not used [-Werror=unused-function]
832 | static int iommu_group_device_count_from_dev(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/iommu_group_device_count_from_dev +832 include/linux/iommu.h
831
> 832 static int iommu_group_device_count_from_dev(struct device *dev)
833 {
834 return 0;
835 }
836
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 00e4db51259a5f936fec1424b884f029479d3981
commit: 80591e61a0f7e88deaada69844e4a31280c4a38f kbuild: tell sparse about the $ARCH
date: 9 months ago
config: s390-randconfig-s031-20200810 (attached as .config)
compiler: s390-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-141-g19506bc2-dirty
git checkout 80591e61a0f7e88deaada69844e4a31280c4a38f
# 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=s390
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/video/fbdev/kyro/fbdev.c:725:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *s @@ got char [noderef] <asn:2> *screen_base @@
>> drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: expected void *s
drivers/video/fbdev/kyro/fbdev.c:725:23: sparse: got char [noderef] <asn:2> *screen_base
vim +725 drivers/video/fbdev/kyro/fbdev.c
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 661
48c68c4f1b5424 drivers/video/kyro/fbdev.c Greg Kroah-Hartman 2012-12-21 662 static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 663 {
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 664 struct fb_info *info;
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 665 struct kyrofb_info *currentpar;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 666 unsigned long size;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 667 int err;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 668
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 669 if ((err = pci_enable_device(pdev))) {
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 670 printk(KERN_WARNING "kyrofb: Can't enable pdev: %d\n", err);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 671 return err;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 672 }
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 673
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 674 info = framebuffer_alloc(sizeof(struct kyrofb_info), &pdev->dev);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 675 if (!info)
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 676 return -ENOMEM;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 677
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 678 currentpar = info->par;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 679
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 680 kyro_fix.smem_start = pci_resource_start(pdev, 0);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 681 kyro_fix.smem_len = pci_resource_len(pdev, 0);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 682 kyro_fix.mmio_start = pci_resource_start(pdev, 1);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 683 kyro_fix.mmio_len = pci_resource_len(pdev, 1);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 684
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 685 currentpar->regbase = deviceInfo.pSTGReg =
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 686 ioremap_nocache(kyro_fix.mmio_start, kyro_fix.mmio_len);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 687 if (!currentpar->regbase)
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 688 goto out_free_fb;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 689
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 690 info->screen_base = pci_ioremap_wc_bar(pdev, 0);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 691 if (!info->screen_base)
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 692 goto out_unmap_regs;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 693
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 694 if (!nomtrr)
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 695 currentpar->wc_cookie = arch_phys_wc_add(kyro_fix.smem_start,
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 696 kyro_fix.smem_len);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 697
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 698 kyro_fix.ypanstep = nopan ? 0 : 1;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 699 kyro_fix.ywrapstep = nowrap ? 0 : 1;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 700
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 701 info->fbops = &kyrofb_ops;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 702 info->fix = kyro_fix;
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 703 info->pseudo_palette = currentpar->palette;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 704 info->flags = FBINFO_DEFAULT;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 705
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 706 SetCoreClockPLL(deviceInfo.pSTGReg, pdev);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 707
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 708 deviceInfo.ulNextFreeVidMem = 0;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 709 deviceInfo.ulOverlayOffset = 0;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 710
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 711 /* This should give a reasonable default video mode */
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 712 if (!fb_find_mode(&info->var, info, mode_option, kyro_modedb,
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 713 NUM_TOTAL_MODES, &kyro_modedb[VMODE_1024_768_75], 32))
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 714 info->var = kyro_var;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 715
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 716 fb_alloc_cmap(&info->cmap, 256, 0);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 717
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 718 kyrofb_set_par(info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 719 kyrofb_check_var(&info->var, info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 720
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 721 size = get_line_length(info->var.xres_virtual,
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 722 info->var.bits_per_pixel);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 723 size *= info->var.yres_virtual;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 724
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 @725 fb_memset(info->screen_base, 0, size);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 726
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 727 if (register_framebuffer(info) < 0)
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 728 goto out_unmap;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 729
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 730 fb_info(info, "%s frame buffer device, at %dx%d@%d using %ldk/%ldk of VRAM\n",
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 731 info->fix.id,
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 732 info->var.xres, info->var.yres, info->var.bits_per_pixel,
31b6780c15a4e3 drivers/video/kyro/fbdev.c Joe Perches 2013-09-19 733 size >> 10, (unsigned long)info->fix.smem_len >> 10);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 734
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 735 pci_set_drvdata(pdev, info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 736
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 737 return 0;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 738
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 739 out_unmap:
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 740 iounmap(info->screen_base);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 741 out_unmap_regs:
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 742 iounmap(currentpar->regbase);
9e517ac88b2443 drivers/video/fbdev/kyro/fbdev.c Luis R. Rodriguez 2015-08-24 743 out_free_fb:
a26968df0110bc drivers/video/kyro/fbdev.c Antonino A. Daplas 2006-01-09 744 framebuffer_release(info);
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 745
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 746 return -EINVAL;
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 747 }
^1da177e4c3f41 drivers/video/kyro/fbdev.c Linus Torvalds 2005-04-16 748
:::::: The code at line 725 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
arch/riscv/kernel/ftrace.c:15:5: sparse: sparse: context imbalance in 'ftrace_arch_code_modify_prepare' - wrong count at exit
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4bcf69e57063c9b1b15df1a293c969e80a1c97e6
commit: 0ff7c3b331276f584bde3ae9a16bacd8fa3d01e6 riscv: Use text_mutex instead of patch_lock
date: 3 months ago
config: riscv-randconfig-s032-20200810 (attached as .config)
compiler: riscv64-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-141-g19506bc2-dirty
git checkout 0ff7c3b331276f584bde3ae9a16bacd8fa3d01e6
# 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=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 >>)
>> arch/riscv/kernel/ftrace.c:15:5: sparse: sparse: context imbalance in 'ftrace_arch_code_modify_prepare' - wrong count at exit
>> arch/riscv/kernel/ftrace.c:21:5: sparse: sparse: context imbalance in 'ftrace_arch_code_modify_post_process' - wrong count at exit
vim +/ftrace_arch_code_modify_prepare +15 arch/riscv/kernel/ftrace.c
13
14 #ifdef CONFIG_DYNAMIC_FTRACE
> 15 int ftrace_arch_code_modify_prepare(void) __acquires(&text_mutex)
16 {
17 mutex_lock(&text_mutex);
18 return 0;
19 }
20
> 21 int ftrace_arch_code_modify_post_process(void) __releases(&text_mutex)
22 {
23 mutex_unlock(&text_mutex);
24 return 0;
25 }
26
27 static int ftrace_check_current_call(unsigned long hook_pos,
28 unsigned int *expected)
29 {
30 unsigned int replaced[2];
31 unsigned int nops[2] = {NOP4, NOP4};
32
33 /* we expect nops at the hook position */
34 if (!expected)
35 expected = nops;
36
37 /*
38 * Read the text we want to modify;
39 * return must be -EFAULT on read error
40 */
41 if (probe_kernel_read(replaced, (void *)hook_pos, MCOUNT_INSN_SIZE))
42 return -EFAULT;
43
44 /*
45 * Make sure it is what we expect it to be;
46 * return must be -EINVAL on failed comparison
47 */
48 if (memcmp(expected, replaced, sizeof(replaced))) {
49 pr_err("%p: expected (%08x %08x) but got (%08x %08x)\n",
50 (void *)hook_pos, expected[0], expected[1], replaced[0],
51 replaced[1]);
52 return -EINVAL;
53 }
54
55 return 0;
56 }
57
58 static int __ftrace_modify_call(unsigned long hook_pos, unsigned long target,
59 bool enable)
60 {
61 unsigned int call[2];
62 unsigned int nops[2] = {NOP4, NOP4};
63
64 make_call(hook_pos, target, call);
65
66 /* Replace the auipc-jalr pair at once. Return -EPERM on write error. */
67 if (patch_text_nosync
68 ((void *)hook_pos, enable ? call : nops, MCOUNT_INSN_SIZE))
69 return -EPERM;
70
71 return 0;
72 }
73
74 int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr)
75 {
76 int ret = ftrace_check_current_call(rec->ip, NULL);
77
78 if (ret)
79 return ret;
80
81 return __ftrace_modify_call(rec->ip, addr, true);
82 }
83
84 int ftrace_make_nop(struct module *mod, struct dyn_ftrace *rec,
85 unsigned long addr)
86 {
87 unsigned int call[2];
88 int ret;
89
90 make_call(rec->ip, addr, call);
91 ret = ftrace_check_current_call(rec->ip, call);
92
93 if (ret)
94 return ret;
95
96 return __ftrace_modify_call(rec->ip, addr, false);
97 }
98
99 int ftrace_update_ftrace_func(ftrace_func_t func)
100 {
101 int ret = __ftrace_modify_call((unsigned long)&ftrace_call,
102 (unsigned long)func, true);
103 if (!ret) {
104 ret = __ftrace_modify_call((unsigned long)&ftrace_regs_call,
105 (unsigned long)func, true);
106 }
107
108 return ret;
109 }
110
111 int __init ftrace_dyn_arch_init(void)
112 {
113 return 0;
114 }
115 #endif
116
117 #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS
118 int ftrace_modify_call(struct dyn_ftrace *rec, unsigned long old_addr,
119 unsigned long addr)
120 {
121 unsigned int call[2];
122 int ret;
123
124 make_call(rec->ip, old_addr, call);
125 ret = ftrace_check_current_call(rec->ip, call);
126
127 if (ret)
128 return ret;
129
130 return __ftrace_modify_call(rec->ip, addr, true);
131 }
132 #endif
133
134 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
135 /*
136 * Most of this function is copied from arm64.
137 */
> 138 void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr,
139 unsigned long frame_pointer)
140 {
141 unsigned long return_hooker = (unsigned long)&return_to_handler;
142 unsigned long old;
143
144 if (unlikely(atomic_read(¤t->tracing_graph_pause)))
145 return;
146
147 /*
148 * We don't suffer access faults, so no extra fault-recovery assembly
149 * is needed here.
150 */
151 old = *parent;
152
153 if (!function_graph_enter(old, self_addr, frame_pointer, parent))
154 *parent = return_hooker;
155 }
156
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-rt-devel:linux-5.4.y-rt 140/325] kernel/locking/rtmutex.c:973 task_blocks_on_rt_mutex() warn: inconsistent indenting
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.4.y-rt
head: 5fbf1e70f11dba64cc05c9d85120a3aa7c67a4a2
commit: 17a62333ac5d375f3cd66b92b586480d1aeb1f48 [140/325] rtmutex: Handle the various new futex race conditions
config: i386-randconfig-m021-20200810 (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:
kernel/locking/rtmutex.c:973 task_blocks_on_rt_mutex() warn: inconsistent indenting
vim +973 kernel/locking/rtmutex.c
926
927 /*
928 * Task blocks on lock.
929 *
930 * Prepare waiter and propagate pi chain
931 *
932 * This must be called with lock->wait_lock held and interrupts disabled
933 */
934 static int task_blocks_on_rt_mutex(struct rt_mutex *lock,
935 struct rt_mutex_waiter *waiter,
936 struct task_struct *task,
937 enum rtmutex_chainwalk chwalk)
938 {
939 struct task_struct *owner = rt_mutex_owner(lock);
940 struct rt_mutex_waiter *top_waiter = waiter;
941 struct rt_mutex *next_lock;
942 int chain_walk = 0, res;
943
944 lockdep_assert_held(&lock->wait_lock);
945
946 /*
947 * Early deadlock detection. We really don't want the task to
948 * enqueue on itself just to untangle the mess later. It's not
949 * only an optimization. We drop the locks, so another waiter
950 * can come in before the chain walk detects the deadlock. So
951 * the other will detect the deadlock and return -EDEADLOCK,
952 * which is wrong, as the other waiter is not in a deadlock
953 * situation.
954 */
955 if (owner == task)
956 return -EDEADLK;
957
958 raw_spin_lock(&task->pi_lock);
959 /*
960 * In the case of futex requeue PI, this will be a proxy
961 * lock. The task will wake unaware that it is enqueueed on
962 * this lock. Avoid blocking on two locks and corrupting
963 * pi_blocked_on via the PI_WAKEUP_INPROGRESS
964 * flag. futex_wait_requeue_pi() sets this when it wakes up
965 * before requeue (due to a signal or timeout). Do not enqueue
966 * the task if PI_WAKEUP_INPROGRESS is set.
967 */
968 if (task != current && task->pi_blocked_on == PI_WAKEUP_INPROGRESS) {
969 raw_spin_unlock(&task->pi_lock);
970 return -EAGAIN;
971 }
972
> 973 BUG_ON(rt_mutex_real_waiter(task->pi_blocked_on));
974
975 waiter->task = task;
976 waiter->lock = lock;
977 waiter->prio = task->prio;
978 waiter->deadline = task->dl.deadline;
979
980 /* Get the top priority waiter on the lock */
981 if (rt_mutex_has_waiters(lock))
982 top_waiter = rt_mutex_top_waiter(lock);
983 rt_mutex_enqueue(lock, waiter);
984
985 task->pi_blocked_on = waiter;
986
987 raw_spin_unlock(&task->pi_lock);
988
989 if (!owner)
990 return 0;
991
992 raw_spin_lock(&owner->pi_lock);
993 if (waiter == rt_mutex_top_waiter(lock)) {
994 rt_mutex_dequeue_pi(owner, top_waiter);
995 rt_mutex_enqueue_pi(owner, waiter);
996
997 rt_mutex_adjust_prio(owner);
998 if (rt_mutex_real_waiter(owner->pi_blocked_on))
999 chain_walk = 1;
1000 } else if (rt_mutex_cond_detect_deadlock(waiter, chwalk)) {
1001 chain_walk = 1;
1002 }
1003
1004 /* Store the lock on which owner is blocked or NULL */
1005 next_lock = task_blocked_on_lock(owner);
1006
1007 raw_spin_unlock(&owner->pi_lock);
1008 /*
1009 * Even if full deadlock detection is on, if the owner is not
1010 * blocked itself, we can avoid finding this out in the chain
1011 * walk.
1012 */
1013 if (!chain_walk || !next_lock)
1014 return 0;
1015
1016 /*
1017 * The owner can't disappear while holding a lock,
1018 * so the owner struct is protected by wait_lock.
1019 * Gets dropped in rt_mutex_adjust_prio_chain()!
1020 */
1021 get_task_struct(owner);
1022
1023 raw_spin_unlock_irq(&lock->wait_lock);
1024
1025 res = rt_mutex_adjust_prio_chain(owner, chwalk, lock,
1026 next_lock, waiter, task);
1027
1028 raw_spin_lock_irq(&lock->wait_lock);
1029
1030 return res;
1031 }
1032
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH v7 08/11] bus: mhi: core: Introduce debugfs entries for MHI
by kernel test robot
Hi Bhaumik,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.8 next-20200810]
[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/Bhaumik-Bhatt/Introduce-features...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
config: arm64-randconfig-r001-20200810 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 3a34228bff6fdf45b50cb57cf5fb85d659eeb672)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
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 >>, old ones prefixed by <<):
WARNING: modpost: missing MODULE_LICENSE() in drivers/bus/mhi/core/main.o
WARNING: modpost: missing MODULE_LICENSE() in drivers/bus/mhi/core/pm.o
WARNING: modpost: missing MODULE_LICENSE() in drivers/bus/mhi/core/boot.o
>> ERROR: modpost: "mhi_ready_state_transition" [drivers/bus/mhi/core/boot.ko] undefined!
ERROR: modpost: "mhi_state_str" [drivers/bus/mhi/core/boot.ko] undefined!
ERROR: modpost: "to_mhi_pm_state_str" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_ee_str" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_read_reg" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_set_mhi_state" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_read_reg_field" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_get_exec_env" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_write_reg_field" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_write_reg" [drivers/bus/mhi/core/boot.ko] undefined!
>> ERROR: modpost: "mhi_free_bhie_table" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_write_db" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_get_mhi_state" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_init_dev_ctxt" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_deinit_dev_ctxt" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_deinit_free_irq" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_read_reg" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_init_irq_setup" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_state_str" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_destroy_device" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_write_reg" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "dev_state_tran_str" [drivers/bus/mhi/core/pm.ko] undefined!
>> ERROR: modpost: "mhi_create_devices" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_fw_load_handler" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_get_exec_env" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_ring_chan_db" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_ring_cmd_db" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "to_mhi_pm_state_str" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_ring_er_db" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_init_mmio" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_read_reg_field" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_write_reg_field" [drivers/bus/mhi/core/pm.ko] undefined!
ERROR: modpost: "mhi_init_chan_ctxt" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_deinit_chan_ctxt" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "to_mhi_pm_state_str" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_pm_m3_transition" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_pm_m0_transition" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_queue_state_transition" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_pm_m1_transition" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_pm_sys_err_handler" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_state_str" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_ee_str" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_tryset_pm_state" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_alloc_device" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_bus_type" [drivers/bus/mhi/core/main.ko] undefined!
ERROR: modpost: "mhi_reset_chan" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_prepare_channel" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_free_bhie_table" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_rddm_prepare" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_alloc_bhie_table" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_read_reg" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_unmap_single_no_bb" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_unmap_single_use_bb" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_map_single_no_bb" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_map_single_use_bb" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_ctrl_ev_task" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_ev_task" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_pm_st_worker" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_process_ctrl_ev_ring" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_process_data_event_ring" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_db_brstmode_disable" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_db_brstmode" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_write_reg_field" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_write_reg" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_read_reg_field" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_irq_handler" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_intvec_threaded_handler" [drivers/bus/mhi/core/init.ko] undefined!
ERROR: modpost: "mhi_intvec_handler" [drivers/bus/mhi/core/init.ko] undefined!
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month