Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Staging: iio: adc: ad7280a.c: Fixed Macro argument reuse

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

convert AD7280A_DEVADDR to ad7280a_devaddr static function
to fix checkpath check

v3: small style changes

Signed-off-by: Jaya Durga <rjdurga@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Jaya Durga and committed by
Jonathan Cameron
065a7c0b ebbb333a

+13 -8
+13 -8
drivers/staging/iio/adc/ad7280a.c
··· 99 99 #define AD7280A_DEVADDR_MASTER 0 100 100 #define AD7280A_DEVADDR_ALL 0x1F 101 101 /* 5-bit device address is sent LSB first */ 102 - #define AD7280A_DEVADDR(addr) (((addr & 0x1) << 4) | ((addr & 0x2) << 3) | \ 103 - (addr & 0x4) | ((addr & 0x8) >> 3) | \ 104 - ((addr & 0x10) >> 4)) 102 + static unsigned int ad7280a_devaddr(unsigned int addr) 103 + { 104 + return ((addr & 0x1) << 4) | 105 + ((addr & 0x2) << 3) | 106 + (addr & 0x4) | 107 + ((addr & 0x8) >> 3) | 108 + ((addr & 0x10) >> 4); 109 + } 105 110 106 111 /* During a read a valid write is mandatory. 107 112 * So writing to the highest available address (Address 0x1F) ··· 377 372 if (ad7280_check_crc(st, val)) 378 373 return -EIO; 379 374 380 - if (n != AD7280A_DEVADDR(val >> 27)) 375 + if (n != ad7280a_devaddr(val >> 27)) 381 376 return -EIO; 382 377 } 383 378 ··· 516 511 st->channels[cnt].info_mask_shared_by_type = 517 512 BIT(IIO_CHAN_INFO_SCALE); 518 513 st->channels[cnt].address = 519 - AD7280A_DEVADDR(dev) << 8 | ch; 514 + ad7280a_devaddr(dev) << 8 | ch; 520 515 st->channels[cnt].scan_index = cnt; 521 516 st->channels[cnt].scan_type.sign = 'u'; 522 517 st->channels[cnt].scan_type.realbits = 12; ··· 563 558 for (ch = AD7280A_CELL_VOLTAGE_1; ch <= AD7280A_CELL_VOLTAGE_6; 564 559 ch++, cnt++) { 565 560 st->iio_attr[cnt].address = 566 - AD7280A_DEVADDR(dev) << 8 | ch; 561 + ad7280a_devaddr(dev) << 8 | ch; 567 562 st->iio_attr[cnt].dev_attr.attr.mode = 568 563 0644; 569 564 st->iio_attr[cnt].dev_attr.show = ··· 579 574 &st->iio_attr[cnt].dev_attr.attr; 580 575 cnt++; 581 576 st->iio_attr[cnt].address = 582 - AD7280A_DEVADDR(dev) << 8 | 577 + ad7280a_devaddr(dev) << 8 | 583 578 (AD7280A_CB1_TIMER + ch); 584 579 st->iio_attr[cnt].dev_attr.attr.mode = 585 580 0644; ··· 923 918 if (ret) 924 919 goto error_unregister; 925 920 926 - ret = ad7280_write(st, AD7280A_DEVADDR(st->slave_num), 921 + ret = ad7280_write(st, ad7280a_devaddr(st->slave_num), 927 922 AD7280A_ALERT, 0, 928 923 AD7280A_ALERT_GEN_STATIC_HIGH | 929 924 (pdata->chain_last_alert_ignore & 0xF));