[frank-w-bpi-r2-4.14:5.9-r64 11/14] drivers/net/dsa/mt7530.c:1976:1: warning: no previous prototype for 'mt7531_sgmii_link_up_force'
by kernel test robot
tree: https://github.com/frank-w/BPI-R2-4.14 5.9-r64
head: cd8fe04edbda6f089442fcbdedad421a55e44b21
commit: ce71ea546d2c5bcd9d79dc19dc5a94d5d55b55de [11/14] net: dsa: mt7530: Add the support of MT7531 switch
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout ce71ea546d2c5bcd9d79dc19dc5a94d5d55b55de
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/dsa/mt7530.c:1976:1: warning: no previous prototype for 'mt7531_sgmii_link_up_force' [-Wmissing-prototypes]
1976 | mt7531_sgmii_link_up_force(struct dsa_switch *ds, int port,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/mt7530.c:2081:6: warning: no previous prototype for 'mt7531_sgmii_restart_an' [-Wmissing-prototypes]
2081 | void mt7531_sgmii_restart_an(struct dsa_switch *ds, int port)
| ^~~~~~~~~~~~~~~~~~~~~~~
# https://github.com/frank-w/BPI-R2-4.14/commit/ce71ea546d2c5bcd9d79dc19dc5...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.9-r64
git checkout ce71ea546d2c5bcd9d79dc19dc5a94d5d55b55de
vim +/mt7531_sgmii_link_up_force +1976 drivers/net/dsa/mt7530.c
1974
1975 void
> 1976 mt7531_sgmii_link_up_force(struct dsa_switch *ds, int port,
1977 unsigned int mode, phy_interface_t interface,
1978 int speed, int duplex)
1979 {
1980 struct mt7530_priv *priv = ds->priv;
1981 unsigned int val;
1982
1983 /* For adjusting speed and duplex of SGMII force mode. */
1984 if (interface != PHY_INTERFACE_MODE_SGMII ||
1985 phylink_autoneg_inband(mode))
1986 return;
1987
1988 /* SGMII force mode setting */
1989 val = mt7530_read(priv, MT7531_SGMII_MODE(port));
1990 val &= ~MT7531_SGMII_IF_MODE_MASK;
1991
1992 switch (speed) {
1993 case SPEED_10:
1994 val |= MT7531_SGMII_FORCE_SPEED_10;
1995 break;
1996 case SPEED_100:
1997 val |= MT7531_SGMII_FORCE_SPEED_100;
1998 break;
1999 case SPEED_1000:
2000 val |= MT7531_SGMII_FORCE_SPEED_1000;
2001 break;
2002 }
2003
2004 /* MT7531 SGMII 1G force mode can only work in full duplex mode,
2005 * no matter MT7531_SGMII_FORCE_HALF_DUPLEX is set or not.
2006 */
2007 if ((speed == SPEED_10 || speed == SPEED_100) &&
2008 duplex != DUPLEX_FULL)
2009 val |= MT7531_SGMII_FORCE_HALF_DUPLEX;
2010
2011 mt7530_write(priv, MT7531_SGMII_MODE(port), val);
2012 }
2013
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/media/i2c/max9286.c:1033:6: error: 'struct gpio_chip' has no member named 'of_node'
by kernel test robot
Hi Kieran,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: 66d8c9d2422da21ed41f75c03ba0685987b65fe0 media: i2c: Add MAX9286 driver
date: 4 weeks ago
config: nios2-randconfig-p002-20200818 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 66d8c9d2422da21ed41f75c03ba0685987b65fe0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/media/i2c/max9286.c: In function 'max9286_register_gpio':
>> drivers/media/i2c/max9286.c:1033:6: error: 'struct gpio_chip' has no member named 'of_node'
1033 | gpio->of_node = dev->of_node;
| ^~
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 66d8c9d2422da21ed41f75c03ba0685987b65fe0
vim +1033 drivers/media/i2c/max9286.c
1022
1023 static int max9286_register_gpio(struct max9286_priv *priv)
1024 {
1025 struct device *dev = &priv->client->dev;
1026 struct gpio_chip *gpio = &priv->gpio;
1027 int ret;
1028
1029 /* Configure the GPIO */
1030 gpio->label = dev_name(dev);
1031 gpio->parent = dev;
1032 gpio->owner = THIS_MODULE;
> 1033 gpio->of_node = dev->of_node;
1034 gpio->ngpio = 2;
1035 gpio->base = -1;
1036 gpio->set = max9286_gpio_set;
1037 gpio->get = max9286_gpio_get;
1038 gpio->can_sleep = true;
1039
1040 /* GPIO values default to high */
1041 priv->gpio_state = BIT(0) | BIT(1);
1042
1043 ret = devm_gpiochip_add_data(dev, gpio, priv);
1044 if (ret)
1045 dev_err(dev, "Unable to create gpio_chip\n");
1046
1047 return ret;
1048 }
1049
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[ti:ti-rt-linux-5.4.y 3569/9558] drivers/phy/cadence/phy-cadence-torrent.c:595:9: warning: Identical condition 'ret', second condition is always false
by kernel test robot
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.4.y
head: 32ec4c2fa3f011cd238179516e0b459a7109c2d3
commit: 565198c2c4ef2ebea9215501288966460bc335fd [3569/9558] phy: cadence-torrent: Implement PHY configure APIs
compiler: m68k-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> drivers/phy/cadence/phy-cadence-torrent.c:595:9: warning: Identical condition 'ret', second condition is always false [identicalConditionAfterEarlyExit]
return ret;
^
drivers/phy/cadence/phy-cadence-torrent.c:591:6: note: first condition
if (ret)
^
drivers/phy/cadence/phy-cadence-torrent.c:595:9: note: second condition
return ret;
^
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-rt-linux-5.4.y
git checkout 565198c2c4ef2ebea9215501288966460bc335fd
vim +/ret +595 drivers/phy/cadence/phy-cadence-torrent.c
561
562 /* Configure link rate as required. */
563 static int cdns_torrent_dp_set_rate(struct cdns_torrent_phy *cdns_phy,
564 struct phy_configure_opts_dp *dp)
565 {
566 u32 ret;
567
568 ret = cdns_torrent_dp_set_power_state(cdns_phy, dp->lanes,
569 POWERSTATE_A3);
570 if (ret)
571 return ret;
572 ret = cdns_torrent_dp_set_pll_en(cdns_phy, dp, false);
573 if (ret)
574 return ret;
575 ndelay(200);
576
577 ret = cdns_torrent_dp_configure_rate(cdns_phy, dp);
578 if (ret)
579 return ret;
580 ndelay(200);
581
582 ret = cdns_torrent_dp_set_pll_en(cdns_phy, dp, true);
583 if (ret)
584 return ret;
585 ret = cdns_torrent_dp_set_power_state(cdns_phy, dp->lanes,
586 POWERSTATE_A2);
587 if (ret)
588 return ret;
589 ret = cdns_torrent_dp_set_power_state(cdns_phy, dp->lanes,
590 POWERSTATE_A0);
591 if (ret)
592 return ret;
593 ndelay(900);
594
> 595 return ret;
596 }
597
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/vhost/net.c:1010 vhost_net_rx_peek_head_len() error: double unlocked 'sk->sk_receive_queue.lock' (orig line 1002)
by kernel test robot
Hi Jason,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 449dc8c97089a6e09fb2dac4d92b1b7ac0eb7c1e
commit: 20c384f1ea1a0bc7320bc445c72dd02d2970d594 vhost: refine vhost and vringh kconfig
date: 4 months ago
config: arm-randconfig-m031-20200808 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
drivers/vhost/net.c:1010 vhost_net_rx_peek_head_len() error: double unlocked 'sk->sk_receive_queue.lock' (orig line 1002)
drivers/vhost/net.c:1010 vhost_net_rx_peek_head_len() error: double unlocked 'sk->sk_receive_queue.lock' (orig line 1002)
Old smatch warnings:
drivers/vhost/net.c:1528 vhost_net_set_backend() warn: passing a valid pointer to 'PTR_ERR'
vim +1010 drivers/vhost/net.c
8dd014adfea6f17 David Stevens 2010-07-27 994
be294a51adfc1e1 Toshiaki Makita 2018-07-03 995 static int vhost_net_rx_peek_head_len(struct vhost_net *net, struct sock *sk,
be294a51adfc1e1 Toshiaki Makita 2018-07-03 996 bool *busyloop_intr)
030881372460654 Jason Wang 2016-03-04 997 {
28b9b33b983f4de Toshiaki Makita 2018-07-03 998 struct vhost_net_virtqueue *rnvq = &net->vqs[VHOST_NET_VQ_RX];
28b9b33b983f4de Toshiaki Makita 2018-07-03 999 struct vhost_net_virtqueue *tnvq = &net->vqs[VHOST_NET_VQ_TX];
6369fec5be0aad4 Toshiaki Makita 2018-07-03 1000 struct vhost_virtqueue *rvq = &rnvq->vq;
28b9b33b983f4de Toshiaki Makita 2018-07-03 1001 struct vhost_virtqueue *tvq = &tnvq->vq;
28b9b33b983f4de Toshiaki Makita 2018-07-03 @1002 int len = peek_head_len(rnvq, sk);
030881372460654 Jason Wang 2016-03-04 1003
dc151282bbdaed0 Tonghao Zhang 2018-09-25 1004 if (!len && rvq->busyloop_timeout) {
f5a4941aa6d190e Jason Wang 2018-05-29 1005 /* Flush batched heads first */
09c3248938c3e3b Jason Wang 2018-07-20 1006 vhost_net_signal_used(rnvq);
030881372460654 Jason Wang 2016-03-04 1007 /* Both tx vq and rx socket were polled here */
dc151282bbdaed0 Tonghao Zhang 2018-09-25 1008 vhost_net_busy_poll(net, rvq, tvq, busyloop_intr, true);
030881372460654 Jason Wang 2016-03-04 1009
28b9b33b983f4de Toshiaki Makita 2018-07-03 @1010 len = peek_head_len(rnvq, sk);
030881372460654 Jason Wang 2016-03-04 1011 }
030881372460654 Jason Wang 2016-03-04 1012
030881372460654 Jason Wang 2016-03-04 1013 return len;
030881372460654 Jason Wang 2016-03-04 1014 }
030881372460654 Jason Wang 2016-03-04 1015
:::::: The code at line 1010 was first introduced by commit
:::::: 28b9b33b983f4de3ce9e660e3efe1e08adabf779 vhost_net: Rename local variables in vhost_net_rx_peek_head_len
:::::: TO: Toshiaki Makita <makita.toshiaki(a)lab.ntt.co.jp>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/dma/xilinx/xilinx_dpdma.c:1172 xilinx_dpdma_synchronize() error: double unlocked 'chan->vchan.lock' (orig line 1170)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c636eef2ee3696f261a35f34989842701a107895
commit: 7cbb0c63de3fc218fd06ecfedb477772a4d12f76 dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver
date: 4 weeks ago
config: h8300-randconfig-m031-20200811 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
drivers/dma/xilinx/xilinx_dpdma.c:1172 xilinx_dpdma_synchronize() error: double unlocked 'chan->vchan.lock' (orig line 1170)
vim +1172 drivers/dma/xilinx/xilinx_dpdma.c
1140
1141 /**
1142 * xilinx_dpdma_synchronize - Synchronize callback execution
1143 * @dchan: DMA channel
1144 *
1145 * Synchronizing callback execution ensures that all previously issued
1146 * transfers have completed and all associated callbacks have been called and
1147 * have returned.
1148 *
1149 * This function waits for the DMA channel to stop. It assumes it has been
1150 * paused by a previous call to dmaengine_terminate_async(), and that no new
1151 * pending descriptors have been issued with dma_async_issue_pending(). The
1152 * behaviour is undefined otherwise.
1153 */
1154 static void xilinx_dpdma_synchronize(struct dma_chan *dchan)
1155 {
1156 struct xilinx_dpdma_chan *chan = to_xilinx_chan(dchan);
1157 unsigned long flags;
1158
1159 xilinx_dpdma_chan_stop(chan);
1160
1161 spin_lock_irqsave(&chan->vchan.lock, flags);
1162 if (chan->desc.pending) {
1163 vchan_terminate_vdesc(&chan->desc.pending->vdesc);
1164 chan->desc.pending = NULL;
1165 }
1166 if (chan->desc.active) {
1167 vchan_terminate_vdesc(&chan->desc.active->vdesc);
1168 chan->desc.active = NULL;
1169 }
> 1170 spin_unlock_irqrestore(&chan->vchan.lock, flags);
1171
> 1172 vchan_synchronize(&chan->vchan);
1173 }
1174
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/md/dm-ioctl.c:1783:36: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 9 weeks ago
config: sh-randconfig-s031-20200818 (attached as .config)
compiler: sh4-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-180-g49f7e13a-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=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/md/dm-ioctl.c:1783:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
drivers/md/dm-ioctl.c:1783:36: sparse: expected void *addr
>> drivers/md/dm-ioctl.c:1783:36: sparse: got void [noderef] __user *__cl_addr
drivers/md/dm-ioctl.c:1798:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
drivers/md/dm-ioctl.c:1798:28: sparse: expected void *addr
drivers/md/dm-ioctl.c:1798:28: sparse: got void [noderef] __user *__cl_addr
--
drivers/hid/hidraw.c:389:37: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/hid/hidraw.c:389:37: sparse: expected int const *__gu_addr
drivers/hid/hidraw.c:389:37: sparse: got int [noderef] __user *
>> drivers/hid/hidraw.c:389:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/hid/hidraw.c:389:37: sparse: expected void const volatile [noderef] __user *
drivers/hid/hidraw.c:389:37: sparse: got int const *__gu_addr
--
kernel/bpf/cgroup.c:1402:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
kernel/bpf/cgroup.c:1402:21: sparse: expected int const *__gu_addr
kernel/bpf/cgroup.c:1402:21: sparse: got int [noderef] __user *optlen
>> kernel/bpf/cgroup.c:1402:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> kernel/bpf/cgroup.c:1402:21: sparse: expected void const volatile [noderef] __user *
kernel/bpf/cgroup.c:1402:21: sparse: got int const *__gu_addr
--
fs/ext4/ioctl.c:609:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/ext4/ioctl.c:609:13: sparse: expected unsigned int const *__gu_addr
fs/ext4/ioctl.c:609:13: sparse: got unsigned int [noderef] [usertype] __user *
>> fs/ext4/ioctl.c:609:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> fs/ext4/ioctl.c:609:13: sparse: expected void const volatile [noderef] __user *
fs/ext4/ioctl.c:609:13: sparse: got unsigned int const *__gu_addr
fs/ext4/ioctl.c:833:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext4/ioctl.c:833:21: sparse: expected int const *__gu_addr
fs/ext4/ioctl.c:833:21: sparse: got int [noderef] __user *
>> fs/ext4/ioctl.c:833:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
fs/ext4/ioctl.c:833:21: sparse: expected void const volatile [noderef] __user *
fs/ext4/ioctl.c:833:21: sparse: got int const *__gu_addr
fs/ext4/ioctl.c:884:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext4/ioctl.c:884:21: sparse: expected int const *__gu_addr
fs/ext4/ioctl.c:884:21: sparse: got int [noderef] __user *
fs/ext4/ioctl.c:884:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
fs/ext4/ioctl.c:884:21: sparse: expected void const volatile [noderef] __user *
fs/ext4/ioctl.c:884:21: sparse: got int const *__gu_addr
fs/ext4/ioctl.c:917:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/ext4/ioctl.c:917:21: sparse: expected unsigned int const *__gu_addr
fs/ext4/ioctl.c:917:21: sparse: got unsigned int [noderef] [usertype] __user *
fs/ext4/ioctl.c:917:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
fs/ext4/ioctl.c:917:21: sparse: expected void const volatile [noderef] __user *
fs/ext4/ioctl.c:917:21: sparse: got unsigned int const *__gu_addr
--
fs/ext2/ioctl.c:47:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext2/ioctl.c:47:21: sparse: expected int const *__gu_addr
fs/ext2/ioctl.c:47:21: sparse: got int [noderef] __user *
>> fs/ext2/ioctl.c:47:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> fs/ext2/ioctl.c:47:21: sparse: expected void const volatile [noderef] __user *
fs/ext2/ioctl.c:47:21: sparse: got int const *__gu_addr
fs/ext2/ioctl.c:92:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext2/ioctl.c:92:21: sparse: expected int const *__gu_addr
fs/ext2/ioctl.c:92:21: sparse: got int [noderef] __user *
fs/ext2/ioctl.c:92:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
fs/ext2/ioctl.c:92:21: sparse: expected void const volatile [noderef] __user *
fs/ext2/ioctl.c:92:21: sparse: got int const *__gu_addr
fs/ext2/ioctl.c:123:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ext2/ioctl.c:123:21: sparse: expected int const *__gu_addr
fs/ext2/ioctl.c:123:21: sparse: got int [noderef] __user *
fs/ext2/ioctl.c:123:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
fs/ext2/ioctl.c:123:21: sparse: expected void const volatile [noderef] __user *
fs/ext2/ioctl.c:123:21: sparse: got int const *__gu_addr
--
fs/fat/file.c:44:15: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user *user_attr @@
fs/fat/file.c:44:15: sparse: expected unsigned int const *__gu_addr
fs/fat/file.c:44:15: sparse: got unsigned int [noderef] [usertype] __user *user_attr
>> fs/fat/file.c:44:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> fs/fat/file.c:44:15: sparse: expected void const volatile [noderef] __user *
fs/fat/file.c:44:15: sparse: got unsigned int const *__gu_addr
--
fs/jfs/ioctl.c:83:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/jfs/ioctl.c:83:21: sparse: expected int const *__gu_addr
fs/jfs/ioctl.c:83:21: sparse: got int [noderef] __user *
>> fs/jfs/ioctl.c:83:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> fs/jfs/ioctl.c:83:21: sparse: expected void const volatile [noderef] __user *
fs/jfs/ioctl.c:83:21: sparse: got int const *__gu_addr
--
fs/xfs/xfs_ioctl.c:2249:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
fs/xfs/xfs_ioctl.c:2249:21: sparse: expected unsigned int const *__gu_addr
fs/xfs/xfs_ioctl.c:2249:21: sparse: got unsigned int [noderef] [usertype] __user *
>> fs/xfs/xfs_ioctl.c:2249:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> fs/xfs/xfs_ioctl.c:2249:21: sparse: expected void const volatile [noderef] __user *
fs/xfs/xfs_ioctl.c:2249:21: sparse: got unsigned int const *__gu_addr
--
fs/nilfs2/ioctl.c:138:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/nilfs2/ioctl.c:138:13: sparse: expected int const *__gu_addr
fs/nilfs2/ioctl.c:138:13: sparse: got int [noderef] __user *
>> fs/nilfs2/ioctl.c:138:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> fs/nilfs2/ioctl.c:138:13: sparse: expected void const volatile [noderef] __user *
fs/nilfs2/ioctl.c:138:13: sparse: got int const *__gu_addr
--
net/bluetooth/hci_core.c:2090:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short [noderef] [usertype] __user * @@
net/bluetooth/hci_core.c:2090:13: sparse: expected unsigned short const *__gu_addr
net/bluetooth/hci_core.c:2090:13: sparse: got unsigned short [noderef] [usertype] __user *
>> net/bluetooth/hci_core.c:2090:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned short const *__gu_addr @@
>> net/bluetooth/hci_core.c:2090:13: sparse: expected void const volatile [noderef] __user *
net/bluetooth/hci_core.c:2090:13: sparse: got unsigned short const *__gu_addr
--
drivers/input/mousedev.c:683:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
drivers/input/mousedev.c:683:21: sparse: expected char const *__gu_addr
drivers/input/mousedev.c:683:21: sparse: got char const [noderef] __user *
>> drivers/input/mousedev.c:683:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
>> drivers/input/mousedev.c:683:21: sparse: expected void const volatile [noderef] __user *
drivers/input/mousedev.c:683:21: sparse: got char const *__gu_addr
--
drivers/input/joydev.c:528:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed int const *__gu_addr @@ got signed int [noderef] [usertype] __user * @@
drivers/input/joydev.c:528:24: sparse: expected signed int const *__gu_addr
drivers/input/joydev.c:528:24: sparse: got signed int [noderef] [usertype] __user *
>> drivers/input/joydev.c:528:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed int const *__gu_addr @@
>> drivers/input/joydev.c:528:24: sparse: expected void const volatile [noderef] __user *
drivers/input/joydev.c:528:24: sparse: got signed int const *__gu_addr
drivers/input/joydev.c:680:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected long const *__gu_addr @@ got long [noderef] __user * @@
drivers/input/joydev.c:680:26: sparse: expected long const *__gu_addr
drivers/input/joydev.c:680:26: sparse: got long [noderef] __user *
>> drivers/input/joydev.c:680:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got long const *__gu_addr @@
drivers/input/joydev.c:680:26: sparse: expected void const volatile [noderef] __user *
drivers/input/joydev.c:680:26: sparse: got long const *__gu_addr
--
drivers/input/evdev.c:854:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/input/evdev.c:854:13: sparse: expected int const *__gu_addr
drivers/input/evdev.c:854:13: sparse: got int [noderef] __user *
>> drivers/input/evdev.c:854:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> drivers/input/evdev.c:854:13: sparse: expected void const volatile [noderef] __user *
drivers/input/evdev.c:854:13: sparse: got int const *__gu_addr
drivers/input/evdev.c:928:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/input/evdev.c:928:13: sparse: expected int const *__gu_addr
drivers/input/evdev.c:928:13: sparse: got int [noderef] __user *
drivers/input/evdev.c:928:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/input/evdev.c:928:13: sparse: expected void const volatile [noderef] __user *
drivers/input/evdev.c:928:13: sparse: got int const *__gu_addr
>> drivers/input/evdev.c:1023:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __user *__cl_addr @@
drivers/input/evdev.c:1023:21: sparse: expected void *addr
>> drivers/input/evdev.c:1023:21: sparse: got void [noderef] __user *__cl_addr
drivers/input/evdev.c:1066:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *ip @@
drivers/input/evdev.c:1066:21: sparse: expected int const *__gu_addr
drivers/input/evdev.c:1066:21: sparse: got int [noderef] __user *ip
drivers/input/evdev.c:1066:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/input/evdev.c:1066:21: sparse: expected void const volatile [noderef] __user *
drivers/input/evdev.c:1066:21: sparse: got int const *__gu_addr
drivers/input/evdev.c:1068:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/input/evdev.c:1068:21: sparse: expected int const *__gu_addr
drivers/input/evdev.c:1068:21: sparse: got int [noderef] __user *
drivers/input/evdev.c:1068:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
drivers/input/evdev.c:1068:21: sparse: expected void const volatile [noderef] __user *
drivers/input/evdev.c:1068:21: sparse: got int const *__gu_addr
--
net/phonet/datagram.c:47:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
net/phonet/datagram.c:47:29: sparse: expected unsigned int const *__gu_addr
net/phonet/datagram.c:47:29: sparse: got unsigned int [noderef] [usertype] __user *
>> net/phonet/datagram.c:47:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
>> net/phonet/datagram.c:47:29: sparse: expected void const volatile [noderef] __user *
net/phonet/datagram.c:47:29: sparse: got unsigned int const *__gu_addr
--
drivers/spi/spidev.c:396:34: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char [noderef] [usertype] __user * @@
drivers/spi/spidev.c:396:34: sparse: expected unsigned char const *__gu_addr
drivers/spi/spidev.c:396:34: sparse: got unsigned char [noderef] [usertype] __user *
>> drivers/spi/spidev.c:396:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned char const *__gu_addr @@
>> drivers/spi/spidev.c:396:34: sparse: expected void const volatile [noderef] __user *
drivers/spi/spidev.c:396:34: sparse: got unsigned char const *__gu_addr
drivers/spi/spidev.c:398:34: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/spi/spidev.c:398:34: sparse: expected unsigned int const *__gu_addr
drivers/spi/spidev.c:398:34: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/spi/spidev.c:398:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/spi/spidev.c:398:34: sparse: expected void const volatile [noderef] __user *
drivers/spi/spidev.c:398:34: sparse: got unsigned int const *__gu_addr
drivers/spi/spidev.c:422:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char [noderef] [usertype] __user * @@
drivers/spi/spidev.c:422:26: sparse: expected unsigned char const *__gu_addr
drivers/spi/spidev.c:422:26: sparse: got unsigned char [noderef] [usertype] __user *
drivers/spi/spidev.c:422:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned char const *__gu_addr @@
drivers/spi/spidev.c:422:26: sparse: expected void const volatile [noderef] __user *
drivers/spi/spidev.c:422:26: sparse: got unsigned char const *__gu_addr
drivers/spi/spidev.c:439:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char [noderef] [usertype] __user * @@
drivers/spi/spidev.c:439:26: sparse: expected unsigned char const *__gu_addr
drivers/spi/spidev.c:439:26: sparse: got unsigned char [noderef] [usertype] __user *
drivers/spi/spidev.c:439:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned char const *__gu_addr @@
drivers/spi/spidev.c:439:26: sparse: expected void const volatile [noderef] __user *
drivers/spi/spidev.c:439:26: sparse: got unsigned char const *__gu_addr
drivers/spi/spidev.c:452:26: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/spi/spidev.c:452:26: sparse: expected unsigned int const *__gu_addr
drivers/spi/spidev.c:452:26: sparse: got unsigned int [noderef] [usertype] __user *
drivers/spi/spidev.c:452:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int const *__gu_addr @@
drivers/spi/spidev.c:452:26: sparse: expected void const volatile [noderef] __user *
drivers/spi/spidev.c:452:26: sparse: got unsigned int const *__gu_addr
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
vim +1783 drivers/md/dm-ioctl.c
9c5091f2eeeffe Mikulas Patocka 2012-12-21 1747
02cde50b7ea745 Mikulas Patocka 2013-03-01 1748 static int copy_params(struct dm_ioctl __user *user, struct dm_ioctl *param_kernel,
800a7340ab7dd6 Wenwen Wang 2018-10-03 1749 int ioctl_flags, struct dm_ioctl **param, int *param_flags)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1750 {
02cde50b7ea745 Mikulas Patocka 2013-03-01 1751 struct dm_ioctl *dmi;
f868120549fc16 Milan Broz 2011-03-24 1752 int secure_data;
6080758d441acd Bart Van Assche 2016-11-18 1753 const size_t minimum_data_size = offsetof(struct dm_ioctl, data);
d224e938189771 Michal Hocko 2017-05-08 1754 unsigned noio_flag;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1755
02cde50b7ea745 Mikulas Patocka 2013-03-01 1756 if (copy_from_user(param_kernel, user, minimum_data_size))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1757 return -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1758
02cde50b7ea745 Mikulas Patocka 2013-03-01 1759 if (param_kernel->data_size < minimum_data_size)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1760 return -EINVAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1761
02cde50b7ea745 Mikulas Patocka 2013-03-01 1762 secure_data = param_kernel->flags & DM_SECURE_DATA_FLAG;
f868120549fc16 Milan Broz 2011-03-24 1763
9c5091f2eeeffe Mikulas Patocka 2012-12-21 1764 *param_flags = secure_data ? DM_WIPE_BUFFER : 0;
9c5091f2eeeffe Mikulas Patocka 2012-12-21 1765
02cde50b7ea745 Mikulas Patocka 2013-03-01 1766 if (ioctl_flags & IOCTL_FLAGS_NO_PARAMS) {
02cde50b7ea745 Mikulas Patocka 2013-03-01 1767 dmi = param_kernel;
02cde50b7ea745 Mikulas Patocka 2013-03-01 1768 dmi->data_size = minimum_data_size;
02cde50b7ea745 Mikulas Patocka 2013-03-01 1769 goto data_copied;
02cde50b7ea745 Mikulas Patocka 2013-03-01 1770 }
02cde50b7ea745 Mikulas Patocka 2013-03-01 1771
5023e5cf58e1da Mikulas Patocka 2012-12-21 1772 /*
8c1e2162f27b31 Junaid Shahid 2017-05-18 1773 * Use __GFP_HIGH to avoid low memory issues when a device is
8c1e2162f27b31 Junaid Shahid 2017-05-18 1774 * suspended and the ioctl is needed to resume it.
9c5091f2eeeffe Mikulas Patocka 2012-12-21 1775 * Use kmalloc() rather than vmalloc() when we can.
5023e5cf58e1da Mikulas Patocka 2012-12-21 1776 */
9c5091f2eeeffe Mikulas Patocka 2012-12-21 1777 dmi = NULL;
1c0e883e86ece3 Mikulas Patocka 2013-07-10 1778 noio_flag = memalloc_noio_save();
8c1e2162f27b31 Junaid Shahid 2017-05-18 1779 dmi = kvmalloc(param_kernel->data_size, GFP_KERNEL | __GFP_HIGH);
1c0e883e86ece3 Mikulas Patocka 2013-07-10 1780 memalloc_noio_restore(noio_flag);
9c5091f2eeeffe Mikulas Patocka 2012-12-21 1781
f868120549fc16 Milan Broz 2011-03-24 1782 if (!dmi) {
02cde50b7ea745 Mikulas Patocka 2013-03-01 @1783 if (secure_data && clear_user(user, param_kernel->data_size))
f868120549fc16 Milan Broz 2011-03-24 1784 return -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1785 return -ENOMEM;
f868120549fc16 Milan Broz 2011-03-24 1786 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1787
028b39e314dd8b Bart Van Assche 2016-06-28 1788 *param_flags |= DM_PARAMS_MALLOC;
028b39e314dd8b Bart Van Assche 2016-06-28 1789
800a7340ab7dd6 Wenwen Wang 2018-10-03 1790 /* Copy from param_kernel (which was already copied from user) */
800a7340ab7dd6 Wenwen Wang 2018-10-03 1791 memcpy(dmi, param_kernel, minimum_data_size);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1792
800a7340ab7dd6 Wenwen Wang 2018-10-03 1793 if (copy_from_user(&dmi->data, (char __user *)user + minimum_data_size,
800a7340ab7dd6 Wenwen Wang 2018-10-03 1794 param_kernel->data_size - minimum_data_size))
e910d7ebecd1aa Alasdair G Kergon 2012-12-21 1795 goto bad;
800a7340ab7dd6 Wenwen Wang 2018-10-03 1796 data_copied:
f868120549fc16 Milan Broz 2011-03-24 1797 /* Wipe the user buffer so we do not return it to userspace */
02cde50b7ea745 Mikulas Patocka 2013-03-01 1798 if (secure_data && clear_user(user, param_kernel->data_size))
f868120549fc16 Milan Broz 2011-03-24 1799 goto bad;
f868120549fc16 Milan Broz 2011-03-24 1800
^1da177e4c3f41 Linus Torvalds 2005-04-16 1801 *param = dmi;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1802 return 0;
6bb43b5d1f54fb Milan Broz 2011-03-24 1803
6bb43b5d1f54fb Milan Broz 2011-03-24 1804 bad:
02cde50b7ea745 Mikulas Patocka 2013-03-01 1805 free_params(dmi, param_kernel->data_size, *param_flags);
9c5091f2eeeffe Mikulas Patocka 2012-12-21 1806
6bb43b5d1f54fb Milan Broz 2011-03-24 1807 return -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1808 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1809
:::::: The code at line 1783 was first introduced by commit
:::::: 02cde50b7ea74557d32ff778c73809322445ccd2 dm ioctl: optimize functions without variable params
:::::: TO: Mikulas Patocka <mpatocka(a)redhat.com>
:::::: CC: Alasdair G Kergon <agk(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/net/arcnet/com20020_cs.c:296:17: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 9 weeks ago
config: riscv-randconfig-s032-20200818 (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-180-g49f7e13a-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/arcnet/com20020_cs.c:296:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/arcnet/com20020_cs.c:296:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/arcnet/com20020_cs.c:296:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/arcnet/com20020_cs.c:296:17: sparse: got void *
drivers/net/arcnet/com20020_cs.c:298:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/arcnet/com20020_cs.c:298:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/arcnet/com20020_cs.c:298:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/arcnet/com20020_cs.c:298:17: sparse: got void *
--
>> drivers/net/ethernet/3com/3c589_cs.c:280:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3com/3c589_cs.c:280:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/3com/3c589_cs.c:280:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:280:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:288:40: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/3com/3c589_cs.c:288:40: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/3com/3c589_cs.c:288:40: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/3com/3c589_cs.c:288:40: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/3com/3c589_cs.c:305:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:305:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:305:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:305:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:306:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3com/3c589_cs.c:306:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/3com/3c589_cs.c:306:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:306:16: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:383:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:383:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:383:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:383:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:386:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:386:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:386:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:386:22: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:388:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:388:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:388:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:388:16: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:445:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:445:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:445:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:445:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:446:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:446:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:446:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:446:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:447:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:447:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:447:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:447:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:450:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:450:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:450:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:450:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:452:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:452:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:452:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:452:17: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:457:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:457:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:457:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:457:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:458:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:458:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:458:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:458:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:460:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:460:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:460:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:460:17: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:461:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:461:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:461:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:461:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:462:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:462:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:462:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:462:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:465:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:465:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:465:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:465:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:468:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:468:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:468:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:468:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:469:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:469:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:469:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:469:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:470:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:470:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:470:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:470:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:472:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:472:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:472:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:472:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:474:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:474:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:474:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:474:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:476:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:476:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:476:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:476:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:691:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:691:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:691:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:691:14: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:692:10: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:692:10: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:692:10: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:692:10: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:714:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:714:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:714:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:714:9: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:715:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:715:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:715:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c589_cs.c:715:17: sparse: got void *
drivers/net/ethernet/3com/3c589_cs.c:722:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c589_cs.c:722:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c589_cs.c:722:17: sparse: expected void volatile [noderef] __iomem *addr
--
drivers/net/ethernet/3com/3c574_cs.c:350:40: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/3com/3c574_cs.c:350:40: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/3com/3c574_cs.c:350:40: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/3com/3c574_cs.c:350:40: sparse: sparse: cast to restricted __le16
>> drivers/net/ethernet/3com/3c574_cs.c:354:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3com/3c574_cs.c:354:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/3com/3c574_cs.c:354:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:354:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:370:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:370:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:370:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:370:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:371:23: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3com/3c574_cs.c:371:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/3com/3c574_cs.c:371:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:371:23: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:372:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:372:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:372:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:372:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:374:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:374:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:374:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:374:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:375:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:375:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:375:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:375:26: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:386:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:386:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:386:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:386:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:388:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:388:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:388:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:388:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:392:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:392:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:392:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:392:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:394:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:394:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:394:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:394:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:537:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:537:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:537:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:537:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:538:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:538:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:538:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:538:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:555:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:555:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:555:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:555:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:556:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:556:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:556:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:556:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:560:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:560:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:560:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:560:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:561:44: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:561:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:561:44: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:561:44: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:562:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:562:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:562:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:562:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:579:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:579:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:579:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:579:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:580:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:580:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:580:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:580:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:584:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:584:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:584:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:584:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:585:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:585:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:585:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:585:17: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:506:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:506:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:506:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:506:9: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:509:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:509:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:509:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:509:22: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:512:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:512:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:512:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:512:16: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:493:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:493:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:493:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:493:9: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:495:23: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:495:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:495:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:495:23: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:601:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:601:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:601:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3com/3c574_cs.c:601:9: sparse: got void *
drivers/net/ethernet/3com/3c574_cs.c:602:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/3com/3c574_cs.c:602:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/3com/3c574_cs.c:602:9: sparse: expected void volatile [noderef] __iomem *addr
--
>> drivers/net/ethernet/amd/nmclan_cs.c:785:3: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/amd/nmclan_cs.c:785:3: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/amd/nmclan_cs.c:785:3: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:785:3: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:806:3: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:806:3: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:806:3: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:806:3: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:883:5: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:883:5: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:883:5: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:883:5: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:888:7: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:888:7: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:888:7: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:888:7: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:936:19: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/amd/nmclan_cs.c:936:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/ethernet/amd/nmclan_cs.c:936:19: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:936:19: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:937:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:937:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:937:19: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:937:19: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:949:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:949:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:949:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:949:14: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:964:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:964:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:964:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:964:16: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:967:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:967:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:967:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:967:9: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:971:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:971:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:971:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:971:15: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:976:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:976:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:976:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:976:18: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:1066:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:1066:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:1066:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:1066:21: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:1070:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:1070:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:1070:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:1070:17: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:1094:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:1094:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:1094:35: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:1094:35: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:1096:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:1096:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:1096:35: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:1096:35: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:1108:44: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:1108:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:1108:44: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:1108:44: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:1115:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:1115:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:1115:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:1115:9: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:1123:5: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:1123:5: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:1123:5: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:1123:5: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:489:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:489:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:489:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:489:14: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:493:7: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:493:7: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:493:7: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:493:7: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:494:14: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:494:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:494:14: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:494:14: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:495:7: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:495:7: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:495:7: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:495:7: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:516:7: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:516:7: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:516:7: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:516:7: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:520:7: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:520:7: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:520:7: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:520:7: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:521:7: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:521:7: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:521:7: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:521:7: sparse: got void *
drivers/net/ethernet/amd/nmclan_cs.c:522:7: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/amd/nmclan_cs.c:522:7: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/amd/nmclan_cs.c:522:7: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/amd/nmclan_cs.c:522:7: sparse: got void *
--
>> drivers/pcmcia/i82092.c:197:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/pcmcia/i82092.c:197:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/pcmcia/i82092.c:197:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:197:9: sparse: got void *
drivers/pcmcia/i82092.c:198:15: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/pcmcia/i82092.c:198:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/pcmcia/i82092.c:198:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:198:15: sparse: got void *
drivers/pcmcia/i82092.c:211:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:211:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:211:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:211:9: sparse: got void *
drivers/pcmcia/i82092.c:212:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:212:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:212:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:212:9: sparse: got void *
drivers/pcmcia/i82092.c:225:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:225:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:225:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:225:9: sparse: got void *
drivers/pcmcia/i82092.c:226:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:226:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:226:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:226:15: sparse: got void *
drivers/pcmcia/i82092.c:228:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:228:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:228:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:228:9: sparse: got void *
drivers/pcmcia/i82092.c:229:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:229:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:229:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:229:9: sparse: got void *
drivers/pcmcia/i82092.c:244:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:244:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:244:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:244:9: sparse: got void *
drivers/pcmcia/i82092.c:245:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:245:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:245:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:245:15: sparse: got void *
drivers/pcmcia/i82092.c:247:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:247:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:247:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:247:9: sparse: got void *
drivers/pcmcia/i82092.c:248:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:248:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:248:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:248:9: sparse: got void *
drivers/pcmcia/i82092.c:263:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:263:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:263:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:263:9: sparse: got void *
drivers/pcmcia/i82092.c:265:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:265:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:265:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:265:9: sparse: got void *
drivers/pcmcia/i82092.c:269:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:269:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:269:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:269:9: sparse: got void *
drivers/pcmcia/i82092.c:271:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/i82092.c:271:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/i82092.c:271:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/i82092.c:271:9: sparse: got void *
--
>> drivers/staging/comedi/drivers/adv_pci1724.c:80:18: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/adv_pci1724.c:80:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/adv_pci1724.c:80:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/adv_pci1724.c:80:18: sparse: got void *
drivers/staging/comedi/drivers/adv_pci1724.c:100:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/adv_pci1724.c:100:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/adv_pci1724.c:100:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/adv_pci1724.c:100:9: sparse: got void *
drivers/staging/comedi/drivers/adv_pci1724.c:109:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/adv_pci1724.c:109:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/adv_pci1724.c:109:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/adv_pci1724.c:109:17: sparse: got void *
drivers/staging/comedi/drivers/adv_pci1724.c:131:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/adv_pci1724.c:131:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/adv_pci1724.c:131:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/adv_pci1724.c:131:20: sparse: got void *
--
>> drivers/staging/comedi/drivers/pcl818.c:329:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/pcl818.c:329:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/pcl818.c:329:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:329:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:330:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:330:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:330:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:330:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:337:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:337:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:337:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:337:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:372:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:372:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:372:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:372:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:378:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:378:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:378:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:378:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:387:15: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/pcl818.c:387:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/pcl818.c:387:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:387:15: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:388:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:388:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:388:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:388:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:402:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:402:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:402:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:402:15: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:403:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:403:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:403:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:403:16: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:418:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:418:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:418:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:418:18: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:507:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:507:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:507:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:507:18: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:629:13: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:629:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:629:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:629:13: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:734:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:734:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:734:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:734:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:745:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:745:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:745:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:745:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:749:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:749:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:749:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:749:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:785:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:785:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:785:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:785:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:790:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:790:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:790:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:790:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:791:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:791:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:791:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:791:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:792:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:792:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:792:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:792:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:810:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:810:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:810:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:810:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:841:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:841:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:841:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:841:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:843:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:843:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:843:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:843:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:856:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:856:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:856:19: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:856:19: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:857:20: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:857:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:857:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:857:20: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:868:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:868:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:868:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:868:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:869:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:869:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:869:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:869:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:884:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:884:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:884:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:884:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:885:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:885:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:885:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:885:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:886:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:886:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:886:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:886:17: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:890:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:890:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:890:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/pcl818.c:890:9: sparse: got void *
drivers/staging/comedi/drivers/pcl818.c:896:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/pcl818.c:896:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/pcl818.c:896:9: sparse: expected void volatile [noderef] __iomem *addr
--
>> drivers/staging/comedi/drivers/cb_pcimdda.c:106:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/cb_pcimdda.c:106:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/cb_pcimdda.c:106:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/cb_pcimdda.c:106:17: sparse: got void *
drivers/staging/comedi/drivers/cb_pcimdda.c:107:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/cb_pcimdda.c:107:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/cb_pcimdda.c:107:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/cb_pcimdda.c:107:17: sparse: got void *
drivers/staging/comedi/drivers/cb_pcimdda.c:122:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/cb_pcimdda.c:122:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/cb_pcimdda.c:122:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/cb_pcimdda.c:122:9: sparse: got void *
--
>> drivers/staging/comedi/drivers/mpc624.c:122:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/mpc624.c:122:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/mpc624.c:122:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:122:17: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:127:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/mpc624.c:127:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/mpc624.c:127:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:127:17: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:131:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/mpc624.c:131:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/mpc624.c:131:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:131:17: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:136:29: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/staging/comedi/drivers/mpc624.c:136:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/staging/comedi/drivers/mpc624.c:136:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:136:29: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:195:18: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/mpc624.c:195:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/mpc624.c:195:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:195:18: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:213:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/mpc624.c:213:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/mpc624.c:213:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:213:9: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:217:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/mpc624.c:217:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/mpc624.c:217:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:217:17: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:219:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/mpc624.c:219:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/mpc624.c:219:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:219:17: sparse: got void *
drivers/staging/comedi/drivers/mpc624.c:221:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/staging/comedi/drivers/mpc624.c:221:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/staging/comedi/drivers/mpc624.c:221:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/staging/comedi/drivers/mpc624.c:221:17: sparse: got void *
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
vim +/__iomem +296 drivers/net/arcnet/com20020_cs.c
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 286
fba395eee7d3f3 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2006-03-31 287 static int com20020_resume(struct pcmcia_device *link)
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 288 {
2dfd2533e9e700 drivers/net/arcnet/com20020_cs.c Himangi Saraogi 2014-08-09 289 struct com20020_dev *info = link->priv;
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 290 struct net_device *dev = info->dev;
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 291
e2d4096365e06b drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2006-03-02 292 if (link->open) {
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 293 int ioaddr = dev->base_addr;
4cf1653aa90c63 drivers/net/pcmcia/com20020_cs.c Wang Chen 2008-11-12 294 struct arcnet_local *lp = netdev_priv(dev);
01a1d5ac4e1a58 drivers/net/arcnet/com20020_cs.c Joe Perches 2015-05-05 295
0fec65130b9f11 drivers/net/arcnet/com20020_cs.c Joe Perches 2015-05-05 @296 arcnet_outb(lp->config | 0x80, ioaddr, COM20020_REG_W_CONFIG);
0fec65130b9f11 drivers/net/arcnet/com20020_cs.c Joe Perches 2015-05-05 297 udelay(5);
0fec65130b9f11 drivers/net/arcnet/com20020_cs.c Joe Perches 2015-05-05 298 arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 299 }
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 300
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 301 return 0;
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 302 }
98e4c28b7ec390 drivers/net/pcmcia/com20020_cs.c Dominik Brodowski 2005-11-14 303
:::::: The code at line 296 was first introduced by commit
:::::: 0fec65130b9f11a73d74f47025491f97f82ba070 arcnet: com20020: Use arcnet_<I/O> routines
:::::: TO: Joe Perches <joe(a)perches.com>
:::::: CC: Michael Grzeschik <m.grzeschik(a)pengutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [RFC PATCH 1/2] sparc64: remove mm_cpumask clearing to fix kthread_use_mm race
by kernel test robot
Hi Nicholas,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on sparc/master]
[also build test ERROR on powerpc/next sparc-next/master v5.9-rc1 next-20200817]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/sparc64-remove-m...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc.git master
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/sparc/kernel/smp_64.c: In function 'smp_flush_tlb_mm':
>> arch/sparc/kernel/smp_64.c:1053:6: error: unused variable 'cpu' [-Werror=unused-variable]
1053 | int cpu = get_cpu();
| ^~~
arch/sparc/kernel/smp_64.c: In function 'smp_flush_tlb_pending':
arch/sparc/kernel/smp_64.c:1081:6: error: unused variable 'cpu' [-Werror=unused-variable]
1081 | int cpu = get_cpu();
| ^~~
arch/sparc/kernel/smp_64.c: In function 'smp_flush_tlb_page':
arch/sparc/kernel/smp_64.c:1098:6: error: unused variable 'cpu' [-Werror=unused-variable]
1098 | int cpu = get_cpu();
| ^~~
cc1: all warnings being treated as errors
# https://github.com/0day-ci/linux/commit/9af8f1e046bb13612593bd8fcd3f98347...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nicholas-Piggin/sparc64-remove-mm_cpumask-clearing-to-fix-kthread_use_mm-race/20200818-113600
git checkout 9af8f1e046bb13612593bd8fcd3f98347223203b
vim +/cpu +1053 arch/sparc/kernel/smp_64.c
916ca14aaf12a71 arch/sparc/kernel/smp_64.c David S. Miller 2012-10-16 1035
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1036 /* We know that the window frames of the user have been flushed
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1037 * to the stack before we get here because all callers of us
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1038 * are flush_tlb_*() routines, and these run after flush_cache_*()
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1039 * which performs the flushw.
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1040 *
9af8f1e046bb136 arch/sparc/kernel/smp_64.c Nicholas Piggin 2020-08-18 1041 * mm->cpu_vm_mask is a bit mask of which cpus an address
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1042 * space has (potentially) executed on, this is the heuristic
9af8f1e046bb136 arch/sparc/kernel/smp_64.c Nicholas Piggin 2020-08-18 1043 * we use to limit cross calls.
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1044 */
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1045
62dbec78be652c2 arch/sparc64/kernel/smp.c David S. Miller 2005-11-07 1046 /* This currently is only used by the hugetlb arch pre-fault
62dbec78be652c2 arch/sparc64/kernel/smp.c David S. Miller 2005-11-07 1047 * hook on UltraSPARC-III+ and later when changing the pagesize
62dbec78be652c2 arch/sparc64/kernel/smp.c David S. Miller 2005-11-07 1048 * bits of the context register for an address space.
62dbec78be652c2 arch/sparc64/kernel/smp.c David S. Miller 2005-11-07 1049 */
62dbec78be652c2 arch/sparc64/kernel/smp.c David S. Miller 2005-11-07 1050 void smp_flush_tlb_mm(struct mm_struct *mm)
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1051 {
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1052 u32 ctx = CTX_HWBITS(mm->context);
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 @1053 int cpu = get_cpu();
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1054
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1055 smp_cross_call_masked(&xcall_flush_tlb_mm,
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1056 ctx, 0, 0,
81f1adf01224f5c arch/sparc/kernel/smp_64.c Rusty Russell 2009-03-16 1057 mm_cpumask(mm));
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1058
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1059 __flush_tlb_mm(ctx, SECONDARY_CONTEXT);
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1060
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1061 put_cpu();
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1062 }
^1da177e4c3f415 arch/sparc64/kernel/smp.c Linus Torvalds 2005-04-16 1063
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
arch/mips/include/asm/fpu.h:79 __enable_fpu() warn: ignoring unreachable code.
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: c9b0299034665d594e56ee343f28033d1b24de6d MIPS: Use fallthrough for arch/mips
date: 3 months ago
config: mips-randconfig-m031-20200818 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
arch/mips/include/asm/fpu.h:79 __enable_fpu() warn: ignoring unreachable code.
arch/mips/include/asm/fpu.h:79 __enable_fpu() warn: ignoring unreachable code.
Old smatch warnings:
arch/mips/kernel/traps.c:1914 nmi_exception_handler() warn: ignoring unreachable code.
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c9b0299034665d594e56ee343f28033d1b24de6d
vim +79 arch/mips/include/asm/fpu.h
53
54 static inline int __enable_fpu(enum fpu_mode mode)
55 {
56 int fr;
57
58 switch (mode) {
59 case FPU_AS_IS:
60 /* just enable the FPU in its current mode */
61 set_c0_status(ST0_CU1);
62 enable_fpu_hazard();
63 return 0;
64
65 case FPU_HYBRID:
66 if (!cpu_has_fre)
67 return SIGFPE;
68
69 /* set FRE */
70 set_c0_config5(MIPS_CONF5_FRE);
71 goto fr_common;
72
73 case FPU_64BIT:
74 #if !(defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) \
75 || defined(CONFIG_64BIT))
76 /* we only have a 32-bit FPU */
77 return SIGFPE;
78 #endif
> 79 fallthrough;
80 case FPU_32BIT:
81 if (cpu_has_fre) {
82 /* clear FRE */
83 clear_c0_config5(MIPS_CONF5_FRE);
84 }
85 fr_common:
86 /* set CU1 & change FR appropriately */
87 fr = (int)mode & FPU_FR_MASK;
88 change_c0_status(ST0_CU1 | ST0_FR, ST0_CU1 | (fr ? ST0_FR : 0));
89 enable_fpu_hazard();
90
91 /* check FR has the desired value */
92 if (!!(read_c0_status() & ST0_FR) == !!fr)
93 return 0;
94
95 /* unsupported FR value */
96 __disable_fpu();
97 return SIGFPE;
98
99 default:
100 BUG();
101 }
102
103 return SIGFPE;
104 }
105
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month