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

iio:adc:ad5791: Use BIT() and GENMASK() macros

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>

authored by

Peter Meerwald and committed by
Jonathan Cameron
ff96bf51 a3eeb159

+14 -15
+14 -15
drivers/iio/dac/ad5791.c
··· 16 16 #include <linux/sysfs.h> 17 17 #include <linux/regulator/consumer.h> 18 18 #include <linux/module.h> 19 + #include <linux/bitops.h> 19 20 20 21 #include <linux/iio/iio.h> 21 22 #include <linux/iio/sysfs.h> 22 23 #include <linux/iio/dac/ad5791.h> 23 24 24 - #define AD5791_RES_MASK(x) ((1 << (x)) - 1) 25 - #define AD5791_DAC_MASK AD5791_RES_MASK(20) 26 - #define AD5791_DAC_MSB (1 << 19) 25 + #define AD5791_DAC_MASK GENMASK(19, 0) 27 26 28 - #define AD5791_CMD_READ (1 << 23) 29 - #define AD5791_CMD_WRITE (0 << 23) 27 + #define AD5791_CMD_READ BIT(23) 28 + #define AD5791_CMD_WRITE 0 30 29 #define AD5791_ADDR(addr) ((addr) << 20) 31 30 32 31 /* Registers */ ··· 36 37 #define AD5791_ADDR_SW_CTRL 4 37 38 38 39 /* Control Register */ 39 - #define AD5791_CTRL_RBUF (1 << 1) 40 - #define AD5791_CTRL_OPGND (1 << 2) 41 - #define AD5791_CTRL_DACTRI (1 << 3) 42 - #define AD5791_CTRL_BIN2SC (1 << 4) 43 - #define AD5791_CTRL_SDODIS (1 << 5) 40 + #define AD5791_CTRL_RBUF BIT(1) 41 + #define AD5791_CTRL_OPGND BIT(2) 42 + #define AD5791_CTRL_DACTRI BIT(3) 43 + #define AD5791_CTRL_BIN2SC BIT(4) 44 + #define AD5791_CTRL_SDODIS BIT(5) 44 45 #define AD5761_CTRL_LINCOMP(x) ((x) << 6) 45 46 46 47 #define AD5791_LINCOMP_0_10 0 ··· 53 54 #define AD5780_LINCOMP_10_20 12 54 55 55 56 /* Software Control Register */ 56 - #define AD5791_SWCTRL_LDAC (1 << 0) 57 - #define AD5791_SWCTRL_CLR (1 << 1) 58 - #define AD5791_SWCTRL_RESET (1 << 2) 57 + #define AD5791_SWCTRL_LDAC BIT(0) 58 + #define AD5791_SWCTRL_CLR BIT(1) 59 + #define AD5791_SWCTRL_RESET BIT(2) 59 60 60 61 #define AD5791_DAC_PWRDN_6K 0 61 62 #define AD5791_DAC_PWRDN_3STATE 1 ··· 71 72 72 73 /** 73 74 * struct ad5791_state - driver instance specific data 74 - * @us: spi_device 75 + * @spi: spi_device 75 76 * @reg_vdd: positive supply regulator 76 77 * @reg_vss: negative supply regulator 77 78 * @chip_info: chip model specific constants ··· 327 328 328 329 switch (mask) { 329 330 case IIO_CHAN_INFO_RAW: 330 - val &= AD5791_RES_MASK(chan->scan_type.realbits); 331 + val &= GENMASK(chan->scan_type.realbits - 1, 0); 331 332 val <<= chan->scan_type.shift; 332 333 333 334 return ad5791_spi_write(st, chan->address, val);