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/0dec712f56c9e925e1603711d1dad831e...
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 0dec712f56c9e925e1603711d1dad831e2820394
# 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.c:9:
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.c:25:
> 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.c:354:16: warning: 'struct
ethtool_fp' declared inside parameter list will not be visible outside of this
definition or declaration
354 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
drivers/net/dsa/ocelot/felix.c: In function 'felix_set_preempt':
> drivers/net/dsa/ocelot/felix.c:360:54: error: passing argument 3
of 'felix->info->port_set_preempt' from incompatible pointer type
[-Werror=incompatible-pointer-types]
360 | return
felix->info->port_set_preempt(ocelot, port, fpcmd);
| ^~~~~
| |
| struct ethtool_fp *
drivers/net/dsa/ocelot/felix.c:360:54: note: expected 'struct ethtool_fp *' but
argument is of type 'struct ethtool_fp *'
drivers/net/dsa/ocelot/felix.c: At top level:
drivers/net/dsa/ocelot/felix.c:366:16: warning: 'struct ethtool_fp' declared
inside parameter list will not be visible outside of this definition or declaration
366 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
drivers/net/dsa/ocelot/felix.c: In function 'felix_get_preempt':
> drivers/net/dsa/ocelot/felix.c:372:54: error: passing argument 3
of 'felix->info->port_get_preempt' from incompatible pointer type
[-Werror=incompatible-pointer-types]
372 | return
felix->info->port_get_preempt(ocelot, port, fpcmd);
| ^~~~~
| |
| struct ethtool_fp *
drivers/net/dsa/ocelot/felix.c:372:54: note: expected 'struct ethtool_fp *' but
argument is of type 'struct ethtool_fp *'
drivers/net/dsa/ocelot/felix.c: At top level:
> drivers/net/dsa/ocelot/felix.c:804:18: error: initialization of
'int (*)(struct dsa_switch *, int, struct ethtool_fp *)' from incompatible
pointer type 'int (*)(struct dsa_switch *, int, struct ethtool_fp *)'
[-Werror=incompatible-pointer-types]
804 | .set_preempt = felix_set_preempt,
| ^~~~~~~~~~~~~~~~~
drivers/net/dsa/ocelot/felix.c:804:18: note: (near initialization for
'felix_switch_ops.set_preempt')
drivers/net/dsa/ocelot/felix.c:805:18: error: initialization of 'int (*)(struct
dsa_switch *, int, struct ethtool_fp *)' from incompatible pointer type 'int
(*)(struct dsa_switch *, int, struct ethtool_fp *)'
[-Werror=incompatible-pointer-types]
805 | .get_preempt = felix_get_preempt,
| ^~~~~~~~~~~~~~~~~
drivers/net/dsa/ocelot/felix.c:805:18: note: (near initialization for
'felix_switch_ops.get_preempt')
cc1: some warnings being treated as errors
--
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:1330:16: warning:
'struct ethtool_fp' declared inside parameter list will not be visible outside of
this definition or declaration
1330 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c: In function
'vsc9959_port_set_preempt':
> drivers/net/dsa/ocelot/felix_vsc9959.c:1333:25: error:
dereferencing pointer to incomplete type 'struct ethtool_fp'
1333 | 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:1356:16: warning: 'struct ethtool_fp'
declared inside parameter list will not be visible outside of this definition or
declaration
1356 | struct ethtool_fp *fpcmd)
| ^~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c: In function
'vsc9959_port_get_preempt':
drivers/net/dsa/ocelot/felix_vsc9959.c:1363:7: error: dereferencing pointer to
incomplete type 'struct ethtool_fp'
1363 | fpcmd->enabled = (val ? 0 : 1);
| ^~
drivers/net/dsa/ocelot/felix_vsc9959.c: At top level:
> drivers/net/dsa/ocelot/felix_vsc9959.c:1419: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]
1419 | .port_set_preempt =
vsc9959_port_set_preempt,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c:1419:22: note: (near initialization for
'felix_info_vsc9959.port_set_preempt')
drivers/net/dsa/ocelot/felix_vsc9959.c:1420: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]
1420 | .port_get_preempt = vsc9959_port_get_preempt,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/ocelot/felix_vsc9959.c:1420:22: note: (near initialization for
'felix_info_vsc9959.port_get_preempt')
cc1: some warnings being treated as errors
--
In file included from include/soc/mscc/ocelot.h:12,
from include/soc/mscc/ocelot_vcap.h:9,
from drivers/net/dsa/ocelot/seville_vsc9953.c:6:
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/seville_vsc9953.c:13:
> 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);
| ^~~~~~~~~~
vim +360 drivers/net/dsa/ocelot/felix.c
352
353 static int felix_set_preempt(struct dsa_switch *ds, int port,
354 struct ethtool_fp *fpcmd)
355 {
356 struct ocelot *ocelot = ds->priv;
357 struct felix *felix = ocelot_to_felix(ocelot);
358
359 if (felix->info->port_set_preempt)
360 return felix->info->port_set_preempt(ocelot, port,
fpcmd);
361
362 return -EOPNOTSUPP;
363 }
364
365 static int felix_get_preempt(struct dsa_switch *ds, int port,
366 struct ethtool_fp *fpcmd)
367 {
368 struct ocelot *ocelot = ds->priv;
369 struct felix *felix = ocelot_to_felix(ocelot);
370
371 if (felix->info->port_get_preempt)
372 return felix->info->port_get_preempt(ocelot, port,
fpcmd);
373
374 return -EOPNOTSUPP;
375 }
376
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org