[linux-next:pending-fixes 107/314] drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:17:undefined reference to `devlink_priv'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git pending-fixes
head:   22645e656434a5f47e33fca73b4a51513e3252ea
commit: 697943657444a7d7123b47bc32019e62533f4863 [107/314] fbnic: Change kconfig prompt from S390=n to !S390
config: x86_64-randconfig-123-20240731 (https://download.01.org/0day-ci/archive/20240801/202408011219.hiPmwwAs-lkp@xxxxxxxxx/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240801/202408011219.hiPmwwAs-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408011219.hiPmwwAs-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   ld: vmlinux.o: in function `fbnic_devlink_info_get':
>> drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:17:(.text+0x1d77fee): undefined reference to `devlink_priv'
>> ld: drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:29:(.text+0x1d7805e): undefined reference to `devlink_info_serial_number_put'
   ld: vmlinux.o: in function `fbnic_devlink_free':
>> drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:43:(.text+0x1d780b2): undefined reference to `priv_to_devlink'
>> ld: drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:45:(.text+0x1d780ba): undefined reference to `devlink_free'
   ld: vmlinux.o: in function `devlink_alloc':
>> include/net/devlink.h:1541:(.text+0x1d780ee): undefined reference to `devlink_alloc_ns'
   ld: vmlinux.o: in function `fbnic_devlink_alloc':
   drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:59:(.text+0x1d78102): undefined reference to `devlink_priv'
   ld: vmlinux.o: in function `fbnic_devlink_register':
   drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:78:(.text+0x1d782d8): undefined reference to `priv_to_devlink'
>> ld: drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:80:(.text+0x1d782e0): undefined reference to `devlink_register'
   ld: vmlinux.o: in function `fbnic_devlink_unregister':
   drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:85:(.text+0x1d782ee): undefined reference to `priv_to_devlink'
