Re: [PATCH v2 1/2] compiler-gcc.h: add gnu_inline to all inline declarations
From: Joe Perches
Date: Tue Jun 05 2018 - 17:59:39 EST
On Tue, 2018-06-05 at 12:50 -0700, Nick Desaulniers wrote:
> On Tue, Jun 5, 2018 at 12:14 PM Joe Perches <joe@xxxxxxxxxxx> wrote:
> >
> > On Tue, 2018-06-05 at 10:23 -0700, Joe Perches wrote:
> > > Perhaps these are simpler as
> > >
> > > #define __inline__ inline
> > > #define __inline inline
> >
> > Currently, there are these uses of inline variants in the kernel
> >
> > $ git grep -w inline | wc -l
> > 68410
> > $ git grep -w __inline__ | wc -l
> > 503
> > $ git grep -w __inline | wc -l
> > 57
> >
> > So it seems it's also reasonable to sed all uses of __inline to inline
> > and perhaps remove __inline eventually altogether.
> > (perhaps there are still too many __inline__ uses)
>
> Yeah, that sounds good. Should I split that into 3 patches:
>
> > Excluding scripts and a few other files,
> > here's a possible patch done with:
> >
> > $ git grep -w --name-only __inline | \
> > grep -vP '^(?:arch/alpha/|include/|scripts/)' | \
> > xargs sed -r -i -e 's/\b__inline\b/inline/g' \
> > -e 's/\binline\s+static\b/static inline/g'
> > ---
> > Documentation/trace/tracepoint-analysis.rst | 2 +-
> > drivers/staging/rtl8723bs/core/rtw_pwrctrl.c | 4 ++--
> > drivers/staging/rtl8723bs/core/rtw_wlan_util.c | 2 +-
> > drivers/staging/rtl8723bs/include/drv_types.h | 6 +++---
> > drivers/staging/rtl8723bs/include/ieee80211.h | 6 +++---
> > drivers/staging/rtl8723bs/include/osdep_service.h | 10 +++++-----
> > drivers/staging/rtl8723bs/include/osdep_service_linux.h | 14 +++++++-------
> > drivers/staging/rtl8723bs/include/rtw_mlme.h | 14 +++++++-------
> > drivers/staging/rtl8723bs/include/rtw_recv.h | 16 ++++++++--------
> > drivers/staging/rtl8723bs/include/sta_info.h | 2 +-
> > drivers/staging/rtl8723bs/include/wifi.h | 14 +++++++-------
> > drivers/staging/rtl8723bs/include/wlan_bssdef.h | 2 +-
> > lib/zstd/mem.h | 2 +-
> > 13 files changed, 47 insertions(+), 47 deletions(-)
>
>
> 1 for documentation, 1 for rtl8723bs, 1 for zstd?
Seems sensible to me.
> Follow up set or include in v3?
Your choice. Probably a follow up would work best.
Also, the remaining __inline uses would be:
arch/alpha/include/asm/compiler.h:#undef __inline
include/linux/compiler-gcc.h:#define __inline __inline __attribute__((always_inline,unused)) notrace
include/linux/compiler-gcc.h:#define __inline __inline __attribute__((unused)) notrace
scripts/checkpatch.pl:our $Inline = qr{inline|__always_inline|noinline|__inline|__inline__};
scripts/checkpatch.pl:# Check for __inline__ and __inline, prefer inline
scripts/checkpatch.pl: $line =~ /\b(__inline__|__inline)\b/) {
scripts/checkpatch.pl: $fixed[$fixlinenr] =~ s/\b(__inline__|__inline)\b/inline/;
scripts/genksyms/keywords.c: { "__inline", INLINE_KEYW },
scripts/kernel-doc: $prototype =~ s/^__inline +//;
So all of these could be removed/updated appropriately too