Subject: Re: linux-next: build failure after merge of the net-next tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 24 Jun 2019 13:12:45 +1000

Hi all,

On Thu, 20 Jun 2019 19:13:48 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> After merging the net-next tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
> 
> drivers/net/ethernet/cadence/macb_main.c:48:16: error: field 'hw' has incomplete type
>   struct clk_hw hw;
>                 ^~
> drivers/net/ethernet/cadence/macb_main.c:4003:21: error: variable 'fu540_c000_ops' has initializer but incomplete type
>  static const struct clk_ops fu540_c000_ops = {
>                      ^~~~~~~
> drivers/net/ethernet/cadence/macb_main.c:4004:3: error: 'const struct clk_ops' has no member named 'recalc_rate'
>   .recalc_rate = fu540_macb_tx_recalc_rate,
>    ^~~~~~~~~~~
> drivers/net/ethernet/cadence/macb_main.c:4004:17: warning: excess elements in struct initializer
>   .recalc_rate = fu540_macb_tx_recalc_rate,
>                  ^~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/net/ethernet/cadence/macb_main.c:4004:17: note: (near initialization for 'fu540_c000_ops')
> drivers/net/ethernet/cadence/macb_main.c:4005:3: error: 'const struct clk_ops' has no member named 'round_rate'
>   .round_rate = fu540_macb_tx_round_rate,
>    ^~~~~~~~~~
> drivers/net/ethernet/cadence/macb_main.c:4005:16: warning: excess elements in struct initializer
>   .round_rate = fu540_macb_tx_round_rate,
>                 ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/net/ethernet/cadence/macb_main.c:4005:16: note: (near initialization for 'fu540_c000_ops')
> drivers/net/ethernet/cadence/macb_main.c:4006:3: error: 'const struct clk_ops' has no member named 'set_rate'
>   .set_rate = fu540_macb_tx_set_rate,
>    ^~~~~~~~
> drivers/net/ethernet/cadence/macb_main.c:4006:14: warning: excess elements in struct initializer
>   .set_rate = fu540_macb_tx_set_rate,
>               ^~~~~~~~~~~~~~~~~~~~~~
> drivers/net/ethernet/cadence/macb_main.c:4006:14: note: (near initialization for 'fu540_c000_ops')
> drivers/net/ethernet/cadence/macb_main.c: In function 'fu540_c000_clk_init':
> drivers/net/ethernet/cadence/macb_main.c:4013:23: error: storage size of 'init' isn't known
>   struct clk_init_data init;
>                        ^~~~
> drivers/net/ethernet/cadence/macb_main.c:4032:12: error: implicit declaration of function 'clk_register'; did you mean 'sock_register'? [-Werror=implicit-function-declaration]
>   *tx_clk = clk_register(NULL, &mgmt->hw);
>             ^~~~~~~~~~~~
>             sock_register
> drivers/net/ethernet/cadence/macb_main.c:4013:23: warning: unused variable 'init' [-Wunused-variable]
>   struct clk_init_data init;
>                        ^~~~
> drivers/net/ethernet/cadence/macb_main.c: In function 'macb_probe':
> drivers/net/ethernet/cadence/macb_main.c:4366:2: error: implicit declaration of function 'clk_unregister'; did you mean 'sock_unregister'? [-Werror=implicit-function-declaration]
>   clk_unregister(tx_clk);
>   ^~~~~~~~~~~~~~
>   sock_unregister
> drivers/net/ethernet/cadence/macb_main.c: At top level:
> drivers/net/ethernet/cadence/macb_main.c:4003:29: error: storage size of 'fu540_c000_ops' isn't known
>  static const struct clk_ops fu540_c000_ops = {
>                              ^~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   c218ad559020 ("macb: Add support for SiFive FU540-C000")
> 
> CONFIG_COMMON_CLK is not set for this build.
> 
> I have reverted that commit for today.

I am still reverting that commit.  Has this problem been fixed in some
subtle way?
-- 
Cheers,
Stephen Rothwell