Hi Xiaoliang,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on net-next/master]
url:
https://github.com/0day-ci/linux/commits/Xiaoliang-Yang/net-dsa-felix-fra...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
105faa8742437c28815b2a3eb8314ebc5fd9288c
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-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
#
https://github.com/0day-ci/linux/commit/8793bdc51bda4de1362ea8e74db38e1a9...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Xiaoliang-Yang/net-dsa-felix-frame-preemption-support/20201020-121555
git checkout 8793bdc51bda4de1362ea8e74db38e1a93ff6964
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from net/dsa/dsa_priv.h:14,
from net/dsa/dsa.c:24:
> include/net/dsa.h:506:18: warning: 'struct ethtool_fp'
declared inside parameter list will not be visible outside of this definition or
declaration
506 | struct ethtool_fp *fpcmd);
| ^~~~~~~~~~
include/net/dsa.h:512:18: warning: 'struct ethtool_fp' declared inside
parameter list will not be visible outside of this definition or declaration
512 | struct ethtool_fp *fpcmd);
| ^~~~~~~~~~
--
In file included from net/dsa/dsa_priv.h:14,
from net/dsa/slave.c:23:
> include/net/dsa.h:506:18: warning: 'struct ethtool_fp'
declared inside parameter list will not be visible outside of this definition or
declaration
506 | struct ethtool_fp *fpcmd);
| ^~~~~~~~~~
include/net/dsa.h:512:18: warning: 'struct ethtool_fp' declared inside
parameter list will not be visible outside of this definition or declaration
512 | struct ethtool_fp *fpcmd);
| ^~~~~~~~~~
> net/dsa/slave.c:1266:13: warning: 'struct ethtool_fp'
declared inside parameter list will not be visible outside of this definition or
declaration
1266 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
net/dsa/slave.c: In function 'dsa_slave_set_preempt':
> net/dsa/slave.c:1274:48: error: passing argument 3 of
'ds->ops->set_preempt' from incompatible pointer type
[-Werror=incompatible-pointer-types]
1274 | return
ds->ops->set_preempt(ds, p->dp->index, fpcmd);
| ^~~~~
| |
| struct ethtool_fp *
net/dsa/slave.c:1274:48: note: expected 'struct ethtool_fp *' but argument is
of type 'struct ethtool_fp *'
net/dsa/slave.c: At top level:
net/dsa/slave.c:1278:13: warning: 'struct ethtool_fp' declared inside parameter
list will not be visible outside of this definition or declaration
1278 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
net/dsa/slave.c: In function 'dsa_slave_get_preempt':
> net/dsa/slave.c:1286:48: error: passing argument 3 of
'ds->ops->get_preempt' from incompatible pointer type
[-Werror=incompatible-pointer-types]
1286 | return
ds->ops->get_preempt(ds, p->dp->index, fpcmd);
| ^~~~~
| |
| struct ethtool_fp *
net/dsa/slave.c:1286:48: note: expected 'struct ethtool_fp *' but argument is
of type 'struct ethtool_fp *'
net/dsa/slave.c: At top level:
> net/dsa/slave.c:1579:3: error: 'const struct ethtool_ops'
has no member named 'set_preempt'
1579 | .set_preempt =
dsa_slave_set_preempt,
| ^~~~~~~~~~~
> net/dsa/slave.c:1579:18: error: initialization of 'int
(*)(struct net_device *, struct ethtool_modinfo *)' from incompatible pointer type
'int (*)(struct net_device *, struct ethtool_fp *)'
[-Werror=incompatible-pointer-types]
1579 | .set_preempt =
dsa_slave_set_preempt,
| ^~~~~~~~~~~~~~~~~~~~~
net/dsa/slave.c:1579:18: note: (near initialization for
'dsa_slave_ethtool_ops.get_module_info')
> net/dsa/slave.c:1580:3: error: 'const struct ethtool_ops'
has no member named 'get_preempt'
1580 | .get_preempt =
dsa_slave_get_preempt,
| ^~~~~~~~~~~
> net/dsa/slave.c:1580:18: error: initialization of 'int
(*)(struct net_device *, struct ethtool_eeprom *, u8 *)' {aka 'int (*)(struct
net_device *, struct ethtool_eeprom *, unsigned char *)'} from incompatible pointer
type 'int (*)(struct net_device *, struct ethtool_fp *)'
[-Werror=incompatible-pointer-types]
1580 | .get_preempt =
dsa_slave_get_preempt,
| ^~~~~~~~~~~~~~~~~~~~~
net/dsa/slave.c:1580:18: note: (near initialization for
'dsa_slave_ethtool_ops.get_module_eeprom')
cc1: some warnings being treated as errors
vim +1274 net/dsa/slave.c
1264
1265 static int dsa_slave_set_preempt(struct net_device *dev,
1266 struct ethtool_fp *fpcmd)
1267 {
1268 struct dsa_slave_priv *p = netdev_priv(dev);
1269 struct dsa_switch *ds = p->dp->ds;
1270
1271 if (!ds->ops->set_preempt)
1272 return -EOPNOTSUPP;
1273
1274 return ds->ops->set_preempt(ds, p->dp->index,
fpcmd);
1275 }
1276
1277 static int dsa_slave_get_preempt(struct net_device *dev,
1278 struct ethtool_fp *fpcmd)
1279 {
1280 struct dsa_slave_priv *p = netdev_priv(dev);
1281 struct dsa_switch *ds = p->dp->ds;
1282
1283 if (!ds->ops->get_preempt)
1284 return -EOPNOTSUPP;
1285
1286 return ds->ops->get_preempt(ds, p->dp->index,
fpcmd);
1287 }
1288
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org