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/27c3dd62beaaa376fb7a81543a712ca99e315b81 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 27c3dd62beaaa376fb7a81543a712ca99e315b81 # 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 All error/warnings (new ones prefixed by >>): In file included from drivers/net/netdevsim/netdev.c:27: >> drivers/net/netdevsim/netdevsim.h:317: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, ^ 1 warning generated. -- In file included from drivers/net/netdevsim/dev.c:36: >> drivers/net/netdevsim/netdevsim.h:317: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/dev.c:908:3: error: field designator 'port_new' does not refer to any field in type 'const struct devlink_ops' .port_new = nsim_dev_devlink_port_new, ^ >> drivers/net/netdevsim/dev.c:909:3: error: field designator 'port_del' does not refer to any field in type 'const struct devlink_ops' .port_del = nsim_dev_devlink_port_del, ^ 1 warning and 2 errors generated. -- In file included from drivers/net/netdevsim/port_function.c:7: >> drivers/net/netdevsim/netdevsim.h:317: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:51: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:71:23: error: incomplete definition of type 'struct devlink_port_new_attrs' port->flavour = attrs->flavour; ~~~~~^ drivers/net/netdevsim/port_function.c:51:20: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:73:11: error: incomplete definition of type 'struct devlink_port_new_attrs' if (attrs->port_index_valid) ~~~~~^ drivers/net/netdevsim/port_function.c:51:20: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:75:16: error: incomplete definition of type 'struct devlink_port_new_attrs' attrs->port_index, ~~~~~^ drivers/net/netdevsim/port_function.c:51:20: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:76:16: error: incomplete definition of type 'struct devlink_port_new_attrs' attrs->port_index, GFP_KERNEL); ~~~~~^ drivers/net/netdevsim/port_function.c:51:20: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:88:16: error: incomplete definition of type 'struct devlink_port_new_attrs' attrs->pfnum, attrs->pfnum, ~~~~~^ drivers/net/netdevsim/port_function.c:51:20: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:88:30: error: incomplete definition of type 'struct devlink_port_new_attrs' attrs->pfnum, attrs->pfnum, ~~~~~^ drivers/net/netdevsim/port_function.c:51:20: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:130: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:135:12: error: incomplete definition of type 'struct devlink_port_new_attrs' if (attrs->port_index_valid && ~~~~~^ drivers/net/netdevsim/port_function.c:130:19: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:136:31: error: incomplete definition of type 'struct devlink_port_new_attrs' tmp->port_index == attrs->port_index) ~~~~~^ drivers/net/netdevsim/port_function.c:130:19: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:138: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:130:19: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:140:26: error: incomplete definition of type 'struct devlink_port_new_attrs' tmp->pfnum == attrs->pfnum) ~~~~~^ drivers/net/netdevsim/port_function.c:130:19: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:201:18: 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:203:14: error: incomplete definition of type 'struct devlink_port_new_attrs' return attrs->flavour == DEVLINK_PORT_FLAVOUR_PCI_PF; ~~~~~^ drivers/net/netdevsim/port_function.c:201:18: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:207: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:206:5: error: conflicting types for 'nsim_dev_devlink_port_new' int nsim_dev_devlink_port_new(struct devlink *devlink, ^ drivers/net/netdevsim/netdevsim.h:316:5: note: previous declaration is here int nsim_dev_devlink_port_new(struct devlink *devlink, ^ drivers/net/netdevsim/port_function.c:217:11: error: incomplete definition of type 'struct devlink_port_new_attrs' if (attrs->port_index_valid && ~~~~~^ drivers/net/netdevsim/port_function.c:207:23: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs, ^ drivers/net/netdevsim/port_function.c:218:11: error: incomplete definition of type 'struct devlink_port_new_attrs' attrs->port_index < nsim_bus_dev->port_count) { ~~~~~^ drivers/net/netdevsim/port_function.c:207:23: note: forward declaration of 'struct devlink_port_new_attrs' const struct devlink_port_new_attrs *attrs, ^ drivers/net/netdevsim/port_function.c:223:49: error: incompatible pointer types passing 'const struct devlink_port_new_attrs *' to parameter of type 'const struct devlink_port_new_attrs *' [-Werror,-Wincompatible-pointer-types] if (!nsim_dev_port_flavour_supported(nsim_dev, attrs)) { ^~~~~ drivers/net/netdevsim/port_function.c:201:42: note: passing argument to parameter 'attrs' here const struct devlink_port_new_attrs *attrs) ^ drivers/net/netdevsim/port_function.c:232:42: error: incompatible pointer types passing 'const struct devlink_port_new_attrs *' to parameter of type 'const struct devlink_port_new_attrs *' [-Werror,-Wincompatible-pointer-types] if (nsim_dev_port_port_exists(nsim_dev, attrs)) { vim +908 drivers/net/netdevsim/dev.c 894 895 static const struct devlink_ops nsim_dev_devlink_ops = { 896 .supported_flash_update_params = DEVLINK_SUPPORT_FLASH_UPDATE_COMPONENT | 897 DEVLINK_SUPPORT_FLASH_UPDATE_OVERWRITE_MASK, 898 .reload_actions = BIT(DEVLINK_RELOAD_ACTION_DRIVER_REINIT), 899 .reload_down = nsim_dev_reload_down, 900 .reload_up = nsim_dev_reload_up, 901 .info_get = nsim_dev_info_get, 902 .flash_update = nsim_dev_flash_update, 903 .trap_init = nsim_dev_devlink_trap_init, 904 .trap_action_set = nsim_dev_devlink_trap_action_set, 905 .trap_group_set = nsim_dev_devlink_trap_group_set, 906 .trap_policer_set = nsim_dev_devlink_trap_policer_set, 907 .trap_policer_counter_get = nsim_dev_devlink_trap_policer_counter_get, > 908 .port_new = nsim_dev_devlink_port_new, > 909 .port_del = nsim_dev_devlink_port_del, 910 }; 911 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org