lkml.org 
[lkml]   [2020]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdrivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: sparse: incorrect type in argument 1 (different address spaces)
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0dc589da873b58b70f4caf4b070fb0cf70fdd1dc
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: arc-randconfig-s032-20200714 (attached as .config)
compiler: arc-elf-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-41-g14e84ffc-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=arc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse: expected unsigned int [usertype] value
drivers/isdn/hardware/mISDN/hfcmulti.c:452:22: sparse: got restricted __le32 [usertype]
drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] value @@ got restricted __le16 [usertype] @@
drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse: expected unsigned short [usertype] value
drivers/isdn/hardware/mISDN/hfcmulti.c:457:22: sparse: got restricted __le16 [usertype]
drivers/isdn/hardware/mISDN/hfcmulti.c:472:17: sparse: sparse: cast from restricted __le32
drivers/isdn/hardware/mISDN/hfcmulti.c:478:17: sparse: sparse: cast from restricted __le16
drivers/isdn/hardware/mISDN/hfcmulti.c:496:32: sparse: sparse: cast to restricted __le32
drivers/isdn/hardware/mISDN/hfcmulti.c:501:32: sparse: sparse: cast to restricted __le16
drivers/isdn/hardware/mISDN/hfcmulti.c:518:25: sparse: sparse: cast to restricted __le32
drivers/isdn/hardware/mISDN/hfcmulti.c:524:25: sparse: sparse: cast to restricted __le16
>> drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void * @@
>> drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: expected void const [noderef] __iomem *addr
drivers/isdn/hardware/mISDN/hfcmulti.c:1092:26: sparse: got void *
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:490:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:477:15: sparse: sparse: cast to restricted __le16
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]
include/asm-generic/io.h:521:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] w @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:521:22: sparse: expected unsigned int [usertype] w
include/asm-generic/io.h:521:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:511:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] s @@ got restricted __le16 [usertype] @@
include/asm-generic/io.h:511:22: sparse: expected unsigned short [usertype] s
include/asm-generic/io.h:511:22: sparse: got restricted __le16 [usertype]

vim +1092 drivers/isdn/hardware/mISDN/hfcmulti.c

