[PATCH 3/3] Staging: iio: adc: ad7280a.c: Fixed Macro argument reuse

From: Jaya Durga
Date: Tue Jul 18 2017 - 05:53:07 EST


CHECK: Macro argument reuse 'addr' - possible side-effects?

convert AD7280A_DEVADDR to inline function to fix checkpath check

Signed-off-by: Jaya Durga <rjdurga@xxxxxxxxx>
---
drivers/staging/iio/adc/ad7280a.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7280a.c b/drivers/staging/iio/adc/ad7280a.c
index d5ab83f..cb94b7f 100644
--- a/drivers/staging/iio/adc/ad7280a.c
+++ b/drivers/staging/iio/adc/ad7280a.c
@@ -99,9 +99,12 @@
#define AD7280A_DEVADDR_MASTER 0
#define AD7280A_DEVADDR_ALL 0x1F
/* 5-bit device address is sent LSB first */
-#define AD7280A_DEVADDR(addr) (((addr & 0x1) << 4) | ((addr & 0x2) << 3) | \
- (addr & 0x4) | ((addr & 0x8) >> 3) | \
- ((addr & 0x10) >> 4))
+static inline unsigned int AD7280A_DEVADDR(unsigned int addr)
+{
+ return ((((addr & 0x1) << 4) | ((addr & 0x2) << 3) |
+ (addr & 0x4) | ((addr & 0x8) >> 3) |
+ ((addr & 0x10) >> 4)));
+}

/* During a read a valid write is mandatory.
* So writing to the highest available address (Address 0x1F)
--
1.9.1