Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* Re: [PATCH v2 net-next] octeontx2-af: pass devlink switch id and cache representor map
       [not found] <20260923045826.1774338-1-rkannoth@marvell.com>
@ 2026-09-24  7:18 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-24  7:18 UTC (permalink / raw)
  To: Ratheesh Kannoth, linux-kernel, netdev
  Cc: llvm, oe-kbuild-all, andrew+netdev, davem, edumazet, kuba, pabeni,
	sgoutham, Ratheesh Kannoth

Hi Ratheesh,

kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]
[also build test ERROR on linus/master v7.3-rc4 next-20260922]
[cannot apply to linux-review/Ratheesh-Kannoth/octeontx2-af-Representor-devlink-id-and-port-mapping/20260918-103021 horms-ipvs/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Ratheesh-Kannoth/octeontx2-af-pass-devlink-switch-id-and-cache-representor-map/20260923-102826
base:   net-next/main
patch link:    https://lore.kernel.org/r/20260923045826.1774338-1-rkannoth%40marvell.com
patch subject: [PATCH v2 net-next] octeontx2-af: pass devlink switch id and cache representor map
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20260924/202609241557.82GuIoAK-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260924/202609241557.82GuIoAK-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609241557.82GuIoAK-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

>> drivers/net/ethernet/marvell/octeontx2/nic/rep.c:663:8: error: call to undeclared function 'rvu_get_rep_cnt'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     663 |         err = rvu_get_rep_cnt(priv);
         |               ^
>> drivers/net/ethernet/marvell/octeontx2/nic/rep.c:744:12: warning: no previous prototype for function 'rvu_get_rep_cnt' [-Wmissing-prototypes]
     744 | static int rvu_get_rep_cnt(struct otx2_nic *priv)
         |            ^
   drivers/net/ethernet/marvell/octeontx2/nic/rep.c:744:8: note: declare 'static' if the function is not intended to be used outside of this translation unit
     744 | static int rvu_get_rep_cnt(struct otx2_nic *priv)
         |        ^
   1 warning and 1 error generated.


vim +/rvu_get_rep_cnt +663 drivers/net/ethernet/marvell/octeontx2/nic/rep.c

   654	
   655	int rvu_rep_create(struct otx2_nic *priv, struct netlink_ext_ack *extack)
   656	{
   657		int rep_cnt = priv->rep_cnt;
   658		struct net_device *ndev;
   659		struct rep_dev *rep;
   660		int rep_id, err;
   661		u16 pcifunc;
   662	
 > 663		err = rvu_get_rep_cnt(priv);
   664		if (err)
   665			return err;
   666	
   667		err = rvu_rep_rsrc_init(priv);
   668		if (err)
   669			return -ENOMEM;
   670	
   671		priv->reps = kzalloc_objs(struct rep_dev *, rep_cnt);
   672		if (!priv->reps)
   673			return -ENOMEM;
   674	
   675		for (rep_id = 0; rep_id < rep_cnt; rep_id++) {
   676			ndev = alloc_etherdev(sizeof(*rep));
   677			if (!ndev) {
   678				NL_SET_ERR_MSG_FMT_MOD(extack,
   679						       "PFVF representor:%d creation failed",
   680						       rep_id);
   681				err = -ENOMEM;
   682				goto exit;
   683			}
   684	
   685			rep = netdev_priv(ndev);
   686			priv->reps[rep_id] = rep;
   687			rep->mdev = priv;
   688			rep->netdev = ndev;
   689			rep->rep_id = rep_id;
   690	
   691			ndev->min_mtu = OTX2_MIN_MTU;
   692			ndev->max_mtu = priv->hw.max_mtu;
   693			ndev->netdev_ops = &rvu_rep_netdev_ops;
   694			pcifunc = priv->rep_pf_map[rep_id];
   695			rep->pcifunc = pcifunc;
   696	
   697			snprintf(ndev->name, sizeof(ndev->name), "Rpf%dvf%d",
   698				 rvu_get_pf(priv->pdev, pcifunc),
   699				 (pcifunc & RVU_PFVF_FUNC_MASK));
   700	
   701			ndev->hw_features = (NETIF_F_RXCSUM | NETIF_F_IP_CSUM |
   702				       NETIF_F_IPV6_CSUM | NETIF_F_RXHASH |
   703				       NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6);
   704	
   705			ndev->hw_features |= NETIF_F_HW_TC;
   706			ndev->features |= ndev->hw_features;
   707			eth_hw_addr_random(ndev);
   708			err = rvu_rep_devlink_port_register(rep);
   709			if (err) {
   710				free_netdev(ndev);
   711				goto exit;
   712			}
   713	
   714			SET_NETDEV_DEVLINK_PORT(ndev, &rep->dl_port);
   715			err = register_netdev(ndev);
   716			if (err) {
   717				NL_SET_ERR_MSG_MOD(extack,
   718						   "PFVF representor registration failed");
   719				rvu_rep_devlink_port_unregister(rep);
   720				free_netdev(ndev);
   721				goto exit;
   722			}
   723	
   724			INIT_DELAYED_WORK(&rep->stats_wrk, rvu_rep_get_stats);
   725		}
   726		err = rvu_rep_napi_init(priv, extack);
   727		if (err)
   728			goto exit;
   729	
   730		rvu_eswitch_config(priv, true);
   731		return 0;
   732	exit:
   733		while (--rep_id >= 0) {
   734			rep = priv->reps[rep_id];
   735			unregister_netdev(rep->netdev);
   736			rvu_rep_devlink_port_unregister(rep);
   737			free_netdev(rep->netdev);
   738		}
   739		kfree(priv->reps);
   740		rvu_rep_rsrc_free(priv);
   741		return err;
   742	}
   743	
 > 744	static int rvu_get_rep_cnt(struct otx2_nic *priv)
   745	{
   746		struct get_rep_cnt_rsp *rsp;
   747		struct mbox_msghdr *msghdr;
   748		struct msg_req *req;
   749		int err, rep;
   750	
   751		mutex_lock(&priv->mbox.lock);
   752		req = otx2_mbox_alloc_msg_get_rep_cnt(&priv->mbox);
   753		if (!req) {
   754			mutex_unlock(&priv->mbox.lock);
   755			return -ENOMEM;
   756		}
   757		err = otx2_sync_mbox_msg(&priv->mbox);
   758		if (err)
   759			goto exit;
   760	
   761		msghdr = otx2_mbox_get_rsp(&priv->mbox.mbox, 0, &req->hdr);
   762		if (IS_ERR(msghdr)) {
   763			err = PTR_ERR(msghdr);
   764			goto exit;
   765		}
   766	
   767		rsp = (struct get_rep_cnt_rsp *)msghdr;
   768		priv->hw.tx_queues = rsp->rep_cnt;
   769		priv->hw.rx_queues = rsp->rep_cnt;
   770		priv->rep_cnt = rsp->rep_cnt;
   771		for (rep = 0; rep < priv->rep_cnt; rep++)
   772			priv->rep_pf_map[rep] = rsp->rep_pf_map[rep];
   773	
   774	exit:
   775		mutex_unlock(&priv->mbox.lock);
   776		return err;
   777	}
   778	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-24  7:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260923045826.1774338-1-rkannoth@marvell.com>
2026-09-24  7:18 ` [PATCH v2 net-next] octeontx2-af: pass devlink switch id and cache representor map kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox