tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   0bddd227f3dc55975e2b8dfa7fc6f959b062a2c7
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to 
define address spaces
date:   3 weeks ago
config: sparc-randconfig-s032-20200709 (attached as .config)
compiler: sparc-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-37-gc9676a3b-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=sparc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   drivers/net/ethernet/aeroflex/greth.c:362:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:362:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:362:9: sparse:     got restricted 
__be32 [usertype]
>> drivers/net/ethernet/aeroflex/greth.c:362:9: sparse: sparse: incorrect type 
>> in argument 2 (different address spaces) @@     expected void volatile 
>> [noderef] __iomem *addr @@     got unsigned int * @@
>> drivers/net/ethernet/aeroflex/greth.c:362:9: sparse:     expected void 
>> volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:362:9: sparse:     got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:406:24: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@     expected void const volatile 
>> [noderef] __iomem *addr @@     got unsigned int * @@
>> drivers/net/ethernet/aeroflex/greth.c:406:24: sparse:     expected void 
>> const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:406:24: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:406:24: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:409:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:409:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:409:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:409:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:752:17: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:752:17: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:752:17: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:752:17: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:869:17: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:869:17: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:869:17: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:869:17: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:627:17: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:627:17: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:627:17: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:627:17: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:692:17: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:692:17: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:692:17: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:692:17: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:594:18: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void const volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:594:18: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:594:18: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:594:18: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:600:16: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void const volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:600:16: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:600:16: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:600:16: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: sparse: incorrect 
type in argument 1 (different base types) @@     expected unsigned int 
[usertype] value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: sparse: incorrect 
type in argument 1 (different base types) @@     expected unsigned int 
[usertype] value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: sparse: incorrect 
type in argument 1 (different base types) @@     expected unsigned int 
[usertype] value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: sparse: incorrect 
type in argument 1 (different base types) @@     expected unsigned int 
[usertype] value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:328:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:328:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:328:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:328:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:329:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:329:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:329:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:329:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:991:24: sparse: sparse: incorrect type 
in argument 1 (different address spaces) @@     expected void const volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:991:24: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:991:24: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:991:24: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:994:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:994:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:994:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:994:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:999:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:999:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:999:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:999:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: sparse: incorrect 
type in argument 1 (different base types) @@     expected unsigned int 
[usertype] value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse:     got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:1128:52: sparse: sparse: incorrect 
>> type in argument 1 (different address spaces) @@     expected unsigned int 
>> [usertype] *bd @@     got unsigned int [noderef] [usertype] __iomem * @@
   drivers/net/ethernet/aeroflex/greth.c:1128:52: sparse:     expected unsigned 
int [usertype] *bd
>> drivers/net/ethernet/aeroflex/greth.c:1128:52: sparse:     got unsigned int 
>> [noderef] [usertype] __iomem *
   drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: sparse: incorrect 
type in argument 1 (different base types) @@     expected unsigned int 
[usertype] value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse:     got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:1367:21: sparse: sparse: incorrect 
>> type in assignment (different address spaces) @@     expected struct 
>> greth_regs *regs @@     got void [noderef] __iomem * @@
   drivers/net/ethernet/aeroflex/greth.c:1367:21: sparse:     expected struct 
greth_regs *regs
>> drivers/net/ethernet/aeroflex/greth.c:1367:21: sparse:     got void 
>> [noderef] __iomem *
   drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: incorrect 
type in argument 1 (different address spaces) @@     expected void const 
volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: incorrect 
type in argument 1 (different base types) @@     expected unsigned int 
[usertype] value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse:     got unsigned int *
   drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: sparse: incorrect type 
in argument 2 (different address spaces) @@     expected void volatile 
[noderef] __iomem *addr @@     got unsigned int * @@
   drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse:     got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:1521:46: sparse: sparse: incorrect 
>> type in argument 2 (different address spaces) @@     expected void [noderef] 
>> __iomem *base @@     got struct greth_regs *regs @@
>> drivers/net/ethernet/aeroflex/greth.c:1521:46: sparse:     expected void 
>> [noderef] __iomem *base
   drivers/net/ethernet/aeroflex/greth.c:1521:46: sparse:     got struct 
