From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [staging:staging-testing 157/337] drivers/staging/octeon/ethernet.c:463:30: error: storage size of 'link_info' isn't known
Date: Tue, 12 Nov 2019 09:27:31 +0800 [thread overview]
Message-ID: <201911120930.vdaECUhO%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 16749 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing
head: 08283d30744434d8f30d386622372e8f5b03bcf2
commit: 73aef0c9d2c6f746e8c84775b73ef374b7a2a4dc [157/337] staging: octeon: remove typedef declaration for cvmx_helper_link_info
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 73aef0c9d2c6f746e8c84775b73ef374b7a2a4dc
# 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@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from drivers/staging/octeon/ethernet-mem.c:12:0:
>> drivers/staging/octeon/octeon-ethernet.h:94:12: warning: 'union cvmx_helper_link_info' declared inside parameter list will not be visible outside of this definition or declaration
union cvmx_helper_link_info li);
^~~~~~~~~~~~~~~~~~~~~
--
In file included from drivers/staging/octeon/ethernet.c:22:0:
>> drivers/staging/octeon/octeon-ethernet.h:94:12: warning: 'union cvmx_helper_link_info' declared inside parameter list will not be visible outside of this definition or declaration
union cvmx_helper_link_info li);
^~~~~~~~~~~~~~~~~~~~~
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.c: In function 'cvm_oct_common_open':
>> drivers/staging/octeon/ethernet.c:463:30: error: storage size of 'link_info' isn't known
union cvmx_helper_link_info link_info;
^~~~~~~~~
drivers/staging/octeon/ethernet.c:463:30: warning: unused variable 'link_info' [-Wunused-variable]
drivers/staging/octeon/ethernet.c: In function 'cvm_oct_link_poll':
drivers/staging/octeon/ethernet.c:499:30: error: storage size of 'link_info' isn't known
union cvmx_helper_link_info link_info;
^~~~~~~~~
>> drivers/staging/octeon/ethernet.c:516:29: error: type of formal parameter 2 is incomplete
cvm_oct_note_carrier(priv, link_info);
^~~~~~~~~
drivers/staging/octeon/ethernet.c:499:30: warning: unused variable 'link_info' [-Wunused-variable]
union cvmx_helper_link_info link_info;
^~~~~~~~~
--
In file included from drivers/staging/octeon/ethernet-mdio.c:16:0:
>> drivers/staging/octeon/octeon-ethernet.h:94:12: warning: 'union cvmx_helper_link_info' declared inside parameter list will not be visible outside of this definition or declaration
union cvmx_helper_link_info li);
^~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/octeon/ethernet-mdio.c:68:12: warning: 'union cvmx_helper_link_info' declared inside parameter list will not be visible outside of this definition or declaration
union cvmx_helper_link_info li)
^~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/octeon/ethernet-mdio.c:68:34: error: parameter 2 ('li') has incomplete type
union cvmx_helper_link_info li)
^~
drivers/staging/octeon/ethernet-mdio.c: In function 'cvm_oct_adjust_link':
>> drivers/staging/octeon/ethernet-mdio.c:84:30: error: storage size of 'link_info' isn't known
union cvmx_helper_link_info link_info;
^~~~~~~~~
>> drivers/staging/octeon/ethernet-mdio.c:101:30: error: type of formal parameter 2 is incomplete
cvm_oct_note_carrier(priv, link_info);
^~~~~~~~~
drivers/staging/octeon/ethernet-mdio.c:84:30: warning: unused variable 'link_info' [-Wunused-variable]
union cvmx_helper_link_info link_info;
^~~~~~~~~
drivers/staging/octeon/ethernet-mdio.c: In function 'cvm_oct_common_stop':
drivers/staging/octeon/ethernet-mdio.c:109:30: error: storage size of 'link_info' isn't known
union cvmx_helper_link_info link_info;
^~~~~~~~~
drivers/staging/octeon/ethernet-mdio.c:127:30: error: type of formal parameter 2 is incomplete
cvm_oct_note_carrier(priv, link_info);
^~~~~~~~~
drivers/staging/octeon/ethernet-mdio.c:109:30: warning: unused variable 'link_info' [-Wunused-variable]
union cvmx_helper_link_info link_info;
^~~~~~~~~
--
In file included from drivers/staging/octeon/ethernet-rgmii.c:15:0:
>> drivers/staging/octeon/octeon-ethernet.h:94:12: warning: 'union cvmx_helper_link_info' declared inside parameter list will not be visible outside of this definition or declaration
union cvmx_helper_link_info li);
^~~~~~~~~~~~~~~~~~~~~
drivers/staging/octeon/ethernet-rgmii.c: In function 'cvm_oct_check_preamble_errors':
>> drivers/staging/octeon/ethernet-rgmii.c:56:30: error: storage size of 'link_info' isn't known
union cvmx_helper_link_info link_info;
^~~~~~~~~
drivers/staging/octeon/ethernet-rgmii.c:56:30: warning: unused variable 'link_info' [-Wunused-variable]
drivers/staging/octeon/ethernet-rgmii.c: In function 'cvm_oct_rgmii_poll':
drivers/staging/octeon/ethernet-rgmii.c:106:30: error: storage size of 'link_info' isn't known
union cvmx_helper_link_info link_info;
^~~~~~~~~
>> drivers/staging/octeon/ethernet-rgmii.c:128:29: error: type of formal parameter 2 is incomplete
cvm_oct_note_carrier(priv, link_info);
^~~~~~~~~
drivers/staging/octeon/ethernet-rgmii.c:106:30: warning: unused variable 'link_info' [-Wunused-variable]
union cvmx_helper_link_info link_info;
^~~~~~~~~
--
In file included from drivers/staging/octeon/ethernet-rx.c:26:0:
>> drivers/staging/octeon/octeon-ethernet.h:94:12: warning: 'union cvmx_helper_link_info' declared inside parameter list will not be visible outside of this definition or declaration
union cvmx_helper_link_info li);
^~~~~~~~~~~~~~~~~~~~~
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
--
In file included from drivers/staging/octeon/ethernet-tx.c:25:0:
>> drivers/staging/octeon/octeon-ethernet.h:94:12: warning: 'union cvmx_helper_link_info' declared inside parameter list will not be visible outside of this definition or declaration
union cvmx_helper_link_info li);
^~~~~~~~~~~~~~~~~~~~~
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 +463 drivers/staging/octeon/ethernet.c
455
456 int cvm_oct_common_open(struct net_device *dev,
457 void (*link_poll)(struct net_device *))
458 {
459 union cvmx_gmxx_prtx_cfg gmx_cfg;
460 struct octeon_ethernet *priv = netdev_priv(dev);
461 int interface = INTERFACE(priv->port);
462 int index = INDEX(priv->port);
> 463 union cvmx_helper_link_info link_info;
464 int rv;
465
466 rv = cvm_oct_phy_setup_device(dev);
467 if (rv)
468 return rv;
469
470 gmx_cfg.u64 = cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface));
471 gmx_cfg.s.en = 1;
472 if (octeon_has_feature(OCTEON_FEATURE_PKND))
473 gmx_cfg.s.pknd = priv->port;
474 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmx_cfg.u64);
475
476 if (octeon_is_simulation())
477 return 0;
478
479 if (dev->phydev) {
480 int r = phy_read_status(dev->phydev);
481
482 if (r == 0 && dev->phydev->link == 0)
483 netif_carrier_off(dev);
484 cvm_oct_adjust_link(dev);
485 } else {
486 link_info = cvmx_helper_link_get(priv->port);
487 if (!link_info.s.link_up)
488 netif_carrier_off(dev);
489 priv->poll = link_poll;
490 link_poll(dev);
491 }
492
493 return 0;
494 }
495
496 void cvm_oct_link_poll(struct net_device *dev)
497 {
498 struct octeon_ethernet *priv = netdev_priv(dev);
499 union cvmx_helper_link_info link_info;
500
501 link_info = cvmx_helper_link_get(priv->port);
502 if (link_info.u64 == priv->link_info)
503 return;
504
505 if (cvmx_helper_link_set(priv->port, link_info))
506 link_info.u64 = priv->link_info;
507 else
508 priv->link_info = link_info.u64;
509
510 if (link_info.s.link_up) {
511 if (!netif_carrier_ok(dev))
512 netif_carrier_on(dev);
513 } else if (netif_carrier_ok(dev)) {
514 netif_carrier_off(dev);
515 }
> 516 cvm_oct_note_carrier(priv, link_info);
517 }
518
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 17935 bytes --]
reply other threads:[~2019-11-12 1:27 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201911120930.vdaECUhO%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.