Hi Wambui, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing head: 08283d30744434d8f30d386622372e8f5b03bcf2 commit: ef1fe6b7369a822d86a2fb8a688c721ae7f4eed3 [156/337] staging: octeon: remove typedef declaration for cvmx_wqe config: mips-cavium_octeon_defconfig (attached as .config) compiler: mips64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout ef1fe6b7369a822d86a2fb8a688c721ae7f4eed3 # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=mips If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): drivers/staging/octeon/ethernet.c: In function 'cvm_oct_free_work': >> drivers/staging/octeon/ethernet.c:177:21: error: dereferencing pointer to incomplete type 'struct cvmx_wqe' int segments = work->word2.s.bufs; ^~ -- >> drivers/staging/octeon/ethernet-rx.c:63:50: warning: 'struct cvmx_wqe' declared inside parameter list will not be visible outside of this definition or declaration static inline int cvm_oct_check_rcv_error(struct cvmx_wqe *work) ^~~~~~~~ drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_check_rcv_error': >> drivers/staging/octeon/ethernet-rx.c:68:14: error: dereferencing pointer to incomplete type 'struct cvmx_wqe' port = work->word0.pip.cn68xx.pknd; ^~ drivers/staging/octeon/ethernet-rx.c: At top level: drivers/staging/octeon/ethernet-rx.c:138:41: warning: 'struct cvmx_wqe' declared inside parameter list will not be visible outside of this definition or declaration static void copy_segments_to_skb(struct cvmx_wqe *work, struct sk_buff *skb) ^~~~~~~~ drivers/staging/octeon/ethernet-rx.c: In function 'copy_segments_to_skb': drivers/staging/octeon/ethernet-rx.c:140:21: error: dereferencing pointer to incomplete type 'struct cvmx_wqe' int segments = work->word2.s.bufs; ^~ drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_poll': >> drivers/staging/octeon/ethernet-rx.c:222:9: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] work = cvmx_pow_work_response_async(CVMX_SCR_SCRATCH); ^ drivers/staging/octeon/ethernet-rx.c:224:9: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] work = cvmx_pow_work_request_sync(CVMX_POW_NO_WAIT); ^ drivers/staging/octeon/ethernet-rx.c:245:32: error: dereferencing pointer to incomplete type 'struct cvmx_wqe' (cvm_oct_get_buffer_ptr(work->packet_ptr) - ^~ >> drivers/staging/octeon/ethernet-rx.c:272:32: error: passing argument 1 of 'cvm_oct_check_rcv_error' from incompatible pointer type [-Werror=incompatible-pointer-types] if (cvm_oct_check_rcv_error(work)) ^~~~ drivers/staging/octeon/ethernet-rx.c:63:19: note: expected 'struct cvmx_wqe *' but argument is of type 'struct cvmx_wqe *' static inline int cvm_oct_check_rcv_error(struct cvmx_wqe *work) ^~~~~~~~~~~~~~~~~~~~~~~ >> drivers/staging/octeon/ethernet-rx.c:319:26: error: passing argument 1 of 'copy_segments_to_skb' from incompatible pointer type [-Werror=incompatible-pointer-types] copy_segments_to_skb(work, skb); ^~~~ drivers/staging/octeon/ethernet-rx.c:138:13: note: expected 'struct cvmx_wqe *' but argument is of type 'struct cvmx_wqe *' static void copy_segments_to_skb(struct cvmx_wqe *work, struct sk_buff *skb) ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- drivers/staging/octeon/ethernet-tx.c: In function 'cvm_oct_xmit_pow': >> drivers/staging/octeon/ethernet-tx.c:562:7: error: dereferencing pointer to incomplete type 'struct cvmx_wqe' work->word0.pip.cn38xx.hw_chksum = skb->csum; ^~ >> drivers/staging/octeon/ethernet-tx.c:564:20: error: passing argument 1 of 'cvmx_wqe_set_port' from incompatible pointer type [-Werror=incompatible-pointer-types] cvmx_wqe_set_port(work, priv->port); ^~~~ In file included from arch/mips/include/asm/octeon/cvmx-helper.h:39:0, from drivers/staging/octeon/octeon-ethernet.h:25, from drivers/staging/octeon/ethernet-tx.c:25: arch/mips/include/asm/octeon/cvmx-wqe.h:610:20: note: expected 'cvmx_wqe_t * {aka struct <anonymous> *}' but argument is of type 'struct cvmx_wqe *' static inline void cvmx_wqe_set_port(cvmx_wqe_t *work, int port) ^~~~~~~~~~~~~~~~~ >> drivers/staging/octeon/ethernet-tx.c:565:19: error: passing argument 1 of 'cvmx_wqe_set_qos' from incompatible pointer type [-Werror=incompatible-pointer-types] cvmx_wqe_set_qos(work, priv->port & 0x7); ^~~~ In file included from arch/mips/include/asm/octeon/cvmx-helper.h:39:0, from drivers/staging/octeon/octeon-ethernet.h:25, from drivers/staging/octeon/ethernet-tx.c:25: arch/mips/include/asm/octeon/cvmx-wqe.h:650:20: note: expected 'cvmx_wqe_t * {aka struct <anonymous> *}' but argument is of type 'struct cvmx_wqe *' static inline void cvmx_wqe_set_qos(cvmx_wqe_t *work, int qos) ^~~~~~~~~~~~~~~~ >> drivers/staging/octeon/ethernet-tx.c:566:19: error: passing argument 1 of 'cvmx_wqe_set_grp' from incompatible pointer type [-Werror=incompatible-pointer-types] cvmx_wqe_set_grp(work, pow_send_group); ^~~~ In file included from arch/mips/include/asm/octeon/cvmx-helper.h:39:0, from drivers/staging/octeon/octeon-ethernet.h:25, from drivers/staging/octeon/ethernet-tx.c:25: arch/mips/include/asm/octeon/cvmx-wqe.h:630:20: note: expected 'cvmx_wqe_t * {aka struct <anonymous> *}' but argument is of type 'struct cvmx_wqe *' static inline void cvmx_wqe_set_grp(cvmx_wqe_t *work, int grp) ^~~~~~~~~~~~~~~~ >> drivers/staging/octeon/ethernet-tx.c:649:26: error: passing argument 1 of 'cvmx_wqe_get_qos' from incompatible pointer type [-Werror=incompatible-pointer-types] cvmx_wqe_get_qos(work), cvmx_wqe_get_grp(work)); ^~~~ In file included from arch/mips/include/asm/octeon/cvmx-helper.h:39:0, from drivers/staging/octeon/octeon-ethernet.h:25, from drivers/staging/octeon/ethernet-tx.c:25: arch/mips/include/asm/octeon/cvmx-wqe.h:638:19: note: expected 'cvmx_wqe_t * {aka struct <anonymous> *}' but argument is of type 'struct cvmx_wqe *' static inline int cvmx_wqe_get_qos(cvmx_wqe_t *work) ^~~~~~~~~~~~~~~~ >> drivers/staging/octeon/ethernet-tx.c:649:50: error: passing argument 1 of 'cvmx_wqe_get_grp' from incompatible pointer type [-Werror=incompatible-pointer-types] cvmx_wqe_get_qos(work), cvmx_wqe_get_grp(work)); ^~~~ In file included from arch/mips/include/asm/octeon/cvmx-helper.h:39:0, from drivers/staging/octeon/octeon-ethernet.h:25, from drivers/staging/octeon/ethernet-tx.c:25: arch/mips/include/asm/octeon/cvmx-wqe.h:618:19: note: expected 'cvmx_wqe_t * {aka struct <anonymous> *}' but argument is of type 'struct cvmx_wqe *' static inline int cvmx_wqe_get_grp(cvmx_wqe_t *work) ^~~~~~~~~~~~~~~~ >> drivers/staging/octeon/ethernet-tx.c:648:23: error: passing argument 1 of 'cvmx_pow_work_submit' from incompatible pointer type [-Werror=incompatible-pointer-types] cvmx_pow_work_submit(work, work->word1.tag, work->word1.tag_type, ^~~~ In file included from arch/mips/include/asm/octeon/cvmx-pko.h:62:0, from drivers/staging/octeon/octeon-ethernet.h:31, from drivers/staging/octeon/ethernet-tx.c:25: arch/mips/include/asm/octeon/cvmx-pow.h:1806:20: note: expected 'cvmx_wqe_t * {aka struct <anonymous> *}' but argument is of type 'struct cvmx_wqe *' static inline void cvmx_pow_work_submit(cvmx_wqe_t *wqp, uint32_t tag, ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +177 drivers/staging/octeon/ethernet.c 80ff0fd3ab6451 David Daney 2009-05-05 165 80ff0fd3ab6451 David Daney 2009-05-05 166 /** ec977c5b473e29 David Daney 2010-02-16 167 * cvm_oct_free_work- Free a work queue entry ec977c5b473e29 David Daney 2010-02-16 168 * ec977c5b473e29 David Daney 2010-02-16 169 * @work_queue_entry: Work queue entry to free 80ff0fd3ab6451 David Daney 2009-05-05 170 * 80ff0fd3ab6451 David Daney 2009-05-05 171 * Returns Zero on success, Negative on failure. 80ff0fd3ab6451 David Daney 2009-05-05 172 */ 80ff0fd3ab6451 David Daney 2009-05-05 173 int cvm_oct_free_work(void *work_queue_entry) 80ff0fd3ab6451 David Daney 2009-05-05 174 { ef1fe6b7369a82 Wambui Karuga 2019-10-12 175 struct cvmx_wqe *work = work_queue_entry; 80ff0fd3ab6451 David Daney 2009-05-05 176 80ff0fd3ab6451 David Daney 2009-05-05 @177 int segments = work->word2.s.bufs; 80ff0fd3ab6451 David Daney 2009-05-05 178 union cvmx_buf_ptr segment_ptr = work->packet_ptr; 80ff0fd3ab6451 David Daney 2009-05-05 179 80ff0fd3ab6451 David Daney 2009-05-05 180 while (segments--) { 80ff0fd3ab6451 David Daney 2009-05-05 181 union cvmx_buf_ptr next_ptr = *(union cvmx_buf_ptr *) 80ff0fd3ab6451 David Daney 2009-05-05 182 cvmx_phys_to_ptr(segment_ptr.s.addr - 8); 80ff0fd3ab6451 David Daney 2009-05-05 183 if (unlikely(!segment_ptr.s.i)) 80ff0fd3ab6451 David Daney 2009-05-05 184 cvmx_fpa_free(cvm_oct_get_buffer_ptr(segment_ptr), 80ff0fd3ab6451 David Daney 2009-05-05 185 segment_ptr.s.pool, c93b0e75a819e6 Aaro Koskinen 2015-04-04 186 CVMX_FPA_PACKET_POOL_SIZE / 128); 80ff0fd3ab6451 David Daney 2009-05-05 187 segment_ptr = next_ptr; 80ff0fd3ab6451 David Daney 2009-05-05 188 } c93b0e75a819e6 Aaro Koskinen 2015-04-04 189 cvmx_fpa_free(work, CVMX_FPA_WQE_POOL, 1); 80ff0fd3ab6451 David Daney 2009-05-05 190 80ff0fd3ab6451 David Daney 2009-05-05 191 return 0; 80ff0fd3ab6451 David Daney 2009-05-05 192 } 80ff0fd3ab6451 David Daney 2009-05-05 193 EXPORT_SYMBOL(cvm_oct_free_work); 80ff0fd3ab6451 David Daney 2009-05-05 194 :::::: The code at line 177 was first introduced by commit :::::: 80ff0fd3ab6451407a20c19b80c1643c4a6d6434 Staging: Add octeon-ethernet driver files. :::::: TO: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> :::::: CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel