[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202007312101.XCe8XQSp%lkp@intel.com>
Date: Fri, 31 Jul 2020 21:18:16 +0800
From: kernel test robot <lkp@...el.com>
To: Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: sparse: cast removes
address space '__iomem' of expression
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d8b9faec54ae4bc2fff68bcd0befa93ace8256ce
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 6 weeks ago
config: riscv-randconfig-s032-20200731 (attached as .config)
compiler: riscv32-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-115-g5fc204f2-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@...el.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:312:23: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:313:34: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:429:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:433:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:444:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:492:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:499:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:507:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:508:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:519:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:522:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:529:21: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:563:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:568:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:569:32: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:581:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:608:13: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:614:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:615:14: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:621:9: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:694:23: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:738:26: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:745:25: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:762:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:765:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:766:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4000_cs.c:767:17: sparse: got void *
drivers/char/pcmcia/cm4000_cs.c:770:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4000_cs.c:770:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4000_cs.c:770:17: sparse: expected void volatile [noderef] __iomem *addr
--
>> drivers/char/pcmcia/synclink_cs.c:340:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/synclink_cs.c:340:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/synclink_cs.c:340:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:340:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:343:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:350:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:353:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3279:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3262:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3561:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3563:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3575:13: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3577:13: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3580:18: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3594:15: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3606:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3609:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3611:17: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3339:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3340:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3341:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3342:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3347:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3359:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3383:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/synclink_cs.c:3023:9: sparse: got void *
drivers/char/pcmcia/synclink_cs.c:3069:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/synclink_cs.c:3069:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/synclink_cs.c:3069:9: sparse: expected void volatile [noderef] __iomem *addr
--
>> drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:110:28: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:144:22: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:178:9: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:192:22: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:252:33: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:279:35: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:311:14: sparse: got void *
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/char/pcmcia/cm4040_cs.c:399:17: sparse: got void *
--
>> drivers/rtc/rtc-bq4802.c:32:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/rtc/rtc-bq4802.c:32:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/rtc/rtc-bq4802.c:32:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/rtc/rtc-bq4802.c:32:16: sparse: got void *
drivers/rtc/rtc-bq4802.c:37:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/rtc/rtc-bq4802.c:37:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/rtc/rtc-bq4802.c:37:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/rtc/rtc-bq4802.c:37:9: sparse: got void *
vim +/__iomem +312 drivers/char/pcmcia/cm4000_cs.c
c1986ee9bea3d8 Harald Welte 2005-11-13 303
ecb8a8472f6d31 Olof Johansson 2008-02-04 304 static unsigned short io_read_num_rec_bytes(unsigned int iobase,
ecb8a8472f6d31 Olof Johansson 2008-02-04 305 unsigned short *s)
c1986ee9bea3d8 Harald Welte 2005-11-13 306 {
c1986ee9bea3d8 Harald Welte 2005-11-13 307 unsigned short tmp;
c1986ee9bea3d8 Harald Welte 2005-11-13 308
c1986ee9bea3d8 Harald Welte 2005-11-13 309 tmp = *s = 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 310 do {
c1986ee9bea3d8 Harald Welte 2005-11-13 311 *s = tmp;
c1986ee9bea3d8 Harald Welte 2005-11-13 @312 tmp = inb(REG_NUM_BYTES(iobase)) |
c1986ee9bea3d8 Harald Welte 2005-11-13 313 (inb(REG_FLAGS0(iobase)) & 4 ? 0x100 : 0);
c1986ee9bea3d8 Harald Welte 2005-11-13 314 } while (tmp != *s);
c1986ee9bea3d8 Harald Welte 2005-11-13 315
c1986ee9bea3d8 Harald Welte 2005-11-13 316 return *s;
c1986ee9bea3d8 Harald Welte 2005-11-13 317 }
c1986ee9bea3d8 Harald Welte 2005-11-13 318
c1986ee9bea3d8 Harald Welte 2005-11-13 319 static int parse_atr(struct cm4000_dev *dev)
c1986ee9bea3d8 Harald Welte 2005-11-13 320 {
c1986ee9bea3d8 Harald Welte 2005-11-13 321 unsigned char any_t1, any_t0;
c1986ee9bea3d8 Harald Welte 2005-11-13 322 unsigned char ch, ifno;
c1986ee9bea3d8 Harald Welte 2005-11-13 323 int ix, done;
c1986ee9bea3d8 Harald Welte 2005-11-13 324
c1986ee9bea3d8 Harald Welte 2005-11-13 325 DEBUGP(3, dev, "-> parse_atr: dev->atr_len = %i\n", dev->atr_len);
c1986ee9bea3d8 Harald Welte 2005-11-13 326
c1986ee9bea3d8 Harald Welte 2005-11-13 327 if (dev->atr_len < 3) {
c1986ee9bea3d8 Harald Welte 2005-11-13 328 DEBUGP(5, dev, "parse_atr: atr_len < 3\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 329 return 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 330 }
c1986ee9bea3d8 Harald Welte 2005-11-13 331
c1986ee9bea3d8 Harald Welte 2005-11-13 332 if (dev->atr[0] == 0x3f)
c1986ee9bea3d8 Harald Welte 2005-11-13 333 set_bit(IS_INVREV, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 334 else
c1986ee9bea3d8 Harald Welte 2005-11-13 335 clear_bit(IS_INVREV, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 336 ix = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 337 ifno = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 338 ch = dev->atr[1];
c1986ee9bea3d8 Harald Welte 2005-11-13 339 dev->proto = 0; /* XXX PROTO */
c1986ee9bea3d8 Harald Welte 2005-11-13 340 any_t1 = any_t0 = done = 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 341 dev->ta1 = 0x11; /* defaults to 9600 baud */
c1986ee9bea3d8 Harald Welte 2005-11-13 342 do {
c1986ee9bea3d8 Harald Welte 2005-11-13 343 if (ifno == 1 && (ch & 0x10)) {
c1986ee9bea3d8 Harald Welte 2005-11-13 344 /* read first interface byte and TA1 is present */
c1986ee9bea3d8 Harald Welte 2005-11-13 345 dev->ta1 = dev->atr[2];
c1986ee9bea3d8 Harald Welte 2005-11-13 346 DEBUGP(5, dev, "Card says FiDi is 0x%.2x\n", dev->ta1);
c1986ee9bea3d8 Harald Welte 2005-11-13 347 ifno++;
c1986ee9bea3d8 Harald Welte 2005-11-13 348 } else if ((ifno == 2) && (ch & 0x10)) { /* TA(2) */
c1986ee9bea3d8 Harald Welte 2005-11-13 349 dev->ta1 = 0x11;
c1986ee9bea3d8 Harald Welte 2005-11-13 350 ifno++;
c1986ee9bea3d8 Harald Welte 2005-11-13 351 }
c1986ee9bea3d8 Harald Welte 2005-11-13 352
c1986ee9bea3d8 Harald Welte 2005-11-13 353 DEBUGP(5, dev, "Yi=%.2x\n", ch & 0xf0);
c1986ee9bea3d8 Harald Welte 2005-11-13 354 ix += ((ch & 0x10) >> 4) /* no of int.face chars */
c1986ee9bea3d8 Harald Welte 2005-11-13 355 +((ch & 0x20) >> 5)
c1986ee9bea3d8 Harald Welte 2005-11-13 356 + ((ch & 0x40) >> 6)
c1986ee9bea3d8 Harald Welte 2005-11-13 357 + ((ch & 0x80) >> 7);
c1986ee9bea3d8 Harald Welte 2005-11-13 358 /* ATRLENCK(dev,ix); */
c1986ee9bea3d8 Harald Welte 2005-11-13 359 if (ch & 0x80) { /* TDi */
c1986ee9bea3d8 Harald Welte 2005-11-13 360 ch = dev->atr[ix];
c1986ee9bea3d8 Harald Welte 2005-11-13 361 if ((ch & 0x0f)) {
c1986ee9bea3d8 Harald Welte 2005-11-13 362 any_t1 = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 363 DEBUGP(5, dev, "card is capable of T=1\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 364 } else {
c1986ee9bea3d8 Harald Welte 2005-11-13 365 any_t0 = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 366 DEBUGP(5, dev, "card is capable of T=0\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 367 }
c1986ee9bea3d8 Harald Welte 2005-11-13 368 } else
c1986ee9bea3d8 Harald Welte 2005-11-13 369 done = 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 370 } while (!done);
c1986ee9bea3d8 Harald Welte 2005-11-13 371
c1986ee9bea3d8 Harald Welte 2005-11-13 372 DEBUGP(5, dev, "ix=%d noHist=%d any_t1=%d\n",
c1986ee9bea3d8 Harald Welte 2005-11-13 373 ix, dev->atr[1] & 15, any_t1);
c1986ee9bea3d8 Harald Welte 2005-11-13 374 if (ix + 1 + (dev->atr[1] & 0x0f) + any_t1 != dev->atr_len) {
c1986ee9bea3d8 Harald Welte 2005-11-13 375 DEBUGP(5, dev, "length error\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 376 return 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 377 }
c1986ee9bea3d8 Harald Welte 2005-11-13 378 if (any_t0)
c1986ee9bea3d8 Harald Welte 2005-11-13 379 set_bit(IS_ANY_T0, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 380
c1986ee9bea3d8 Harald Welte 2005-11-13 381 if (any_t1) { /* compute csum */
c1986ee9bea3d8 Harald Welte 2005-11-13 382 dev->atr_csum = 0;
c1986ee9bea3d8 Harald Welte 2005-11-13 383 #ifdef ATR_CSUM
c1986ee9bea3d8 Harald Welte 2005-11-13 384 for (i = 1; i < dev->atr_len; i++)
c1986ee9bea3d8 Harald Welte 2005-11-13 385 dev->atr_csum ^= dev->atr[i];
c1986ee9bea3d8 Harald Welte 2005-11-13 386 if (dev->atr_csum) {
c1986ee9bea3d8 Harald Welte 2005-11-13 387 set_bit(IS_BAD_CSUM, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 388 DEBUGP(5, dev, "bad checksum\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 389 goto return_0;
c1986ee9bea3d8 Harald Welte 2005-11-13 390 }
c1986ee9bea3d8 Harald Welte 2005-11-13 391 #endif
c1986ee9bea3d8 Harald Welte 2005-11-13 392 if (any_t0 == 0)
c1986ee9bea3d8 Harald Welte 2005-11-13 393 dev->proto = 1; /* XXX PROTO */
c1986ee9bea3d8 Harald Welte 2005-11-13 394 set_bit(IS_ANY_T1, &dev->flags);
c1986ee9bea3d8 Harald Welte 2005-11-13 395 }
c1986ee9bea3d8 Harald Welte 2005-11-13 396
c1986ee9bea3d8 Harald Welte 2005-11-13 397 return 1;
c1986ee9bea3d8 Harald Welte 2005-11-13 398 }
c1986ee9bea3d8 Harald Welte 2005-11-13 399
c1986ee9bea3d8 Harald Welte 2005-11-13 400 struct card_fixup {
c1986ee9bea3d8 Harald Welte 2005-11-13 401 char atr[12];
c1986ee9bea3d8 Harald Welte 2005-11-13 402 u_int8_t atr_len;
c1986ee9bea3d8 Harald Welte 2005-11-13 403 u_int8_t stopbits;
c1986ee9bea3d8 Harald Welte 2005-11-13 404 };
c1986ee9bea3d8 Harald Welte 2005-11-13 405
c1986ee9bea3d8 Harald Welte 2005-11-13 406 static struct card_fixup card_fixups[] = {
c1986ee9bea3d8 Harald Welte 2005-11-13 407 { /* ACOS */
c1986ee9bea3d8 Harald Welte 2005-11-13 408 .atr = { 0x3b, 0xb3, 0x11, 0x00, 0x00, 0x41, 0x01 },
c1986ee9bea3d8 Harald Welte 2005-11-13 409 .atr_len = 7,
c1986ee9bea3d8 Harald Welte 2005-11-13 410 .stopbits = 0x03,
c1986ee9bea3d8 Harald Welte 2005-11-13 411 },
c1986ee9bea3d8 Harald Welte 2005-11-13 412 { /* Motorola */
c1986ee9bea3d8 Harald Welte 2005-11-13 413 .atr = {0x3b, 0x76, 0x13, 0x00, 0x00, 0x80, 0x62, 0x07,
c1986ee9bea3d8 Harald Welte 2005-11-13 414 0x41, 0x81, 0x81 },
c1986ee9bea3d8 Harald Welte 2005-11-13 415 .atr_len = 11,
c1986ee9bea3d8 Harald Welte 2005-11-13 416 .stopbits = 0x04,
c1986ee9bea3d8 Harald Welte 2005-11-13 417 },
c1986ee9bea3d8 Harald Welte 2005-11-13 418 };
c1986ee9bea3d8 Harald Welte 2005-11-13 419
c1986ee9bea3d8 Harald Welte 2005-11-13 420 static void set_cardparameter(struct cm4000_dev *dev)
c1986ee9bea3d8 Harald Welte 2005-11-13 421 {
c1986ee9bea3d8 Harald Welte 2005-11-13 422 int i;
9a017a910346af Dominik Brodowski 2010-07-24 423 unsigned int iobase = dev->p_dev->resource[0]->start;
c1986ee9bea3d8 Harald Welte 2005-11-13 424 u_int8_t stopbits = 0x02; /* ISO default */
c1986ee9bea3d8 Harald Welte 2005-11-13 425
c1986ee9bea3d8 Harald Welte 2005-11-13 426 DEBUGP(3, dev, "-> set_cardparameter\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 427
c1986ee9bea3d8 Harald Welte 2005-11-13 428 dev->flags1 = dev->flags1 | (((dev->baudv - 1) & 0x0100) >> 8);
c1986ee9bea3d8 Harald Welte 2005-11-13 @429 xoutb(dev->flags1, REG_FLAGS1(iobase));
c1986ee9bea3d8 Harald Welte 2005-11-13 430 DEBUGP(5, dev, "flags1 = 0x%02x\n", dev->flags1);
c1986ee9bea3d8 Harald Welte 2005-11-13 431
c1986ee9bea3d8 Harald Welte 2005-11-13 432 /* set baudrate */
c1986ee9bea3d8 Harald Welte 2005-11-13 433 xoutb((unsigned char)((dev->baudv - 1) & 0xFF), REG_BAUDRATE(iobase));
c1986ee9bea3d8 Harald Welte 2005-11-13 434
c1986ee9bea3d8 Harald Welte 2005-11-13 435 DEBUGP(5, dev, "baudv = %i -> write 0x%02x\n", dev->baudv,
c1986ee9bea3d8 Harald Welte 2005-11-13 436 ((dev->baudv - 1) & 0xFF));
c1986ee9bea3d8 Harald Welte 2005-11-13 437
c1986ee9bea3d8 Harald Welte 2005-11-13 438 /* set stopbits */
c1986ee9bea3d8 Harald Welte 2005-11-13 439 for (i = 0; i < ARRAY_SIZE(card_fixups); i++) {
c1986ee9bea3d8 Harald Welte 2005-11-13 440 if (!memcmp(dev->atr, card_fixups[i].atr,
c1986ee9bea3d8 Harald Welte 2005-11-13 441 card_fixups[i].atr_len))
c1986ee9bea3d8 Harald Welte 2005-11-13 442 stopbits = card_fixups[i].stopbits;
c1986ee9bea3d8 Harald Welte 2005-11-13 443 }
c1986ee9bea3d8 Harald Welte 2005-11-13 444 xoutb(stopbits, REG_STOPBITS(iobase));
c1986ee9bea3d8 Harald Welte 2005-11-13 445
c1986ee9bea3d8 Harald Welte 2005-11-13 446 DEBUGP(3, dev, "<- set_cardparameter\n");
c1986ee9bea3d8 Harald Welte 2005-11-13 447 }
c1986ee9bea3d8 Harald Welte 2005-11-13 448
:::::: The code at line 312 was first introduced by commit
:::::: c1986ee9bea3d880bcf0d3f1a31e055778f306c7 [PATCH] New Omnikey Cardman 4000 driver
:::::: TO: Harald Welte <laforge@...monks.org>
:::::: CC: Linus Torvalds <torvalds@...osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (28745 bytes)
Powered by blists - more mailing lists