[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