Thread (5 messages) 5 messages, 3 authors, 2015-08-03

Re: [PATCH] cxl: Fix ambiguous else warnings

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-08-03 00:43:25

Possibly related (same subject, not in this thread)

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:
quoted
Daniel Axtens [off-list ref] writes:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help