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 <l...@intel.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 <lafo...@gnumonks.org> :::::: CC: Linus Torvalds <torva...@g5.osdl.org> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip