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: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
#
https://github.com/0day-ci/linux/commit/2841111365cae71822d7e9164bf71b651...
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 2841111365cae71822d7e9164bf71b651ca6bed2
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
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 include/soc/mscc/ocelot.h:12,
from include/soc/mscc/ocelot_vcap.h:9,
from drivers/net/dsa/ocelot/felix_vsc9959.c:7:
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 drivers/net/dsa/ocelot/felix_vsc9959.c:18:
drivers/net/dsa/ocelot/felix.h:41:16: warning: 'struct ethtool_fp' declared
inside parameter list will not be visible outside of this definition or declaration
41 | struct ethtool_fp *fpcmd);
| ^~~~~~~~~~
drivers/net/dsa/ocelot/felix.h:43:16: warning: 'struct ethtool_fp' declared
inside parameter list will not be visible outside of this definition or declaration
43 | struct ethtool_fp *fpcmd);
| ^~~~~~~~~~
> drivers/net/dsa/ocelot/felix_vsc9959.c:1314:19: warning:
'struct tc_preempt_qopt_offload' declared inside parameter list will not be
visible outside of this definition or declaration
1314 | struct
tc_preempt_qopt_offload *qopt)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c: In function
'vsc9959_port_preempt_queues':
> drivers/net/dsa/ocelot/felix_vsc9959.c:1316:20: error:
dereferencing pointer to incomplete type 'struct tc_preempt_qopt_offload'
1316 | u8 p_queues = qopt->preemptible_queues;
| ^~
drivers/net/dsa/ocelot/felix_vsc9959.c: In function 'vsc9959_port_setup_tc':
> drivers/net/dsa/ocelot/felix_vsc9959.c:1338:7: error:
'TC_SETUP_PREEMPT' undeclared (first use in this function); did you mean
'TC_SETUP_FT'?
1338 | case TC_SETUP_PREEMPT:
| ^~~~~~~~~~~~~~~~
| TC_SETUP_FT
drivers/net/dsa/ocelot/felix_vsc9959.c:1338:7: note: each undeclared identifier is
reported only once for each function it appears in
drivers/net/dsa/ocelot/felix_vsc9959.c: At top level:
drivers/net/dsa/ocelot/felix_vsc9959.c:1346:16: warning: 'struct ethtool_fp'
declared inside parameter list will not be visible outside of this definition or
declaration
1346 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c: In function
'vsc9959_port_set_preempt':
drivers/net/dsa/ocelot/felix_vsc9959.c:1349:25: error: dereferencing pointer to
incomplete type 'struct ethtool_fp'
1349 | int mm_fragsize = fpcmd->min_frag_size_mult;
| ^~
drivers/net/dsa/ocelot/felix_vsc9959.c: At top level:
drivers/net/dsa/ocelot/felix_vsc9959.c:1372:16: warning: 'struct ethtool_fp'
declared inside parameter list will not be visible outside of this definition or
declaration
1372 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c: In function
'vsc9959_port_get_preempt':
drivers/net/dsa/ocelot/felix_vsc9959.c:1379:7: error: dereferencing pointer to
incomplete type 'struct ethtool_fp'
1379 | fpcmd->enabled = (val ? 0 : 1);
| ^~
drivers/net/dsa/ocelot/felix_vsc9959.c: At top level:
drivers/net/dsa/ocelot/felix_vsc9959.c:1435:22: error: initialization of 'int
(*)(struct ocelot *, int, struct ethtool_fp *)' from incompatible pointer type
'int (*)(struct ocelot *, int, struct ethtool_fp *)'
[-Werror=incompatible-pointer-types]
1435 | .port_set_preempt = vsc9959_port_set_preempt,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c:1435:22: note: (near initialization for
'felix_info_vsc9959.port_set_preempt')
drivers/net/dsa/ocelot/felix_vsc9959.c:1436:22: error: initialization of 'int
(*)(struct ocelot *, int, struct ethtool_fp *)' from incompatible pointer type
'int (*)(struct ocelot *, int, struct ethtool_fp *)'
[-Werror=incompatible-pointer-types]
1436 | .port_get_preempt = vsc9959_port_get_preempt,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c:1436:22: note: (near initialization for
'felix_info_vsc9959.port_get_preempt')
cc1: some warnings being treated as errors
vim +1316 drivers/net/dsa/ocelot/felix_vsc9959.c
1312
1313 static int vsc9959_port_preempt_queues(struct ocelot *ocelot, int port,
1314 struct tc_preempt_qopt_offload *qopt)
1315 {
1316 u8 p_queues = qopt->preemptible_queues;
1317
1318 ocelot_rmw_rix(ocelot,
1319 QSYS_PREEMPTION_CFG_P_QUEUES(p_queues),
1320 QSYS_PREEMPTION_CFG_P_QUEUES_M,
1321 QSYS_PREEMPTION_CFG,
1322 port);
1323
1324 return 0;
1325 }
1326
1327 static int vsc9959_port_setup_tc(struct dsa_switch *ds, int port,
1328 enum tc_setup_type type,
1329 void *type_data)
1330 {
1331 struct ocelot *ocelot = ds->priv;
1332
1333 switch (type) {
1334 case TC_SETUP_QDISC_TAPRIO:
1335 return vsc9959_qos_port_tas_set(ocelot, port, type_data);
1336 case TC_SETUP_QDISC_CBS:
1337 return vsc9959_qos_port_cbs_set(ds, port, type_data);
1338 case TC_SETUP_PREEMPT:
1339 return
vsc9959_port_preempt_queues(ocelot, port, type_data);
1340 default:
1341 return -EOPNOTSUPP;
1342 }
1343 }
1344
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org