Re: [Outreachy kernel] [PATCH v2 0/5] Remove typedef declarations in staging: octeon

From: Aaro Koskinen
Date: Wed Oct 23 2019 - 13:43:09 EST


Hi,

On Sat, Oct 12, 2019 at 08:35:19PM +0200, Julia Lawall wrote:
> On Sat, 12 Oct 2019, Wambui Karuga wrote:
> > This patchset removes the addition of new typedefs data types in octeon,
> > along with replacing the previous uses with the new declaration format.
> >
> > v2 of the series removes the obsolete "_t" notation in the named types.
> >
> > Wambui Karuga (5):
> > staging: octeon: remove typedef declaration for cvmx_wqe
> > staging: octeon: remove typedef declaration for cvmx_helper_link_info
> > staging: octeon: remove typedef declaration for cvmx_fau_reg_32
> > staging: octeon: remove typedef declartion for cvmx_pko_command_word0
> > staging: octeon: remove typedef declaration for cvmx_fau_op_size
> >
> > drivers/staging/octeon/ethernet-mdio.c | 6 +--
> > drivers/staging/octeon/ethernet-rgmii.c | 4 +-
> > drivers/staging/octeon/ethernet-rx.c | 6 +--
> > drivers/staging/octeon/ethernet-tx.c | 4 +-
> > drivers/staging/octeon/ethernet.c | 6 +--
> > drivers/staging/octeon/octeon-ethernet.h | 2 +-
> > drivers/staging/octeon/octeon-stubs.h | 56 ++++++++++++------------
> > 7 files changed, 43 insertions(+), 41 deletions(-)
>
> For the series:
>
> Acked-by: Julia Lawall <julia.lawall@xxxxxxx>

This series breaks the build on MIPS/OCTEON (the only actual HW using this
driver):

$ make ARCH=mips CROSS_COMPILE=mips64-linux-gnu- cavium_octeon_defconfig
$ make ARCH=mips CROSS_COMPILE=mips64-linux-gnu-
[...]
CC drivers/staging/octeon/ethernet.o
In file included from drivers/staging/octeon/ethernet.c:22:
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;
^~~~~~~~~

etc.

Probably all these patches need to be reverted.

A.