[PATCH] cxl: Fix ambiguous else warnings
Michael Ellerman
mpe at ellerman.id.au
Mon Aug 3 10:43:24 AEST 2015
On Mon, 2015-08-03 at 10:36 +1000, Daniel Axtens wrote:
> Hi Andreas,
>
> On Fri, 2015-07-31 at 11:16 +0200, Andreas Schwab wrote:
> > Daniel Axtens <dja at axtens.net> writes:
> >
> > > Every time I build cxl I see the following warnings:
> > >
> > > /scratch/dja/linux-capi/drivers/misc/cxl/pci.c: In function ‘sanitise_afu_regs’:
> > > /scratch/dja/linux-capi/drivers/misc/cxl/pci.c:712:6: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
> > > if (reg & CXL_PSL_DSISR_TRANS)
> > > ^
> > > /scratch/dja/linux-capi/drivers/misc/cxl/irq.c: In function ‘fail_psl_irq’:
> > > /scratch/dja/linux-capi/drivers/misc/cxl/irq.c:184:5: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
> > > if (irq_info->dsisr & CXL_PSL_DSISR_TRANS)
> > > ^
> >
> > Why are they ambigous? Why doesn't cxl_p2n_write(afu, CXL_PSL_TFC_An,
> > CXL_PSL_TFC_An_AE) expand to a proper statement?
> >
> > #define cxl_p2n_write(afu, reg, val) \
> > out_be64(_cxl_p2n_addr(afu, reg), val)
> >
>
> I realised that I started seeing this when I was working on my EEH
> patches, which change the definition to:
>
> #define cxl_p2n_write(afu, reg, val) \
> if (cxl_adapter_link_ok(afu->adapter)) \
> out_be64(_cxl_p2n_addr(afu, reg), val)
This should be a static inline, not a #define.
cheers
More information about the Linuxppc-dev
mailing list