[xilinx-xlnx:xlnx_rebase_v5.15_LTS 247/1091] drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:252:9: error: implicit declaration of function 'axienet_mcdma_rx_probe'; did you mean 'axienet_tsn_probe'?

kernel test robot lkp at intel.com
Thu Apr 7 15:06:50 PDT 2022


tree:   https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15_LTS
head:   031eb9ce665429a9574c95f89bcc488fd0ba0ec1
commit: 4d9fed94faed158bd6d6a582b29483487fdb9871 [247/1091] net: xilinx: Add a separate mcdma probe function for TSN IP
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20220408/202204080507.ieFr0BfM-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 11.2.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/Xilinx/linux-xlnx/commit/4d9fed94faed158bd6d6a582b29483487fdb9871
        git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx
        git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.15_LTS
        git checkout 4d9fed94faed158bd6d6a582b29483487fdb9871
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

Note: the xilinx-xlnx/xlnx_rebase_v5.15_LTS HEAD 031eb9ce665429a9574c95f89bcc488fd0ba0ec1 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c: In function 'tsn_ep_open':
   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:58:23: error: implicit declaration of function 'axienet_mcdma_rx_q_init'; did you mean 'axienet_dma_q_init'? [-Werror=implicit-function-declaration]
      58 |                 ret = axienet_mcdma_rx_q_init(ndev, q);
         |                       ^~~~~~~~~~~~~~~~~~~~~~~
         |                       axienet_dma_q_init
   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:61:46: error: 'axienet_mcdma_rx_irq' undeclared (first use in this function); did you mean 'axienet_rx_irq'?
      61 |                 ret = request_irq(q->rx_irq, axienet_mcdma_rx_irq,
         |                                              ^~~~~~~~~~~~~~~~~~~~
         |                                              axienet_rx_irq
   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:61:46: note: each undeclared identifier is reported only once for each function it appears in
   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:67:30: error: 'axienet_mcdma_err_handler' undeclared (first use in this function); did you mean 'axienet_dma_err_handler'?
      67 |                              axienet_mcdma_err_handler,
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
         |                              axienet_dma_err_handler
   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:75:23: error: implicit declaration of function 'axienet_mcdma_tx_q_init'; did you mean 'axienet_dma_q_init'? [-Werror=implicit-function-declaration]
      75 |                 ret = axienet_mcdma_tx_q_init(ndev, q);
         |                       ^~~~~~~~~~~~~~~~~~~~~~~
         |                       axienet_dma_q_init
   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:77:46: error: 'axienet_mcdma_tx_irq' undeclared (first use in this function); did you mean 'axienet_tx_irq'?
      77 |                 ret = request_irq(q->tx_irq, axienet_mcdma_tx_irq,
         |                                              ^~~~~~~~~~~~~~~~~~~~
         |                                              axienet_tx_irq
   drivers/net/ethernet/xilinx/xilinx_tsn_ep.c: In function 'tsn_mcdma_probe':
>> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:252:9: error: implicit declaration of function 'axienet_mcdma_rx_probe'; did you mean 'axienet_tsn_probe'? [-Werror=implicit-function-declaration]
     252 |         axienet_mcdma_rx_probe(pdev, lp, ndev);
         |         ^~~~~~~~~~~~~~~~~~~~~~
         |         axienet_tsn_probe
>> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:253:9: error: implicit declaration of function 'axienet_mcdma_tx_probe'; did you mean 'axienet_tsn_probe'? [-Werror=implicit-function-declaration]
     253 |         axienet_mcdma_tx_probe(pdev, np, lp);
         |         ^~~~~~~~~~~~~~~~~~~~~~
         |         axienet_tsn_probe
   cc1: some warnings being treated as errors


vim +252 drivers/net/ethernet/xilinx/xilinx_tsn_ep.c

   190	
   191	/* separate function is needed to probe tsn mcdma
   192	 * as there is asymmetry between rx channels and tx channels
   193	 * having unique probe for both tsn and axienet with mcdma is not possible
   194	 */
   195	static int __maybe_unused tsn_mcdma_probe(struct platform_device *pdev,
   196						  struct axienet_local *lp,
   197						  struct net_device *ndev)
   198	{
   199		int i, ret = 0;
   200		struct axienet_dma_q *q;
   201		struct device_node *np;
   202		struct resource dmares;
   203		const char *str;
   204		u32 num;
   205	
   206		ret = of_property_count_strings(pdev->dev.of_node, "xlnx,channel-ids");
   207		if (ret < 0)
   208			return -EINVAL;
   209	
   210		np = of_parse_phandle(pdev->dev.of_node, "axistream-connected-rx",
   211				      0);
   212		/* get number of associated queues */
   213		ret = of_property_read_u32(np, "xlnx,num-s2mm-channels", &num);
   214		if (ret < 0)
   215			return -EINVAL;
   216	
   217		lp->num_rx_queues = num;
   218		pr_info("%s: num_rx_queues: %d\n", __func__, lp->num_rx_queues);
   219	
   220		for_each_rx_dma_queue(lp, i) {
   221			q = kzalloc(sizeof(*q), GFP_KERNEL);
   222	
   223			/* parent */
   224			q->lp = lp;
   225			lp->dq[i] = q;
   226			ret = of_property_read_string_index(pdev->dev.of_node,
   227							    "xlnx,channel-ids", i,
   228							    &str);
   229			ret = kstrtou16(str, 16, &q->chan_id);
   230			lp->qnum[i] = i;
   231			lp->chan_num[i] = q->chan_id;
   232		}
   233	
   234		if (IS_ERR(np)) {
   235			dev_err(&pdev->dev, "could not find DMA node\n");
   236			return ret;
   237		}
   238	
   239		ret = of_address_to_resource(np, 0, &dmares);
   240		if (ret) {
   241			dev_err(&pdev->dev, "unable to get DMA resource\n");
   242			return ret;
   243		}
   244	
   245		lp->mcdma_regs = devm_ioremap_resource(&pdev->dev, &dmares);
   246		if (IS_ERR(lp->mcdma_regs)) {
   247			dev_err(&pdev->dev, "iormeap failed for the dma\n");
   248			ret = PTR_ERR(lp->mcdma_regs);
   249			return ret;
   250		}
   251	
 > 252		axienet_mcdma_rx_probe(pdev, lp, ndev);
 > 253		axienet_mcdma_tx_probe(pdev, np, lp);
   254	
   255		return 0;
   256	}
   257	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the linux-arm-kernel mailing list