On Sat, Jul 18, 2020 at 11:53:52AM -0700, Florian Fainelli wrote:
>
>
> On 7/17/2020 9:53 PM, kernel test robot wrote:
> > Hi Florian,
> >
> > I love your patch! Perhaps something to improve:
> >
> > [auto build test WARNING on net-next/master]
> >
> > url:
> > https://github.com/0day-ci/linux/commits/Florian-Fainelli/net-dsa-Setup-dsa_netdev_ops/20200718-110931
> > base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
> > dcc82bb0727c08f93a91fa7532b950bafa2598f2
> > config: i386-allyesconfig (attached as .config)
> > compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
> > reproduce (this is a W=1 build):
> > # save the attached .config to linux build tree
> > make W=1 ARCH=i386
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <[email protected]>
> >
> > All warnings (new ones prefixed by >>):
> >
> > In file included from
> > drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c:18:
> >>> include/net/dsa.h:720:1: warning: 'inline' is not at beginning of
> >>> declaration [-Wold-style-declaration]
> > 720 | dsa_build_ndo_op(ndo_do_ioctl, struct ifreq *, ifr, int, cmd);
> > | ^~~~~~~~~~~~~~~~
> > include/net/dsa.h:721:1: warning: 'inline' is not at beginning of
> > declaration [-Wold-style-declaration]
> > 721 | dsa_build_ndo_op(ndo_get_phys_port_name, char *, name, size_t,
> > len);
> > | ^~~~~~~~~~~~~~~~
> >
> > vim +/inline +720 include/net/dsa.h
>
> This is a macro invocation, not function declaration so I am not exactly
> sure why this is a problem here? I could capitalize the macro name if
> that avoids the compiler thinking this is a function declaration or move
> out the static inline away from the macro invocation.
> --
> Florian
Maybe it wants 'static inline int' and not 'static int inline'?
+#if IS_ENABLED(CONFIG_NET_DSA)
+#define dsa_build_ndo_op(name, arg1_type, arg1_name, arg2_type, arg2_name) \
+static int inline dsa_##name(struct net_device *dev, arg1_type arg1_name, \
^
~~~~~ here
+ arg2_type arg2_name) \
+{ \
-Vladimir