Re: [PATCH v3 04/27] ocxl: Remove unnecessary externs

From: Greg Kurz
Date: Wed Feb 26 2020 - 12:56:44 EST


On Wed, 26 Feb 2020 22:15:23 +0800
'Baoquan He' <bhe@xxxxxxxxxx> wrote:

> On 02/26/20 at 10:01am, Greg Kurz wrote:
> > On Wed, 26 Feb 2020 19:26:34 +1100
> > "Alastair D'Silva" <alastair@xxxxxxxxxxx> wrote:
> >
> > > > -----Original Message-----
> > > > From: Baoquan He <bhe@xxxxxxxxxx>
> > > > Sent: Wednesday, 26 February 2020 7:15 PM
> > > > To: Alastair D'Silva <alastair@xxxxxxxxxxx>
> > > > Cc: alastair@xxxxxxxxxxx; Aneesh Kumar K . V
> > > > <aneesh.kumar@xxxxxxxxxxxxx>; Oliver O'Halloran <oohall@xxxxxxxxx>;
> > > > Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>; Paul Mackerras
> > > > <paulus@xxxxxxxxx>; Michael Ellerman <mpe@xxxxxxxxxxxxxx>; Frederic
> > > > Barrat <fbarrat@xxxxxxxxxxxxx>; Andrew Donnellan <ajd@xxxxxxxxxxxxx>;
> > > > Arnd Bergmann <arnd@xxxxxxxx>; Greg Kroah-Hartman
> > > > <gregkh@xxxxxxxxxxxxxxxxxxx>; Dan Williams <dan.j.williams@xxxxxxxxx>;
> > > > Vishal Verma <vishal.l.verma@xxxxxxxxx>; Dave Jiang
> > > > <dave.jiang@xxxxxxxxx>; Ira Weiny <ira.weiny@xxxxxxxxx>; Andrew Morton
> > > > <akpm@xxxxxxxxxxxxxxxxxxxx>; Mauro Carvalho Chehab
> > > > <mchehab+samsung@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>;
> > > > Rob Herring <robh@xxxxxxxxxx>; Anton Blanchard <anton@xxxxxxxxxx>;
> > > > Krzysztof Kozlowski <krzk@xxxxxxxxxx>; Mahesh Salgaonkar
> > > > <mahesh@xxxxxxxxxxxxxxxxxx>; Madhavan Srinivasan
> > > > <maddy@xxxxxxxxxxxxxxxxxx>; CÃdric Le Goater <clg@xxxxxxxx>; Anju T
> > > > Sudhakar <anju@xxxxxxxxxxxxxxxxxx>; Hari Bathini
> > > > <hbathini@xxxxxxxxxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Greg
> > > > Kurz <groug@xxxxxxxx>; Nicholas Piggin <npiggin@xxxxxxxxx>; Masahiro
> > > > Yamada <yamada.masahiro@xxxxxxxxxxxxx>; Alexey Kardashevskiy
> > > > <aik@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; linuxppc-
> > > > dev@xxxxxxxxxxxxxxxx; linux-nvdimm@xxxxxxxxxxxx; linux-mm@xxxxxxxxx
> > > > Subject: Re: [PATCH v3 04/27] ocxl: Remove unnecessary externs
> > > >
> > > > On 02/21/20 at 02:26pm, Alastair D'Silva wrote:
> > > > > From: Alastair D'Silva <alastair@xxxxxxxxxxx>
> > > > >
> > > > > Function declarations don't need externs, remove the existing ones so
> > > > > they are consistent with newer code
> > > > >
> > > > > Signed-off-by: Alastair D'Silva <alastair@xxxxxxxxxxx>
> > > > > ---
> > > > > arch/powerpc/include/asm/pnv-ocxl.h | 32 ++++++++++++++---------------
> > > > > include/misc/ocxl.h | 6 +++---
> > > > > 2 files changed, 18 insertions(+), 20 deletions(-)
> > > > >
> > > > > diff --git a/arch/powerpc/include/asm/pnv-ocxl.h
> > > > > b/arch/powerpc/include/asm/pnv-ocxl.h
> > > > > index 0b2a6707e555..b23c99bc0c84 100644
> > > > > --- a/arch/powerpc/include/asm/pnv-ocxl.h
> > > > > +++ b/arch/powerpc/include/asm/pnv-ocxl.h
> > > > > @@ -9,29 +9,27 @@
> > > > > #define PNV_OCXL_TL_BITS_PER_RATE 4
> > > > > #define PNV_OCXL_TL_RATE_BUF_SIZE
> > > > ((PNV_OCXL_TL_MAX_TEMPLATE+1) * PNV_OCXL_TL_BITS_PER_RATE / 8)
> > > > >
> > > > > -extern int pnv_ocxl_get_actag(struct pci_dev *dev, u16 *base, u16
> > > > *enabled,
> > > > > - u16 *supported);
> > > >
> > > > It works w or w/o extern when declare functions. Searching 'extern'
> > > > under include can find so many functions with 'extern' adding. Do we have
> > > a
> > > > explicit standard if we should add or remove 'exter' in function
> > > declaration?
> > > >
> > > > I have no objection to this patch, just want to make clear so that I can
> > > handle
> > > > it w/o confusion.
> > > >
> > > > Thanks
> > > > Baoquan
> > > >
> > >
> > > For the OpenCAPI driver, we have settled on not having 'extern' on
> > > functions.
> > >
> > > I don't think I've seen a standard that supports or refutes this, but it
> > > does not value add.
> > >
> >
> > FWIW this is a warning condition for checkpatch:
> >
> > $ ./scripts/checkpatch.pl --strict -f include/misc/ocxl.h
>
> Good to know, thanks.
>
> I didn't know checkpatch.pl can run on header file directly. Tried to
> check patch with '--strict -f', the below info doesn't appear. But it

Hmm... -f is to check a source file, not a patch... What did you try
exactly ?

> does give out below information when run on header file.
>
> >
> > [...]
> >
> > CHECK: extern prototypes should be avoided in .h files
> > #176: FILE: include/misc/ocxl.h:176:
> > +extern int ocxl_afu_irq_alloc(struct ocxl_context *ctx, int *irq_id);
> >
> > [...]
> >
>