On 02/26/20 at 03:20pm, Greg Kurz wrote: > 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 ? OK, that's it. I can see the 'CHECK' line when run checkpatch.pl on patch with '--strict' only. I think this can be a good reason that we should not add extern when add function declaration into header file. Thanks. > > > 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); > > > > > > [...] > > > > > > >