af69fb3a8ffa37 Karsten Keil 2008-07-27 1034
af69fb3a8ffa37 Karsten Keil 2008-07-27 1035
af69fb3a8ffa37 Karsten Keil 2008-07-27 1036 /*
af69fb3a8ffa37 Karsten Keil 2008-07-27 1037 * free hardware resources used by driver
af69fb3a8ffa37 Karsten Keil 2008-07-27 1038 */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1039 static void
af69fb3a8ffa37 Karsten Keil 2008-07-27 1040 release_io_hfcmulti(struct hfc_multi *hc)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1041 {
c31655fcf2c61f Hannes Eder 2008-12-12 1042 void __iomem *plx_acc_32;
c31655fcf2c61f Hannes Eder 2008-12-12 1043 u_int pv;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1044 u_long plx_flags;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1045
af69fb3a8ffa37 Karsten Keil 2008-07-27 1046 if (debug & DEBUG_HFCMULTI_INIT)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1047 printk(KERN_DEBUG "%s: entered\n", __func__);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1048
af69fb3a8ffa37 Karsten Keil 2008-07-27 1049 /* soft reset also masks all interrupts */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1050 hc->hw.r_cirm |= V_SRES;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1051 HFC_outb(hc, R_CIRM, hc->hw.r_cirm);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1052 udelay(1000);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1053 hc->hw.r_cirm &= ~V_SRES;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1054 HFC_outb(hc, R_CIRM, hc->hw.r_cirm);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1055 udelay(1000); /* instead of 'wait' that may cause locking */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1056
af69fb3a8ffa37 Karsten Keil 2008-07-27 1057 /* release Speech Design card, if PLX was initialized */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1058 if (test_bit(HFC_CHIP_PLXSD, &hc->chip) && hc->plx_membase) {
af69fb3a8ffa37 Karsten Keil 2008-07-27 1059 if (debug & DEBUG_HFCMULTI_PLXSD)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1060 printk(KERN_DEBUG "%s: release PLXSD card %d\n",
af69fb3a8ffa37 Karsten Keil 2008-07-27 1061 __func__, hc->id + 1);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1062 spin_lock_irqsave(&plx_lock, plx_flags);
c31655fcf2c61f Hannes Eder 2008-12-12 1063 plx_acc_32 = hc->plx_membase + PLX_GPIOC;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1064 writel(PLX_GPIOC_INIT, plx_acc_32);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1065 pv = readl(plx_acc_32);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1066 /* Termination off */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1067 pv &= ~PLX_TERM_ON;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1068 /* Disconnect the PCM */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1069 pv |= PLX_SLAVE_EN_N;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1070 pv &= ~PLX_MASTER_EN;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1071 pv &= ~PLX_SYNC_O_EN;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1072 /* Put the DSP in Reset */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1073 pv &= ~PLX_DSP_RES_N;
af69fb3a8ffa37 Karsten Keil 2008-07-27 1074 writel(pv, plx_acc_32);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1075 if (debug & DEBUG_HFCMULTI_INIT)
eac74af9b547e2 Karsten Keil 2009-05-22 1076 printk(KERN_DEBUG "%s: PCM off: PLX_GPIO=%x\n",
af69fb3a8ffa37 Karsten Keil 2008-07-27 1077 __func__, pv);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1078 spin_unlock_irqrestore(&plx_lock, plx_flags);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1079 }
af69fb3a8ffa37 Karsten Keil 2008-07-27 1080
af69fb3a8ffa37 Karsten Keil 2008-07-27 1081 /* disable memory mapped ports / io ports */
af69fb3a8ffa37 Karsten Keil 2008-07-27 1082 test_and_clear_bit(HFC_CHIP_PLXSD, &hc->chip); /* prevent resync */
db9bb63a1b5b65 Karsten Keil 2009-05-22 1083 if (hc->pci_dev)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1084 pci_write_config_word(hc->pci_dev, PCI_COMMAND, 0);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1085 if (hc->pci_membase)
c31655fcf2c61f Hannes Eder 2008-12-12 1086 iounmap(hc->pci_membase);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1087 if (hc->plx_membase)
c31655fcf2c61f Hannes Eder 2008-12-12 1088 iounmap(hc->plx_membase);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1089 if (hc->pci_iobase)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1090 release_region(hc->pci_iobase, 8);
db9bb63a1b5b65 Karsten Keil 2009-05-22 1091 if (hc->xhfc_membase)
db9bb63a1b5b65 Karsten Keil 2009-05-22 @1092 iounmap((void *)hc->xhfc_membase);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1093
af69fb3a8ffa37 Karsten Keil 2008-07-27 1094 if (hc->pci_dev) {
af69fb3a8ffa37 Karsten Keil 2008-07-27 1095 pci_disable_device(hc->pci_dev);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1096 pci_set_drvdata(hc->pci_dev, NULL);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1097 }
af69fb3a8ffa37 Karsten Keil 2008-07-27 1098 if (debug & DEBUG_HFCMULTI_INIT)
af69fb3a8ffa37 Karsten Keil 2008-07-27 1099 printk(KERN_DEBUG "%s: done\n", __func__);
af69fb3a8ffa37 Karsten Keil 2008-07-27 1100 }
af69fb3a8ffa37 Karsten Keil 2008-07-27 1101

:::::: The code at line 1092 was first introduced by commit
:::::: db9bb63a1b5b65df41d112a8c21adbbfc6a4ac08 mISDN: Add XHFC support for embedded Speech-Design board to hfcmulti

:::::: TO: Karsten Keil <keil@b1-systems.de>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2020-07-14 08:46    [W:0.041 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site