[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202102072040.NxrqU0kP-lkp@intel.com>
Date: Sun, 7 Feb 2021 20:28:15 +0800
From: kernel test robot <lkp@...el.com>
To: Parav Pandit <parav@...dia.com>, netdev@...r.kernel.org,
davem@...emloft.net, kuba@...nel.org
Cc: kbuild-all@...ts.01.org, clang-built-linux@...glegroups.com,
Parav Pandit <parav@...dia.com>, Jiri Pirko <jiri@...dia.com>
Subject: Re: [PATCH net-next v2 2/7] netdevsim: Add support for add and
delete PCI SF port
Hi Parav,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Parav-Pandit/netdevsim-Add-support-for-add-and-delete-of-a-PCI-PF-port/20210207-174501
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 6626a0266566c5aea16178c5e6cd7fc4db3f2f56
config: arm-randconfig-r004-20210207 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/9cd1b543da8076288ba231ed010e8a610e238bae
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Parav-Pandit/netdevsim-Add-support-for-add-and-delete-of-a-PCI-PF-port/20210207-174501
git checkout 9cd1b543da8076288ba231ed010e8a610e238bae
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
In file included from drivers/net/netdevsim/port_function.c:7:
drivers/net/netdevsim/netdevsim.h:318:23: warning: declaration of 'struct devlink_port_new_attrs' will not be visible outside of this function [-Wvisibility]
const struct devlink_port_new_attrs *attrs,
^
drivers/net/netdevsim/port_function.c:54:20: warning: declaration of 'struct devlink_port_new_attrs' will not be visible outside of this function [-Wvisibility]
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:74:23: error: incomplete definition of type 'struct devlink_port_new_attrs'
port->flavour = attrs->flavour;
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:76:11: error: incomplete definition of type 'struct devlink_port_new_attrs'
if (attrs->port_index_valid)
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:78:16: error: incomplete definition of type 'struct devlink_port_new_attrs'
attrs->port_index,
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:79:16: error: incomplete definition of type 'struct devlink_port_new_attrs'
attrs->port_index, GFP_KERNEL);
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:91:16: error: incomplete definition of type 'struct devlink_port_new_attrs'
attrs->pfnum, attrs->pfnum,
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:91:30: error: incomplete definition of type 'struct devlink_port_new_attrs'
attrs->pfnum, attrs->pfnum,
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
>> drivers/net/netdevsim/port_function.c:97:7: error: use of undeclared identifier 'DEVLINK_PORT_FLAVOUR_PCI_SF'
case DEVLINK_PORT_FLAVOUR_PCI_SF:
^
drivers/net/netdevsim/port_function.c:98:12: error: incomplete definition of type 'struct devlink_port_new_attrs'
if (attrs->sfnum_valid)
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:99:63: error: incomplete definition of type 'struct devlink_port_new_attrs'
ret = ida_alloc_range(&dev->port_functions.sfnum_ida, attrs->sfnum,
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:100:17: error: incomplete definition of type 'struct devlink_port_new_attrs'
attrs->sfnum, GFP_KERNEL);
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:106:22: error: incomplete definition of type 'struct devlink_port_new_attrs'
port->pfnum = attrs->pfnum;
~~~~~^
drivers/net/netdevsim/port_function.c:54:20: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:131:7: error: use of undeclared identifier 'DEVLINK_PORT_FLAVOUR_PCI_SF'
case DEVLINK_PORT_FLAVOUR_PCI_SF:
^
drivers/net/netdevsim/port_function.c:151:19: warning: declaration of 'struct devlink_port_new_attrs' will not be visible outside of this function [-Wvisibility]
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:156:12: error: incomplete definition of type 'struct devlink_port_new_attrs'
if (attrs->port_index_valid &&
~~~~~^
drivers/net/netdevsim/port_function.c:151:19: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:157:31: error: incomplete definition of type 'struct devlink_port_new_attrs'
tmp->port_index == attrs->port_index)
~~~~~^
drivers/net/netdevsim/port_function.c:151:19: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:159:12: error: incomplete definition of type 'struct devlink_port_new_attrs'
if (attrs->flavour == DEVLINK_PORT_FLAVOUR_PCI_PF &&
~~~~~^
drivers/net/netdevsim/port_function.c:151:19: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:161:26: error: incomplete definition of type 'struct devlink_port_new_attrs'
tmp->pfnum == attrs->pfnum)
~~~~~^
drivers/net/netdevsim/port_function.c:151:19: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:164:12: error: incomplete definition of type 'struct devlink_port_new_attrs'
if (attrs->flavour == DEVLINK_PORT_FLAVOUR_PCI_SF &&
~~~~~^
drivers/net/netdevsim/port_function.c:151:19: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:166:12: error: incomplete definition of type 'struct devlink_port_new_attrs'
attrs->sfnum_valid &&
~~~~~^
drivers/net/netdevsim/port_function.c:151:19: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
drivers/net/netdevsim/port_function.c:167:26: error: incomplete definition of type 'struct devlink_port_new_attrs'
tmp->sfnum == attrs->sfnum && tmp->pfnum == attrs->pfnum)
~~~~~^
drivers/net/netdevsim/port_function.c:151:19: note: forward declaration of 'struct devlink_port_new_attrs'
const struct devlink_port_new_attrs *attrs)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
vim +/DEVLINK_PORT_FLAVOUR_PCI_SF +97 drivers/net/netdevsim/port_function.c
51
52 static struct nsim_port_fn *
53 nsim_devlink_port_fn_alloc(struct nsim_dev *dev,
54 const struct devlink_port_new_attrs *attrs)
55 {
56 struct nsim_bus_dev *nsim_bus_dev = dev->nsim_bus_dev;
57 struct nsim_port_fn *port;
58 struct net_device *netdev;
59 int ret;
60
61 netdev = alloc_netdev(sizeof(*port), "eth%d", NET_NAME_UNKNOWN,
62 nsim_port_fn_ndev_setup);
63 if (!netdev)
64 return ERR_PTR(-ENOMEM);
65
66 dev_net_set(netdev, nsim_dev_net(dev));
67 netdev->netdev_ops = &nsim_netdev_ops;
68 nsim_bus_dev = dev->nsim_bus_dev;
69 SET_NETDEV_DEV(netdev, &nsim_bus_dev->dev);
70
71 port = netdev_priv(netdev);
72 memset(port, 0, sizeof(*port));
73 port->netdev = netdev;
74 port->flavour = attrs->flavour;
75
76 if (attrs->port_index_valid)
77 ret = ida_alloc_range(&dev->port_functions.ida,
78 attrs->port_index,
79 attrs->port_index, GFP_KERNEL);
80 else
81 ret = ida_alloc_min(&dev->port_functions.ida,
82 nsim_bus_dev->port_count, GFP_KERNEL);
83 if (ret < 0)
84 goto port_ida_err;
85
86 port->port_index = ret;
87
88 switch (port->flavour) {
89 case DEVLINK_PORT_FLAVOUR_PCI_PF:
90 ret = ida_alloc_range(&dev->port_functions.pfnum_ida,
91 attrs->pfnum, attrs->pfnum,
92 GFP_KERNEL);
93 if (ret < 0)
94 goto fn_ida_err;
95 port->pfnum = ret;
96 break;
> 97 case DEVLINK_PORT_FLAVOUR_PCI_SF:
98 if (attrs->sfnum_valid)
99 ret = ida_alloc_range(&dev->port_functions.sfnum_ida, attrs->sfnum,
100 attrs->sfnum, GFP_KERNEL);
101 else
102 ret = ida_alloc(&dev->port_functions.sfnum_ida, GFP_KERNEL);
103 if (ret < 0)
104 goto fn_ida_err;
105 port->sfnum = ret;
106 port->pfnum = attrs->pfnum;
107 break;
108 default:
109 break;
110 }
111 /* refcount_t is not needed as port is protected by port_functions.mutex.
112 * This count is to keep track of how many SF ports are attached a PF port.
113 */
114 port->refcount = 1;
115 return port;
116
117 fn_ida_err:
118 ida_simple_remove(&dev->port_functions.ida, port->port_index);
119 port_ida_err:
120 free_netdev(netdev);
121 return ERR_PTR(ret);
122 }
123
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (40071 bytes)
Powered by blists - more mailing lists