Re: [PATCH 2/2] staging: slicoss: slicoss.c: fix different address space sparse warnings

From: kbuild test robot
Date: Tue Sep 13 2016 - 18:35:47 EST


Hi Peng,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on next-20160913]
[cannot apply to v4.8-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url: https://github.com/0day-ci/linux/commits/Peng-Sun/staging-slicoss-fix-sparse-warnings/20160913-190805
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All warnings (new ones prefixed by >>):

In file included from drivers/staging/slicoss/slicoss.c:97:0:
drivers/staging/slicoss/slicoss.c: In function 'slic_upr_request_complete':
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
>> drivers/staging/slicoss/slicoss.c:1020:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, xmit_tcp_segs),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1024:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, xmit_tcp_bytes),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1028:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, rcv_tcp_segs),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1032:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, rcv_tcp_bytes),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1036:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, xmit_bytes),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1040:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, xmit_unicasts),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1044:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, rcv_bytes),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1048:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, rcv_unicasts),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1052:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, xmit_collisions),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1056:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats,
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1061:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, xmit_other_error),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1065:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, rcv_other_error),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slic.h:597:19: note: in definition of macro 'UPDATE_STATS_GB'
(largestat) += ((newstat) - (oldstat)); \
^~~~~~~
drivers/staging/slicoss/slicoss.c:1069:5: note: in expansion of macro 'IOMEM_GET_FIELD64'
IOMEM_GET_FIELD64(stats, rcv_drops),
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slicoss.c:1072:7: note: in expansion of macro 'IOMEM_GET_FIELD64'
if (IOMEM_GET_FIELD64(stats, rcv_drops) > old->rcv_drops)
^~~~~~~~~~~~~~~~~
>> drivers/staging/slicoss/slic.h:575:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u64 val = ((u64)ioread8(_base + 7)) << 56; \
^
drivers/staging/slicoss/slicoss.c:1074:7: note: in expansion of macro 'IOMEM_GET_FIELD64'
(IOMEM_GET_FIELD64(stats, rcv_drops) -
^~~~~~~~~~~~~~~~~

vim +/IOMEM_GET_FIELD64 +1020 drivers/staging/slicoss/slicoss.c

1004 switch (upr->upr_request) {
1005 case SLIC_UPR_STATS: {
1006 struct slic_shmemory *sm = &adapter->shmem;
1007 struct slic_shmem_data __iomem *sm_data = sm->shmem_data;
1008 struct slic_stats __iomem *stats =
1009 IOMEM_GET_FIELDADDR(sm_data, stats);
1010 struct slic_stats *old = &adapter->inicstats_prev;
1011 struct slicnet_stats *stst = &adapter->slic_stats;
1012
1013 if (isr & ISR_UPCERR) {
1014 dev_err(&adapter->netdev->dev,
1015 "SLIC_UPR_STATS command failed isr[%x]\n", isr);
1016 break;
1017 }
1018
1019 UPDATE_STATS_GB(stst->tcp.xmit_tcp_segs,
> 1020 IOMEM_GET_FIELD64(stats, xmit_tcp_segs),
1021 old->xmit_tcp_segs);
1022
1023 UPDATE_STATS_GB(stst->tcp.xmit_tcp_bytes,
1024 IOMEM_GET_FIELD64(stats, xmit_tcp_bytes),
1025 old->xmit_tcp_bytes);
1026
1027 UPDATE_STATS_GB(stst->tcp.rcv_tcp_segs,
1028 IOMEM_GET_FIELD64(stats, rcv_tcp_segs),

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data