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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 3 Sep 2018 09:47:02 +1000

Hi all,

After merging the net-next tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from drivers/net/ethernet/intel/i40e/i40e_ethtool.c:9:
drivers/net/ethernet/intel/i40e/i40e_ethtool.c: In function '__i40e_add_stat_strings':
drivers/net/ethernet/intel/i40e/i40e_ethtool_stats.h:193:20: error: function '__i40e_add_stat_strings' can never be inlined because it uses variable argument lists
 static inline void __i40e_add_stat_strings(u8 **p, const struct i40e_stats stats[],
                    ^~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

  8fd75c58a09a ("i40e: move ethtool stats boiler plate code to i40e_ethtool_stats.h")

It is not clear this patch has any value anyway as the moved functions
are only used in the file they were moved from.

I reverted that commit for today.

The same problem would exist in drivers/net/ethernet/intel/i40evf (where
a lot of code is duplicated from drivers/net/ethernet/intel/i40e) except
that this function is not declared inline there.
Luckily, i40e_ethtool_stats.h is only included my one file
drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c, otherwise there
would be multiple copies of __i40e_add_stat_strings().

Surely there is some scope for factoring out some common code between
these two drivers?
-- 
Cheers,
Stephen Rothwell