>> ld: drivers/net/ethernet/meta/fbnic/fbnic_devlink.c:87:(.text+0x1d782f6): undefined reference to `devlink_unregister'


vim +17 drivers/net/ethernet/meta/fbnic/fbnic_devlink.c

1a9d48892ea5bf Alexander Duyck 2024-07-12  12  
1a9d48892ea5bf Alexander Duyck 2024-07-12  13  static int fbnic_devlink_info_get(struct devlink *devlink,
1a9d48892ea5bf Alexander Duyck 2024-07-12  14  				  struct devlink_info_req *req,
1a9d48892ea5bf Alexander Duyck 2024-07-12  15  				  struct netlink_ext_ack *extack)
1a9d48892ea5bf Alexander Duyck 2024-07-12  16  {
1a9d48892ea5bf Alexander Duyck 2024-07-12 @17  	struct fbnic_dev *fbd = devlink_priv(devlink);
1a9d48892ea5bf Alexander Duyck 2024-07-12  18  	int err;
1a9d48892ea5bf Alexander Duyck 2024-07-12  19  
1a9d48892ea5bf Alexander Duyck 2024-07-12  20  	if (fbd->dsn) {
1a9d48892ea5bf Alexander Duyck 2024-07-12  21  		unsigned char serial[FBNIC_SN_STR_LEN];
1a9d48892ea5bf Alexander Duyck 2024-07-12  22  		u8 dsn[8];
1a9d48892ea5bf Alexander Duyck 2024-07-12  23  
1a9d48892ea5bf Alexander Duyck 2024-07-12  24  		put_unaligned_be64(fbd->dsn, dsn);
1a9d48892ea5bf Alexander Duyck 2024-07-12  25  		err = snprintf(serial, FBNIC_SN_STR_LEN, "%8phD", dsn);
1a9d48892ea5bf Alexander Duyck 2024-07-12  26  		if (err < 0)
1a9d48892ea5bf Alexander Duyck 2024-07-12  27  			return err;
1a9d48892ea5bf Alexander Duyck 2024-07-12  28  
1a9d48892ea5bf Alexander Duyck 2024-07-12 @29  		err = devlink_info_serial_number_put(req, serial);
1a9d48892ea5bf Alexander Duyck 2024-07-12  30  		if (err)
1a9d48892ea5bf Alexander Duyck 2024-07-12  31  			return err;
1a9d48892ea5bf Alexander Duyck 2024-07-12  32  	}
1a9d48892ea5bf Alexander Duyck 2024-07-12  33  
1a9d48892ea5bf Alexander Duyck 2024-07-12  34  	return 0;
1a9d48892ea5bf Alexander Duyck 2024-07-12  35  }
1a9d48892ea5bf Alexander Duyck 2024-07-12  36  
1a9d48892ea5bf Alexander Duyck 2024-07-12  37  static const struct devlink_ops fbnic_devlink_ops = {
1a9d48892ea5bf Alexander Duyck 2024-07-12  38  	.info_get = fbnic_devlink_info_get,
1a9d48892ea5bf Alexander Duyck 2024-07-12  39  };
1a9d48892ea5bf Alexander Duyck 2024-07-12  40  
1a9d48892ea5bf Alexander Duyck 2024-07-12  41  void fbnic_devlink_free(struct fbnic_dev *fbd)
1a9d48892ea5bf Alexander Duyck 2024-07-12  42  {
1a9d48892ea5bf Alexander Duyck 2024-07-12 @43  	struct devlink *devlink = priv_to_devlink(fbd);
1a9d48892ea5bf Alexander Duyck 2024-07-12  44  
1a9d48892ea5bf Alexander Duyck 2024-07-12 @45  	devlink_free(devlink);
1a9d48892ea5bf Alexander Duyck 2024-07-12  46  }
1a9d48892ea5bf Alexander Duyck 2024-07-12  47  
1a9d48892ea5bf Alexander Duyck 2024-07-12  48  struct fbnic_dev *fbnic_devlink_alloc(struct pci_dev *pdev)
1a9d48892ea5bf Alexander Duyck 2024-07-12  49  {
1a9d48892ea5bf Alexander Duyck 2024-07-12  50  	void __iomem * const *iomap_table;
1a9d48892ea5bf Alexander Duyck 2024-07-12  51  	struct devlink *devlink;
1a9d48892ea5bf Alexander Duyck 2024-07-12  52  	struct fbnic_dev *fbd;
1a9d48892ea5bf Alexander Duyck 2024-07-12  53  
1a9d48892ea5bf Alexander Duyck 2024-07-12  54  	devlink = devlink_alloc(&fbnic_devlink_ops, sizeof(struct fbnic_dev),
1a9d48892ea5bf Alexander Duyck 2024-07-12  55  				&pdev->dev);
1a9d48892ea5bf Alexander Duyck 2024-07-12  56  	if (!devlink)
1a9d48892ea5bf Alexander Duyck 2024-07-12  57  		return NULL;
1a9d48892ea5bf Alexander Duyck 2024-07-12  58  
1a9d48892ea5bf Alexander Duyck 2024-07-12 @59  	fbd = devlink_priv(devlink);
1a9d48892ea5bf Alexander Duyck 2024-07-12  60  	pci_set_drvdata(pdev, fbd);
1a9d48892ea5bf Alexander Duyck 2024-07-12  61  	fbd->dev = &pdev->dev;
1a9d48892ea5bf Alexander Duyck 2024-07-12  62  
1a9d48892ea5bf Alexander Duyck 2024-07-12  63  	iomap_table = pcim_iomap_table(pdev);
1a9d48892ea5bf Alexander Duyck 2024-07-12  64  	fbd->uc_addr0 = iomap_table[0];
1a9d48892ea5bf Alexander Duyck 2024-07-12  65  	fbd->uc_addr4 = iomap_table[4];
1a9d48892ea5bf Alexander Duyck 2024-07-12  66  
1a9d48892ea5bf Alexander Duyck 2024-07-12  67  	fbd->dsn = pci_get_dsn(pdev);
3646153161f105 Alexander Duyck 2024-07-12  68  	fbd->mps = pcie_get_mps(pdev);
3646153161f105 Alexander Duyck 2024-07-12  69  	fbd->readrq = pcie_get_readrq(pdev);
1a9d48892ea5bf Alexander Duyck 2024-07-12  70  
eb690ef8d1c2a1 Alexander Duyck 2024-07-12  71  	fbd->mac_addr_boundary = FBNIC_RPC_TCAM_MACDA_DEFAULT_BOUNDARY;
eb690ef8d1c2a1 Alexander Duyck 2024-07-12  72  
1a9d48892ea5bf Alexander Duyck 2024-07-12  73  	return fbd;
1a9d48892ea5bf Alexander Duyck 2024-07-12  74  }
1a9d48892ea5bf Alexander Duyck 2024-07-12  75  
1a9d48892ea5bf Alexander Duyck 2024-07-12  76  void fbnic_devlink_register(struct fbnic_dev *fbd)
1a9d48892ea5bf Alexander Duyck 2024-07-12  77  {
1a9d48892ea5bf Alexander Duyck 2024-07-12  78  	struct devlink *devlink = priv_to_devlink(fbd);
1a9d48892ea5bf Alexander Duyck 2024-07-12  79  
1a9d48892ea5bf Alexander Duyck 2024-07-12 @80  	devlink_register(devlink);
1a9d48892ea5bf Alexander Duyck 2024-07-12  81  }
1a9d48892ea5bf Alexander Duyck 2024-07-12  82  
1a9d48892ea5bf Alexander Duyck 2024-07-12  83  void fbnic_devlink_unregister(struct fbnic_dev *fbd)
1a9d48892ea5bf Alexander Duyck 2024-07-12  84  {
1a9d48892ea5bf Alexander Duyck 2024-07-12  85  	struct devlink *devlink = priv_to_devlink(fbd);
1a9d48892ea5bf Alexander Duyck 2024-07-12  86  
1a9d48892ea5bf Alexander Duyck 2024-07-12 @87  	devlink_unregister(devlink);

:::::: The code at line 17 was first introduced by commit
:::::: 1a9d48892ea5bf27f359f40d96511acc3eecea58 eth: fbnic: Allocate core device specific structures and devlink interface

:::::: TO: Alexander Duyck <alexanderduyck@xxxxxx>
:::::: CC: Jakub Kicinski <kuba@xxxxxxxxxx>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux