Hi Vladimir,
[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/Vladimir-Oltean/Better-support-f...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
31222162557ca85808b9985de7e519041561f455
config: microblaze-randconfig-r031-20210318 (attached as .config)
compiler: microblaze-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/a25b1e23ecf26f2dc45247ebcf4ff5bde...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Vladimir-Oltean/Better-support-for-sandwiched-LAGs-with-bridge-and-DSA/20210319-072218
git checkout a25b1e23ecf26f2dc45247ebcf4ff5bde213ac42
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze
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 drivers/net/ethernet/ti/cpsw_switchdev.c:10:
> include/linux/if_bridge.h:204:5: warning: no previous prototype
for 'switchdev_bridge_port_offload' [-Wmissing-prototypes]
204 | int
switchdev_bridge_port_offload(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/if_bridge.h:210:5: warning: no previous prototype
for 'switchdev_bridge_port_unoffload' [-Wmissing-prototypes]
210 | int
switchdev_bridge_port_unoffload(struct net_device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/ti/cpsw_switchdev.c:10:
include/linux/if_bridge.h: In function 'switchdev_bridge_port_unoffload':
include/linux/if_bridge.h:212:1: error: control reaches end of non-void function
[-Werror=return-type]
212 | }
| ^
cc1: some warnings being treated as errors
--
drivers/net/ethernet/ti/cpsw_new.c: In function 'cpsw_netdevice_port_link':
> drivers/net/ethernet/ti/cpsw_new.c:1527:8: error: implicit
declaration of function 'switchdev_bridge_port_offload'; did you mean
'switchdev_handle_port_obj_add'? [-Werror=implicit-function-declaration]
1527 | err = switchdev_bridge_port_offload(ndev, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| switchdev_handle_port_obj_add
drivers/net/ethernet/ti/cpsw_new.c: In function 'cpsw_netdevice_port_unlink':
> drivers/net/ethernet/ti/cpsw_new.c:1536:2: error: implicit
declaration of function 'switchdev_bridge_port_unoffload'; did you mean
'switchdev_handle_port_obj_add'? [-Werror=implicit-function-declaration]
1536 | switchdev_bridge_port_unoffload(ndev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| switchdev_handle_port_obj_add
cc1: some warnings being treated as errors
--
In file included from net/dsa/port.c:9:
> include/linux/if_bridge.h:204:5: warning: no previous prototype
for 'switchdev_bridge_port_offload' [-Wmissing-prototypes]
204 | int
switchdev_bridge_port_offload(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/if_bridge.h:210:5: warning: no previous prototype
for 'switchdev_bridge_port_unoffload' [-Wmissing-prototypes]
210 | int
switchdev_bridge_port_unoffload(struct net_device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/dsa/port.c: In function 'dsa_port_inherit_brport_flags':
net/dsa/port.c:152:34: error: implicit declaration of function
'dsa_port_to_bridge_port'; did you mean 'dsa_port_bridge_join'?
[-Werror=implicit-function-declaration]
152 | struct net_device *brport_dev = dsa_port_to_bridge_port(dp);
| ^~~~~~~~~~~~~~~~~~~~~~~
| dsa_port_bridge_join
net/dsa/port.c:152:34: warning: initialization of 'struct net_device *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
net/dsa/port.c: In function 'dsa_port_switchdev_sync':
net/dsa/port.c:174:34: warning: initialization of 'struct net_device *' from
'int' makes pointer from integer without a cast [-Wint-conversion]
174 | struct net_device *brport_dev = dsa_port_to_bridge_port(dp);
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from net/dsa/port.c:9:
include/linux/if_bridge.h: In function 'switchdev_bridge_port_unoffload':
include/linux/if_bridge.h:212:1: error: control reaches end of non-void function
[-Werror=return-type]
212 | }
| ^
cc1: some warnings being treated as errors
vim +1527 drivers/net/ethernet/ti/cpsw_new.c
1505
1506 static int cpsw_netdevice_port_link(struct net_device *ndev,
1507 struct net_device *br_ndev)
1508 {
1509 struct cpsw_priv *priv = netdev_priv(ndev);
1510 struct cpsw_common *cpsw = priv->cpsw;
1511 int err;
1512
1513 if (!cpsw->br_members) {
1514 cpsw->hw_bridge_dev = br_ndev;
1515 } else {
1516 /* This is adding the port to a second bridge, this is
1517 * unsupported
1518 */
1519 if (cpsw->hw_bridge_dev != br_ndev)
1520 return -EOPNOTSUPP;
1521 }
1522
1523 cpsw->br_members |= BIT(priv->emac_port);
1524
1525 cpsw_port_offload_fwd_mark_update(cpsw);
1526
1527 err = switchdev_bridge_port_offload(ndev, NULL);
1528 return notifier_to_errno(err);
1529 }
1530
1531 static void cpsw_netdevice_port_unlink(struct net_device *ndev)
1532 {
1533 struct cpsw_priv *priv = netdev_priv(ndev);
1534 struct cpsw_common *cpsw = priv->cpsw;
1535
1536 switchdev_bridge_port_unoffload(ndev);
1537
1538 cpsw->br_members &= ~BIT(priv->emac_port);
1539
1540 cpsw_port_offload_fwd_mark_update(cpsw);
1541
1542 if (!cpsw->br_members)
1543 cpsw->hw_bridge_dev = NULL;
1544 }
1545
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org