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 <l...@intel.com>

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 <dda...@caviumnetworks.com>
:::::: CC: Ralf Baechle <r...@linux-mips.org>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to