greth_regs *regs
   drivers/net/ethernet/aeroflex/greth.c:1544:47: sparse: sparse: incorrect 
type in argument 2 (different address spaces) @@     expected void [noderef] 
__iomem *base @@     got struct greth_regs *regs @@
   drivers/net/ethernet/aeroflex/greth.c:1544:47: sparse:     expected void 
[noderef] __iomem *base
   drivers/net/ethernet/aeroflex/greth.c:1544:47: sparse:     got struct 
greth_regs *regs
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@     expected void const volatile 
>> [noderef] __iomem *addr @@     got unsigned int [usertype] *bd @@
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     got unsigned int 
[usertype] *bd
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to 
restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@     expected void const volatile 
>> [noderef] __iomem *addr @@     got unsigned int [usertype] *bd @@
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     got unsigned int 
[usertype] *bd
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to 
restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@     expected void const volatile 
>> [noderef] __iomem *addr @@     got unsigned int [usertype] *bd @@
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     got unsigned int 
[usertype] *bd
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to 
restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@     expected void const volatile 
>> [noderef] __iomem *addr @@     got unsigned int [usertype] *bd @@
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     got unsigned int 
[usertype] *bd
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to 
restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@     expected void const volatile 
>> [noderef] __iomem *addr @@     got unsigned int [usertype] *bd @@
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     expected void 
const volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse:     got unsigned int 
[usertype] *bd
   drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to 
restricted __be32
   drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:157:22: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:157:22: sparse:     got restricted 
__be32 [usertype]
>> drivers/net/ethernet/aeroflex/greth.c:157:40: sparse: sparse: incorrect type 
>> in argument 2 (different address spaces) @@     expected void volatile 
>> [noderef] __iomem *addr @@     got unsigned int [usertype] *bd @@
   drivers/net/ethernet/aeroflex/greth.c:157:40: sparse:     expected void 
volatile [noderef] __iomem *addr
   drivers/net/ethernet/aeroflex/greth.c:157:40: sparse:     got unsigned int 
[usertype] *bd
   drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: sparse: incorrect type 
in argument 1 (different base types) @@     expected unsigned int [usertype] 
value @@     got restricted __be32 [usertype] @@
   drivers/net/ethernet/aeroflex/greth.c:157:22: sparse:     expected unsigned 
int [usertype] value
   drivers/net/ethernet/aeroflex/greth.c:157:22: sparse:     got restricted 
__be32 [usertype]
   drivers/net/ethernet/aeroflex/greth.c:157:40: sparse: sparse: too many 
warnings

vim +362 drivers/net/ethernet/aeroflex/greth.c

d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  337  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  338  static 
int greth_open(struct net_device *dev)
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  339  {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  340   struct 
greth_private *greth = netdev_priv(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  341   int err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  342  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  343   err = 
greth_init_rings(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  344   if 
(err) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  345           
if (netif_msg_ifup(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  346           
        dev_err(&dev->dev, "Could not allocate memory for DMA rings\n");
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  347           
return err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  348   }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  349  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  350   err = 
request_irq(greth->irq, greth_interrupt, 0, "eth", (void *) dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  351   if 
(err) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  352           
if (netif_msg_ifup(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  353           
        dev_err(&dev->dev, "Could not allocate interrupt %d\n", dev->irq);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  354           
greth_clean_rings(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  355           
return err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  356   }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  357  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  358   if 
(netif_msg_ifup(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  359           
dev_dbg(&dev->dev, " starting queue\n");
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  360   
netif_start_queue(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  361  
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom   2011-01-14 @362   
GRETH_REGSAVE(greth->regs->status, 0xFF);
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom   2011-01-14  363  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  364   
napi_enable(&greth->napi);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  365  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  366   
greth_enable_irqs(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  367   
greth_enable_tx(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  368   
greth_enable_rx(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  369   return 
0;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  370  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  371  }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  372  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  373  static 
int greth_close(struct net_device *dev)
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  374  {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  375   struct 
greth_private *greth = netdev_priv(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  376  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  377   
napi_disable(&greth->napi);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  378  
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom   2011-01-14  379   
greth_disable_irqs(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  380   
greth_disable_tx(greth);
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom   2011-01-14  381   
greth_disable_rx(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  382  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  383   
netif_stop_queue(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  384  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  385   
free_irq(greth->irq, (void *) dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  386  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  387   
greth_clean_rings(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  388  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  389   return 
0;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  390  }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  391  
41a655ba5654e4 drivers/net/greth.c [email protected] 2010-02-24  392  static 
netdev_tx_t
41a655ba5654e4 drivers/net/greth.c [email protected] 2010-02-24  393  
greth_start_xmit(struct sk_buff *skb, struct net_device *dev)
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  394  {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  395   struct 
greth_private *greth = netdev_priv(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  396   struct 
greth_bd *bdp;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  397   int err 
= NETDEV_TX_OK;
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  398   u32 
status, dma_addr, ctrl;
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  399   
unsigned long flags;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  400  
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  401   /* 
Clean TX Ring */
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  402   
greth_clean_tx(greth->netdev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  403  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  404   if 
(unlikely(greth->tx_free <= 0)) {
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  405           
spin_lock_irqsave(&greth->devlock, flags);/*save from poll/irq*/
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14 @406           
ctrl = GRETH_REGLOAD(greth->regs->control);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  407           
/* Enable TX IRQ only if not already in poll() routine */
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  408           
if (ctrl & GRETH_RXI)
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  409           
        GRETH_REGSAVE(greth->regs->control, ctrl | GRETH_TXI);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  410           
netif_stop_queue(dev);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  411           
spin_unlock_irqrestore(&greth->devlock, flags);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  412           
return NETDEV_TX_BUSY;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  413   }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  414  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  415   if 
(netif_msg_pktdata(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  416           
greth_print_tx_packet(skb);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  417  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  418  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  419   if 
(unlikely(skb->len > MAX_FRAME_SIZE)) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  420           
dev->stats.tx_errors++;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  421           
goto out;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  422   }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  423  
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  424   bdp = 
greth->tx_bd_base + greth->tx_next;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  425   
dma_addr = greth_read_bd(&bdp->addr);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  426  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  427   
memcpy((unsigned char *) phys_to_virt(dma_addr), skb->data, skb->len);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  428  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  429   
dma_sync_single_for_device(greth->dev, dma_addr, skb->len, DMA_TO_DEVICE);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  430  
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  431   status 
= GRETH_BD_EN | GRETH_BD_IE | (skb->len & GRETH_BD_LEN);
6af29a963cecf4 drivers/net/greth.c Daniel Hellstrom   2011-09-08  432   
greth->tx_bufs_length[greth->tx_next] = skb->len & GRETH_BD_LEN;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  433  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  434   /* Wrap 
around descriptor ring */
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  435   if 
(greth->tx_next == GRETH_TXBD_NUM_MASK) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  436           
status |= GRETH_BD_WR;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  437   }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  438  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  439   
greth->tx_next = NEXT_TX(greth->tx_next);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  440   
greth->tx_free--;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  441  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  442   /* 
Write descriptor control word and enable transmission */
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  443   
greth_write_bd(&bdp->stat, status);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  444   
spin_lock_irqsave(&greth->devlock, flags); /*save from poll/irq*/
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  445   
greth_enable_tx(greth);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom   2011-01-14  446   
spin_unlock_irqrestore(&greth->devlock, flags);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  447  
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  448  out:
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  449   
dev_kfree_skb(skb);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  450   return 
err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  451  }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo  2010-02-15  452  

:::::: The code at line 362 was first introduced by commit
:::::: bbe9e637330abe55442aebe799425e224086959f GRETH: fix opening/closing

:::::: TO: Daniel Hellstrom <[email protected]>
:::::: CC: David S. Miller <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

Reply via email to