From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3024BC433E0 for ; Tue, 9 Feb 2021 07:52:08 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BAC8664E37 for ; Tue, 9 Feb 2021 07:52:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BAC8664E37 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: MIME-Version:Message-ID:Subject:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=xX30LzH3zblgGYcQy7SNBU3pqBBMB8UvOTZTcVjmFIE=; b=FAb sAy1SEu+EHde8AH1zc7l+I3ZZwtitW3eNup0vIYaR7raoH6SL4RE+vgYGMMZ2SvG3PPUVvp6eXb5s v1QkiwGz33CWNDFSB+93+nSm4AmY7tPAsVKWfchoVzB1HFAkU8M3z7MT37MEwjvjqKV0GIChgaYsI SPxm++nE49tjOF9tWnu+0YLvaaI7lN+UVONR0vqHmLyMMgua5Y+/PY+zwc2xLOUAqarRlYJQLVCTD vb8fmBreQJ+lWt3Xh4WqTOjiNZ7bj/xyxl9abvSPj2LSlTcv4h/BEnJgRW/wEfEo6aas+x1E6tEP4 j0n+cf/13cvOa5k1qsi4vuQCkAz34Tg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l9NnA-0005oA-5V; Tue, 09 Feb 2021 07:50:36 +0000 Received: from mga02.intel.com ([134.134.136.20]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l9Nn7-0005nb-E2 for linux-arm-kernel@lists.infradead.org; Tue, 09 Feb 2021 07:50:35 +0000 IronPort-SDR: Wj27zpVNU2ezLVoMQ6rJf5E8Mg8EygdNIWKSmvGB4PBTZrfB6Qa9aZa7bFujfZf+NLgNgPCz9M aaokvSv+UGzQ== X-IronPort-AV: E=McAfee;i="6000,8403,9889"; a="168966811" X-IronPort-AV: E=Sophos;i="5.81,164,1610438400"; d="gz'50?scan'50,208,50";a="168966811" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2021 23:50:31 -0800 IronPort-SDR: 9Q02RKhS4Yajr4W7MU91/lxVdY1VzPIJnMVkurtBHSgC3wMhcDzLeHvMIlfmkUIYzpVgOte8/Z giyWAQ7+BlXQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,164,1610438400"; d="gz'50?scan'50,208,50";a="418859437" Received: from lkp-server02.sh.intel.com (HELO cd560a204411) ([10.239.97.151]) by FMSMGA003.fm.intel.com with ESMTP; 08 Feb 2021 23:50:27 -0800 Received: from kbuild by cd560a204411 with local (Exim 4.92) (envelope-from ) id 1l9Nn0-0001rO-Oc; Tue, 09 Feb 2021 07:50:26 +0000 Date: Tue, 9 Feb 2021 15:49:43 +0800 From: kernel test robot To: Pranavi Somisetty Subject: [xlnx:master 193/271] drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:57:9: error: implicit declaration of function 'axienet_mcdma_rx_q_init'; did you mean Message-ID: <202102091534.DFDXpqlW-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="T4sUOijqQbZv57TR" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210209_025033_879863_9082A148 X-CRM114-Status: GOOD ( 16.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Saurabh Sengar , Michal Simek , kbuild-all@lists.01.org, Ravali Potineni , Syed Syed , Priyadarshini Babu , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org --T4sUOijqQbZv57TR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://github.com/Xilinx/linux-xlnx master head: d3774573d5a9700273bd0c3ff82af157107f7fa6 commit: f2be433a639c7a9beddc59dcaf4f3a5ee9bd511e [193/271] net: xilinx: Refactor TSN functions into xilinx_tsn_ip.c config: h8300-randconfig-s031-20210209 (attached as .config) compiler: h8300-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-215-g0fb77bb6-dirty # https://github.com/Xilinx/linux-xlnx/commit/f2be433a639c7a9beddc59dcaf4f3a5ee9bd511e git remote add xlnx https://github.com/Xilinx/linux-xlnx git fetch --no-tags xlnx master git checkout f2be433a639c7a9beddc59dcaf4f3a5ee9bd511e # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/h8300/include/asm/bug.h:8, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/preempt.h:5, from ./arch/h8300/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/skbuff.h:15, from include/linux/if_ether.h:19, from include/linux/etherdevice.h:20, from drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:18: include/linux/dma-mapping.h: In function 'dma_map_resource': include/asm-generic/page.h:91:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 91 | #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/asm-generic/bug.h:182:25: note: in definition of macro 'WARN_ON' 182 | int __ret_warn_on = !!(condition); \ | ^~~~~~~~~ include/linux/dma-mapping.h:355:6: note: in expansion of macro 'WARN_ON_ONCE' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~~~~ include/linux/dma-mapping.h:355:19: note: in expansion of macro 'pfn_valid' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ep.c: In function 'tsn_ep_open': >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:57:9: error: implicit declaration of function 'axienet_mcdma_rx_q_init'; did you mean 'axienet_dma_q_init'? [-Werror=implicit-function-declaration] 57 | ret = axienet_mcdma_rx_q_init(ndev, q); | ^~~~~~~~~~~~~~~~~~~~~~~ | axienet_dma_q_init >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:60:32: error: 'axienet_mcdma_rx_irq' undeclared (first use in this function); did you mean 'axienet_rx_irq'? 60 | ret = request_irq(q->rx_irq, axienet_mcdma_rx_irq, | ^~~~~~~~~~~~~~~~~~~~ | axienet_rx_irq drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:60:32: note: each undeclared identifier is reported only once for each function it appears in >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:66:9: error: 'axienet_mcdma_err_handler' undeclared (first use in this function); did you mean 'axienet_dma_err_handler'? 66 | axienet_mcdma_err_handler, | ^~~~~~~~~~~~~~~~~~~~~~~~~ | axienet_dma_err_handler >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:74:9: error: implicit declaration of function 'axienet_mcdma_tx_q_init'; did you mean 'axienet_dma_q_init'? [-Werror=implicit-function-declaration] 74 | ret = axienet_mcdma_tx_q_init(ndev, q); | ^~~~~~~~~~~~~~~~~~~~~~~ | axienet_dma_q_init >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:76:32: error: 'axienet_mcdma_tx_irq' undeclared (first use in this function); did you mean 'axienet_tx_irq'? 76 | ret = request_irq(q->tx_irq, axienet_mcdma_tx_irq, | ^~~~~~~~~~~~~~~~~~~~ | axienet_tx_irq cc1: some warnings being treated as errors -- In file included from arch/h8300/include/asm/bug.h:8, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/preempt.h:5, from ./arch/h8300/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/stat.h:19, from include/linux/module.h:10, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: include/linux/dma-mapping.h: In function 'dma_map_resource': include/asm-generic/page.h:91:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 91 | #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/asm-generic/bug.h:182:25: note: in definition of macro 'WARN_ON' 182 | int __ret_warn_on = !!(condition); \ | ^~~~~~~~~ include/linux/dma-mapping.h:355:6: note: in expansion of macro 'WARN_ON_ONCE' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~~~~ include/linux/dma-mapping.h:355:19: note: in expansion of macro 'pfn_valid' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c: In function 'axienet_tsn_probe': >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:108:4: error: 'struct axienet_local' has no member named 'ptp_rx_irq' 108 | lp->ptp_rx_irq = platform_get_irq_byname(pdev, irq_name); | ^~ In file included from include/linux/kernel.h:15, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:110:35: error: 'struct axienet_local' has no member named 'ptp_rx_irq' 110 | pr_info("ptp RX irq: %d %s\n", lp->ptp_rx_irq, irq_name); | ^~ include/linux/printk.h:311:34: note: in definition of macro 'pr_info' 311 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:112:4: error: 'struct axienet_local' has no member named 'ptp_tx_irq' 112 | lp->ptp_tx_irq = platform_get_irq_byname(pdev, irq_name); | ^~ In file included from include/linux/kernel.h:15, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:113:35: error: 'struct axienet_local' has no member named 'ptp_tx_irq' 113 | pr_info("ptp TX irq: %d %s\n", lp->ptp_tx_irq, irq_name); | ^~ include/linux/printk.h:311:34: note: in definition of macro 'pr_info' 311 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:116:4: error: 'struct axienet_local' has no member named 'qbv_irq' 116 | lp->qbv_irq = platform_get_irq_byname(pdev, irq_name); | ^~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:119:8: error: 'struct axienet_local' has no member named 'qbv_irq' 119 | if (lp->qbv_irq > 0) | ^~ In file included from include/linux/kernel.h:15, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:120:33: error: 'struct axienet_local' has no member named 'qbv_irq' 120 | pr_info("qbv_irq: %d %s\n", lp->qbv_irq, irq_name); | ^~ include/linux/printk.h:311:34: note: in definition of macro 'pr_info' 311 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:125:3: error: implicit declaration of function 'axienet_ptp_timer_probe'; did you mean 'axienet_tsn_probe'? [-Werror=implicit-function-declaration] 125 | axienet_ptp_timer_probe((lp->regs + XAE_RTC_OFFSET), pdev); | ^~~~~~~~~~~~~~~~~~~~~~~ | axienet_tsn_probe >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:125:39: error: 'XAE_RTC_OFFSET' undeclared (first use in this function); did you mean 'XAE_TC_OFFSET'? 125 | axienet_ptp_timer_probe((lp->regs + XAE_RTC_OFFSET), pdev); | ^~~~~~~~~~~~~~ | XAE_TC_OFFSET drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:125:39: note: each undeclared identifier is reported only once for each function it appears in drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:93:6: warning: unused variable 'ret' [-Wunused-variable] 93 | int ret = 0; | ^~~ In file included from include/linux/mm_types.h:16, from include/linux/mmzone.h:21, from include/linux/gfp.h:6, from include/linux/umh.h:4, from include/linux/kmod.h:9, from include/linux/module.h:13, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c: In function 'axienet_tsn_open': >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axienet_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:242:16: note: in definition of macro '__INIT_WORK' 242 | __init_work((_work), _onstack); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axienet_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:243:4: note: in definition of macro '__INIT_WORK' 243 | (_work)->data = (atomic_long_t) WORK_DATA_INIT(); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axienet_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:244:20: note: in definition of macro '__INIT_WORK' 244 | INIT_LIST_HEAD(&(_work)->entry); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axienet_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:245:4: note: in definition of macro '__INIT_WORK' 245 | (_work)->func = (_func); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:33: error: 'axienet_tx_tstamp' undeclared (first use in this function); did you mean 'axienet_tx_hwtstamp'? 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~~~~~~~~~ include/linux/workqueue.h:245:20: note: in definition of macro '__INIT_WORK' 245 | (_work)->func = (_func); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:280:25: error: 'struct axienet_local' has no member named 'ptp_txq' 280 | skb_queue_head_init(&lp->ptp_txq); | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:282:4: error: 'struct axienet_local' has no member named 'ptp_rx_hw_pointer' 282 | lp->ptp_rx_hw_pointer = 0; | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:283:4: error: 'struct axienet_local' has no member named 'ptp_rx_sw_pointer' 283 | lp->ptp_rx_sw_pointer = 0xff; | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:285:18: error: 'PTP_RX_CONTROL_OFFSET' undeclared (first use in this function) 285 | axienet_iow(lp, PTP_RX_CONTROL_OFFSET, PTP_RX_PACKET_CLEAR); | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:285:41: error: 'PTP_RX_PACKET_CLEAR' undeclared (first use in this function); did you mean 'PTR_TO_PACKET_END'? 285 | axienet_iow(lp, PTP_RX_CONTROL_OFFSET, PTP_RX_PACKET_CLEAR); | ^~~~~~~~~~~~~~~~~~~ | PTR_TO_PACKET_END drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:287:22: error: 'struct axienet_local' has no member named 'ptp_rx_irq' 287 | ret = request_irq(lp->ptp_rx_irq, axienet_ptp_rx_irq, | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:287:36: error: 'axienet_ptp_rx_irq' undeclared (first use in this function); did you mean 'axienet_rx_irq'? 287 | ret = request_irq(lp->ptp_rx_irq, axienet_ptp_rx_irq, | ^~~~~~~~~~~~~~~~~~ | axienet_rx_irq drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:292:22: error: 'struct axienet_local' has no member named 'ptp_tx_irq' 292 | ret = request_irq(lp->ptp_tx_irq, axienet_ptp_tx_irq, | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:292:36: error: 'axienet_ptp_tx_irq' undeclared (first use in this function); did you mean 'axienet_tx_irq'? 292 | ret = request_irq(lp->ptp_tx_irq, axienet_ptp_tx_irq, | ^~~~~~~~~~~~~~~~~~ | axienet_tx_irq drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:302:13: error: 'struct axienet_local' has no member named 'ptp_rx_irq' 302 | free_irq(lp->ptp_rx_irq, ndev); | ^~ cc1: some warnings being treated as errors vim +57 drivers/net/ethernet/xilinx/xilinx_tsn_ep.c 30 31 /** 32 * tsn_ep_open - TSN EP driver open routine. 33 * @ndev: Pointer to net_device structure 34 * 35 * Return: 0, on success. 36 * non-zero error value on failure 37 * 38 * This is the driver open routine. It also allocates interrupt service 39 * routines, enables the interrupt lines and ISR handling. Axi Ethernet 40 * core is reset through Axi DMA core. Buffer descriptors are initialized. 41 */ 42 static int tsn_ep_open(struct net_device *ndev) 43 { 44 int ret, i = 0; 45 struct axienet_local *lp = netdev_priv(ndev); 46 struct axienet_dma_q *q; 47 48 for_each_tx_dma_queue(lp, i) { 49 q = lp->dq[i]; 50 /*MCDMA TX RESET*/ 51 __axienet_device_reset(q); 52 } 53 54 for_each_rx_dma_queue(lp, i) { 55 q = lp->dq[i]; 56 > 57 ret = axienet_mcdma_rx_q_init(ndev, q); 58 /* Enable interrupts for Axi MCDMA Rx 59 */ > 60 ret = request_irq(q->rx_irq, axienet_mcdma_rx_irq, 61 IRQF_SHARED, ndev->name, ndev); 62 if (ret) 63 goto err_dma_rx_irq; 64 65 tasklet_init(&lp->dma_err_tasklet[i], > 66 axienet_mcdma_err_handler, 67 (unsigned long)lp->dq[i]); 68 napi_enable(&lp->napi[i]); 69 } 70 71 for_each_tx_dma_queue(lp, i) { 72 q = lp->dq[i]; 73 > 74 ret = axienet_mcdma_tx_q_init(ndev, q); 75 /* Enable interrupts for Axi MCDMA Tx */ > 76 ret = request_irq(q->tx_irq, axienet_mcdma_tx_irq, 77 IRQF_SHARED, ndev->name, ndev); 78 if (ret) 79 goto err_dma_tx_irq; 80 } 81 82 netif_tx_start_all_queues(ndev); 83 return 0; 84 85 err_dma_tx_irq: 86 for_each_rx_dma_queue(lp, i) { 87 q = lp->dq[i]; 88 free_irq(q->rx_irq, ndev); 89 } 90 err_dma_rx_irq: 91 return ret; 92 } 93 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --T4sUOijqQbZv57TR Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --T4sUOijqQbZv57TR Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --T4sUOijqQbZv57TR-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7987334143756230294==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [xlnx:master 193/271] drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:57:9: error: implicit declaration of function 'axienet_mcdma_rx_q_init'; did you mean Date: Tue, 09 Feb 2021 15:49:43 +0800 Message-ID: <202102091534.DFDXpqlW-lkp@intel.com> List-Id: --===============7987334143756230294== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://github.com/Xilinx/linux-xlnx master head: d3774573d5a9700273bd0c3ff82af157107f7fa6 commit: f2be433a639c7a9beddc59dcaf4f3a5ee9bd511e [193/271] net: xilinx: Ref= actor TSN functions into xilinx_tsn_ip.c config: h8300-randconfig-s031-20210209 (attached as .config) compiler: h8300-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-215-g0fb77bb6-dirty # https://github.com/Xilinx/linux-xlnx/commit/f2be433a639c7a9beddc5= 9dcaf4f3a5ee9bd511e git remote add xlnx https://github.com/Xilinx/linux-xlnx git fetch --no-tags xlnx master git checkout f2be433a639c7a9beddc59dcaf4f3a5ee9bd511e # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = C=3D1 CF=3D'-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=3Dh8300 = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/h8300/include/asm/bug.h:8, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/preempt.h:5, from ./arch/h8300/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/skbuff.h:15, from include/linux/if_ether.h:19, from include/linux/etherdevice.h:20, from drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:18: include/linux/dma-mapping.h: In function 'dma_map_resource': include/asm-generic/page.h:91:32: warning: comparison of unsigned expres= sion >=3D 0 is always true [-Wtype-limits] 91 | #define pfn_valid(pfn) ((pfn) >=3D ARCH_PFN_OFFSET && ((pfn) - = ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/asm-generic/bug.h:182:25: note: in definition of macro 'WARN_ON' 182 | int __ret_warn_on =3D !!(condition); \ | ^~~~~~~~~ include/linux/dma-mapping.h:355:6: note: in expansion of macro 'WARN_ON_= ONCE' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~~~~ include/linux/dma-mapping.h:355:19: note: in expansion of macro 'pfn_val= id' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ep.c: In function 'tsn_ep_open': >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:57:9: error: implicit declar= ation of function 'axienet_mcdma_rx_q_init'; did you mean 'axienet_dma_q_in= it'? [-Werror=3Dimplicit-function-declaration] 57 | ret =3D axienet_mcdma_rx_q_init(ndev, q); | ^~~~~~~~~~~~~~~~~~~~~~~ | axienet_dma_q_init >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:60:32: error: 'axienet_mcdma= _rx_irq' undeclared (first use in this function); did you mean 'axienet_rx_= irq'? 60 | ret =3D request_irq(q->rx_irq, axienet_mcdma_rx_irq, | ^~~~~~~~~~~~~~~~~~~~ | axienet_rx_irq drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:60:32: note: each undeclared= identifier is reported only once for each function it appears in >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:66:9: error: 'axienet_mcdma_= err_handler' undeclared (first use in this function); did you mean 'axienet= _dma_err_handler'? 66 | axienet_mcdma_err_handler, | ^~~~~~~~~~~~~~~~~~~~~~~~~ | axienet_dma_err_handler >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:74:9: error: implicit declar= ation of function 'axienet_mcdma_tx_q_init'; did you mean 'axienet_dma_q_in= it'? [-Werror=3Dimplicit-function-declaration] 74 | ret =3D axienet_mcdma_tx_q_init(ndev, q); | ^~~~~~~~~~~~~~~~~~~~~~~ | axienet_dma_q_init >> drivers/net/ethernet/xilinx/xilinx_tsn_ep.c:76:32: error: 'axienet_mcdma= _tx_irq' undeclared (first use in this function); did you mean 'axienet_tx_= irq'? 76 | ret =3D request_irq(q->tx_irq, axienet_mcdma_tx_irq, | ^~~~~~~~~~~~~~~~~~~~ | axienet_tx_irq cc1: some warnings being treated as errors -- In file included from arch/h8300/include/asm/bug.h:8, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/preempt.h:5, from ./arch/h8300/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/stat.h:19, from include/linux/module.h:10, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: include/linux/dma-mapping.h: In function 'dma_map_resource': include/asm-generic/page.h:91:32: warning: comparison of unsigned expres= sion >=3D 0 is always true [-Wtype-limits] 91 | #define pfn_valid(pfn) ((pfn) >=3D ARCH_PFN_OFFSET && ((pfn) - = ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/asm-generic/bug.h:182:25: note: in definition of macro 'WARN_ON' 182 | int __ret_warn_on =3D !!(condition); \ | ^~~~~~~~~ include/linux/dma-mapping.h:355:6: note: in expansion of macro 'WARN_ON_= ONCE' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~~~~ include/linux/dma-mapping.h:355:19: note: in expansion of macro 'pfn_val= id' 355 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c: In function 'axienet_tsn_pr= obe': >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:108:4: error: 'struct axiene= t_local' has no member named 'ptp_rx_irq' 108 | lp->ptp_rx_irq =3D platform_get_irq_byname(pdev, irq_name); | ^~ In file included from include/linux/kernel.h:15, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:110:35: error: 'struct axien= et_local' has no member named 'ptp_rx_irq' 110 | pr_info("ptp RX irq: %d %s\n", lp->ptp_rx_irq, irq_name); | ^~ include/linux/printk.h:311:34: note: in definition of macro 'pr_info' 311 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:112:4: error: 'struct axiene= t_local' has no member named 'ptp_tx_irq' 112 | lp->ptp_tx_irq =3D platform_get_irq_byname(pdev, irq_name); | ^~ In file included from include/linux/kernel.h:15, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:113:35: error: 'struct axien= et_local' has no member named 'ptp_tx_irq' 113 | pr_info("ptp TX irq: %d %s\n", lp->ptp_tx_irq, irq_name); | ^~ include/linux/printk.h:311:34: note: in definition of macro 'pr_info' 311 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:116:4: error: 'struct axiene= t_local' has no member named 'qbv_irq' 116 | lp->qbv_irq =3D platform_get_irq_byname(pdev, irq_name); | ^~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:119:8: error: 'struct axiene= t_local' has no member named 'qbv_irq' 119 | if (lp->qbv_irq > 0) | ^~ In file included from include/linux/kernel.h:15, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:120:33: error: 'struct axien= et_local' has no member named 'qbv_irq' 120 | pr_info("qbv_irq: %d %s\n", lp->qbv_irq, irq_name); | ^~ include/linux/printk.h:311:34: note: in definition of macro 'pr_info' 311 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:125:3: error: implicit decla= ration of function 'axienet_ptp_timer_probe'; did you mean 'axienet_tsn_pro= be'? [-Werror=3Dimplicit-function-declaration] 125 | axienet_ptp_timer_probe((lp->regs + XAE_RTC_OFFSET), pdev); | ^~~~~~~~~~~~~~~~~~~~~~~ | axienet_tsn_probe >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:125:39: error: 'XAE_RTC_OFFS= ET' undeclared (first use in this function); did you mean 'XAE_TC_OFFSET'? 125 | axienet_ptp_timer_probe((lp->regs + XAE_RTC_OFFSET), pdev); | ^~~~~~~~~~~~~~ | XAE_TC_OFFSET drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:125:39: note: each undeclare= d identifier is reported only once for each function it appears in drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:93:6: warning: unused variab= le 'ret' [-Wunused-variable] 93 | int ret =3D 0; | ^~~ In file included from include/linux/mm_types.h:16, from include/linux/mmzone.h:21, from include/linux/gfp.h:6, from include/linux/umh.h:4, from include/linux/kmod.h:9, from include/linux/module.h:13, from drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:19: drivers/net/ethernet/xilinx/xilinx_tsn_ip.c: In function 'axienet_tsn_op= en': >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axien= et_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:242:16: note: in definition of macro '__INIT_W= ORK' 242 | __init_work((_work), _onstack); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of= macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axien= et_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:243:4: note: in definition of macro '__INIT_WO= RK' 243 | (_work)->data =3D (atomic_long_t) WORK_DATA_INIT(); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of= macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axien= et_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:244:20: note: in definition of macro '__INIT_W= ORK' 244 | INIT_LIST_HEAD(&(_work)->entry); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of= macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:15: error: 'struct axien= et_local' has no member named 'tx_tstamp_work' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~ include/linux/workqueue.h:245:4: note: in definition of macro '__INIT_WO= RK' 245 | (_work)->func =3D (_func); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of= macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:33: error: 'axienet_tx_t= stamp' undeclared (first use in this function); did you mean 'axienet_tx_hw= tstamp'? 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~~~~~~~~~ include/linux/workqueue.h:245:20: note: in definition of macro '__INIT_W= ORK' 245 | (_work)->func =3D (_func); \ | ^~~~~ drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:279:2: note: in expansion of= macro 'INIT_WORK' 279 | INIT_WORK(&lp->tx_tstamp_work, axienet_tx_tstamp); | ^~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:280:25: error: 'struct axien= et_local' has no member named 'ptp_txq' 280 | skb_queue_head_init(&lp->ptp_txq); | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:282:4: error: 'struct axiene= t_local' has no member named 'ptp_rx_hw_pointer' 282 | lp->ptp_rx_hw_pointer =3D 0; | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:283:4: error: 'struct axiene= t_local' has no member named 'ptp_rx_sw_pointer' 283 | lp->ptp_rx_sw_pointer =3D 0xff; | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:285:18: error: 'PTP_RX_CONTR= OL_OFFSET' undeclared (first use in this function) 285 | axienet_iow(lp, PTP_RX_CONTROL_OFFSET, PTP_RX_PACKET_CLEAR); | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:285:41: error: 'PTP_RX_PACKE= T_CLEAR' undeclared (first use in this function); did you mean 'PTR_TO_PACK= ET_END'? 285 | axienet_iow(lp, PTP_RX_CONTROL_OFFSET, PTP_RX_PACKET_CLEAR); | ^~~~~~~~~~~~~~~~~~~ | PTR_TO_PACKET_END drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:287:22: error: 'struct axien= et_local' has no member named 'ptp_rx_irq' 287 | ret =3D request_irq(lp->ptp_rx_irq, axienet_ptp_rx_irq, | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:287:36: error: 'axienet_ptp_= rx_irq' undeclared (first use in this function); did you mean 'axienet_rx_i= rq'? 287 | ret =3D request_irq(lp->ptp_rx_irq, axienet_ptp_rx_irq, | ^~~~~~~~~~~~~~~~~~ | axienet_rx_irq drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:292:22: error: 'struct axien= et_local' has no member named 'ptp_tx_irq' 292 | ret =3D request_irq(lp->ptp_tx_irq, axienet_ptp_tx_irq, | ^~ >> drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:292:36: error: 'axienet_ptp_= tx_irq' undeclared (first use in this function); did you mean 'axienet_tx_i= rq'? 292 | ret =3D request_irq(lp->ptp_tx_irq, axienet_ptp_tx_irq, | ^~~~~~~~~~~~~~~~~~ | axienet_tx_irq drivers/net/ethernet/xilinx/xilinx_tsn_ip.c:302:13: error: 'struct axien= et_local' has no member named 'ptp_rx_irq' 302 | free_irq(lp->ptp_rx_irq, ndev); | ^~ cc1: some warnings being treated as errors vim +57 drivers/net/ethernet/xilinx/xilinx_tsn_ep.c 30 = 31 /** 32 * tsn_ep_open - TSN EP driver open routine. 33 * @ndev: Pointer to net_device structure 34 * 35 * Return: 0, on success. 36 * non-zero error value on failure 37 * 38 * This is the driver open routine. It also allocates interrupt serv= ice 39 * routines, enables the interrupt lines and ISR handling. Axi Ether= net 40 * core is reset through Axi DMA core. Buffer descriptors are initia= lized. 41 */ 42 static int tsn_ep_open(struct net_device *ndev) 43 { 44 int ret, i =3D 0; 45 struct axienet_local *lp =3D netdev_priv(ndev); 46 struct axienet_dma_q *q; 47 = 48 for_each_tx_dma_queue(lp, i) { 49 q =3D lp->dq[i]; 50 /*MCDMA TX RESET*/ 51 __axienet_device_reset(q); 52 } 53 = 54 for_each_rx_dma_queue(lp, i) { 55 q =3D lp->dq[i]; 56 = > 57 ret =3D axienet_mcdma_rx_q_init(ndev, q); 58 /* Enable interrupts for Axi MCDMA Rx 59 */ > 60 ret =3D request_irq(q->rx_irq, axienet_mcdma_rx_irq, 61 IRQF_SHARED, ndev->name, ndev); 62 if (ret) 63 goto err_dma_rx_irq; 64 = 65 tasklet_init(&lp->dma_err_tasklet[i], > 66 axienet_mcdma_err_handler, 67 (unsigned long)lp->dq[i]); 68 napi_enable(&lp->napi[i]); 69 } 70 = 71 for_each_tx_dma_queue(lp, i) { 72 q =3D lp->dq[i]; 73 = > 74 ret =3D axienet_mcdma_tx_q_init(ndev, q); 75 /* Enable interrupts for Axi MCDMA Tx */ > 76 ret =3D request_irq(q->tx_irq, axienet_mcdma_tx_irq, 77 IRQF_SHARED, ndev->name, ndev); 78 if (ret) 79 goto err_dma_tx_irq; 80 } 81 = 82 netif_tx_start_all_queues(ndev); 83 return 0; 84 = 85 err_dma_tx_irq: 86 for_each_rx_dma_queue(lp, i) { 87 q =3D lp->dq[i]; 88 free_irq(q->rx_irq, ndev); 89 } 90 err_dma_rx_irq: 91 return ret; 92 } 93 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============7987334143756230294== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 j+gbiFKu6spdrRMmwVgP/T9V05c5EScBAA== --===============7987334143756230294==--