drivers/net/ethernet/freescale/ucc_geth.c:1838:50: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Fri Feb 26 2021 - 04:19:12 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2c87f7a38f930ef6f6a7bdd04aeb82ce3971b54b
commit: 9b0dfef4755301d9f7fcef63e2f64d23649bebb4 ethernet: ucc_geth: simplify rx/tx allocations
date: 5 weeks ago
config: powerpc64-randconfig-s032-20210226 (attached as .config)
compiler: powerpc-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.3-229-g60c1f270-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9b0dfef4755301d9f7fcef63e2f64d23649bebb4
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 9b0dfef4755301d9f7fcef63e2f64d23649bebb4
# 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=powerpc64

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


"sparse warnings: (new ones prefixed by >>)"
drivers/net/ethernet/freescale/ucc_geth.c:243:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:243:21: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:243:21: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:404:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:404:22: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:404:22: sparse: got restricted __be16 [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:405:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:405:22: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:405:22: sparse: got restricted __be16 [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:406:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:406:22: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:406:22: sparse: got restricted __be16 [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:448:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __be16 [noderef] [usertype] __iomem *reg @@ got unsigned short [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:448:23: sparse: expected restricted __be16 [noderef] [usertype] __iomem *reg
drivers/net/ethernet/freescale/ucc_geth.c:448:23: sparse: got unsigned short [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1316:26: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1316:26: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1316:26: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1343:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1343:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1343:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:1390:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:1390:22: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1390:22: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:1401:36: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:1401:36: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1401:36: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:1570:38: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1570:38: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1570:38: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1635:35: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1635:35: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1635:35: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1823:41: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1823:41: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1823:41: sparse: got restricted __be32 [noderef] __iomem *
>> drivers/net/ethernet/freescale/ucc_geth.c:1838:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1838:50: sparse: expected void const *
drivers/net/ethernet/freescale/ucc_geth.c:1838:50: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1863:33: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1863:33: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1863:33: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1875:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1875:42: sparse: expected void const *
drivers/net/ethernet/freescale/ucc_geth.c:1875:42: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2012:29: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:2012:29: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2012:29: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:2015:29: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:2015:29: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2015:29: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
>> drivers/net/ethernet/freescale/ucc_geth.c:2159:40: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem * @@ got void * @@
drivers/net/ethernet/freescale/ucc_geth.c:2159:40: sparse: expected unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2159:40: sparse: got void *
>> drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *s @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: expected void *s
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2187:37: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2187:37: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2187:37: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2220:40: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem * @@ got void * @@
drivers/net/ethernet/freescale/ucc_geth.c:2220:40: sparse: expected unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2220:40: sparse: got void *
drivers/net/ethernet/freescale/ucc_geth.c:2247:37: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2247:37: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2247:37: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2309:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2309:32: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2309:32: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2315:57: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2315:57: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2315:57: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2327:35: sparse: sparse: incorrect type in argument 6 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2327:35: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2327:35: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2375:37: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2375:37: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2375:37: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2453:64: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile *address @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2453:64: sparse: expected void volatile *address
drivers/net/ethernet/freescale/ucc_geth.c:2453:64: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2456:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile *address @@ got unsigned char [noderef] [usertype] __iomem *[assigned] endOfRing @@
drivers/net/ethernet/freescale/ucc_geth.c:2456:45: sparse: expected void volatile *address
drivers/net/ethernet/freescale/ucc_geth.c:2456:45: sparse: got unsigned char [noderef] [usertype] __iomem *[assigned] endOfRing
drivers/net/ethernet/freescale/ucc_geth.c:2676:64: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile *address @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2676:64: sparse: expected void volatile *address
drivers/net/ethernet/freescale/ucc_geth.c:2676:64: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2943:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2943:21: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2943:21: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2982:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] [usertype] __iomem *p_utodr @@
drivers/net/ethernet/freescale/ucc_geth.c:2982:22: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2982:22: sparse: got restricted __be16 [noderef] [usertype] __iomem *p_utodr
drivers/net/ethernet/freescale/ucc_geth.c:3009:46: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:3009:46: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3009:46: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3158:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:3158:34: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3158:34: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:3159:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3159:34: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3159:34: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3161:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:3161:22: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3161:22: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:3167:38: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3167:38: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3167:38: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm

vim +1838 drivers/net/ethernet/freescale/ucc_geth.c

1805
1806 static void ucc_geth_free_rx(struct ucc_geth_private *ugeth)
1807 {
1808 struct ucc_geth_info *ug_info;
1809 struct ucc_fast_info *uf_info;
1810 u16 i, j;
1811 u8 __iomem *bd;
1812
1813
1814 ug_info = ugeth->ug_info;
1815 uf_info = &ug_info->uf_info;
1816
1817 for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) {
1818 if (ugeth->p_rx_bd_ring[i]) {
1819 /* Return existing data buffers in ring */
1820 bd = ugeth->p_rx_bd_ring[i];
1821 for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) {
1822 if (ugeth->rx_skbuff[i][j]) {
1823 dma_unmap_single(ugeth->dev,
1824 in_be32(&((struct qe_bd __iomem *)bd)->buf),
1825 ugeth->ug_info->
1826 uf_info.max_rx_buf_length +
1827 UCC_GETH_RX_DATA_BUF_ALIGNMENT,
1828 DMA_FROM_DEVICE);
1829 dev_kfree_skb_any(
1830 ugeth->rx_skbuff[i][j]);
1831 ugeth->rx_skbuff[i][j] = NULL;
1832 }
1833 bd += sizeof(struct qe_bd);
1834 }
1835
1836 kfree(ugeth->rx_skbuff[i]);
1837
> 1838 kfree(ugeth->p_rx_bd_ring[i]);
1839 ugeth->p_rx_bd_ring[i] = NULL;
1840 }
1841 }
1842

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip