Message ID | 20220110220509.3527402-3-cosmin.tanislav@analog.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2,1/3] iio: addac: ad74413r: use ngpio size when iterating over mask | expand |
On 1/11/22 01:12, Andy Shevchenko wrote: > > > On Tuesday, January 11, 2022, Cosmin Tanislav <demonsingur@gmail.com > <mailto:demonsingur@gmail.com>> wrote: > > The value of the GPIOs is currently altered using offsets rather > than masks. Make use of __assign_bit and the BIT macro to turn > the offsets into masks. > > Fixes: fea251b6a5db ("iio: addac: add AD74413R driver") > > > > Ss i told you this should go _before_ patch 2. Sorry, I missed your comment on this. > > Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com > <mailto:cosmin.tanislav@analog.com>> > --- > V1 -> V2 > * add Fixes tag > * use __assign_bit > * remove bitmap_zero > --- > drivers/iio/addac/ad74413r.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c > index 3d089c0b6f7a..8a8d60e592a8 100644 > --- a/drivers/iio/addac/ad74413r.c > +++ b/drivers/iio/addac/ad74413r.c > @@ -134,7 +134,6 @@ struct ad74413r_state { > #define AD74413R_CH_EN_MASK(x) BIT(x) > > #define AD74413R_REG_DIN_COMP_OUT 0x25 > -#define AD74413R_DIN_COMP_OUT_SHIFT_X(x) x > > #define AD74413R_REG_ADC_RESULT_X(x) (0x26 + (x)) > #define AD74413R_ADC_RESULT_MAX GENMASK(15, 0) > @@ -316,7 +315,7 @@ static int ad74413r_gpio_get(struct gpio_chip > *chip, unsigned int offset) > if (ret) > return ret; > > - status &= AD74413R_DIN_COMP_OUT_SHIFT_X(real_offset); > + status &= BIT(real_offset); > > return status ? 1 : 0; > } > @@ -336,9 +335,7 @@ static int ad74413r_gpio_get_multiple(struct > gpio_chip *chip, > > for_each_set_bit(offset, mask, chip->ngpio) { > unsigned int real_offset = > st->comp_gpio_offsets[offset]; > - > - if (val & BIT(real_offset)) > - *bits |= offset; > + __assign_bit(offset, bits, val & BIT(real_offset)); > } > > return ret; > -- > 2.34.1 > > > > -- > With Best Regards, > Andy Shevchenko > >
On 1/11/22 01:14, Andy Shevchenko wrote: > > > On Tuesday, January 11, 2022, Cosmin Tanislav <demonsingur@gmail.com > <mailto:demonsingur@gmail.com>> wrote: > > The value of the GPIOs is currently altered using offsets rather > than masks. Make use of __assign_bit and the BIT macro to turn > the offsets into masks. > > Fixes: fea251b6a5db ("iio: addac: add AD74413R driver") > Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com > <mailto:cosmin.tanislav@analog.com>> > --- > V1 -> V2 > * add Fixes tag > * use __assign_bit > * remove bitmap_zero > --- > drivers/iio/addac/ad74413r.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c > index 3d089c0b6f7a..8a8d60e592a8 100644 > --- a/drivers/iio/addac/ad74413r.c > +++ b/drivers/iio/addac/ad74413r.c > @@ -134,7 +134,6 @@ struct ad74413r_state { > #define AD74413R_CH_EN_MASK(x) BIT(x) > > #define AD74413R_REG_DIN_COMP_OUT 0x25 > -#define AD74413R_DIN_COMP_OUT_SHIFT_X(x) x > > #define AD74413R_REG_ADC_RESULT_X(x) (0x26 + (x)) > #define AD74413R_ADC_RESULT_MAX GENMASK(15, 0) > @@ -316,7 +315,7 @@ static int ad74413r_gpio_get(struct gpio_chip > *chip, unsigned int offset) > if (ret) > return ret; > > - status &= AD74413R_DIN_COMP_OUT_SHIFT_X(real_offset); > + status &= BIT(real_offset); > > return status ? 1 : 0; > } > @@ -336,9 +335,7 @@ static int ad74413r_gpio_get_multiple(struct > gpio_chip *chip, > > for_each_set_bit(offset, mask, chip->ngpio) { > unsigned int real_offset = > st->comp_gpio_offsets[offset]; > > - > > > This blank line should be kept. Isn’t checkpatch complaining about? Nope, doesn't seem to, even with the --strict option. > > - if (val & BIT(real_offset)) > - *bits |= offset; > + __assign_bit(offset, bits, val & BIT(real_offset)); > } > > return ret; > -- > 2.34.1 > > > > -- > With Best Regards, > Andy Shevchenko > >
diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c index 3d089c0b6f7a..8a8d60e592a8 100644 --- a/drivers/iio/addac/ad74413r.c +++ b/drivers/iio/addac/ad74413r.c @@ -134,7 +134,6 @@ struct ad74413r_state { #define AD74413R_CH_EN_MASK(x) BIT(x) #define AD74413R_REG_DIN_COMP_OUT 0x25 -#define AD74413R_DIN_COMP_OUT_SHIFT_X(x) x #define AD74413R_REG_ADC_RESULT_X(x) (0x26 + (x)) #define AD74413R_ADC_RESULT_MAX GENMASK(15, 0) @@ -316,7 +315,7 @@ static int ad74413r_gpio_get(struct gpio_chip *chip, unsigned int offset) if (ret) return ret; - status &= AD74413R_DIN_COMP_OUT_SHIFT_X(real_offset); + status &= BIT(real_offset); return status ? 1 : 0; } @@ -336,9 +335,7 @@ static int ad74413r_gpio_get_multiple(struct gpio_chip *chip, for_each_set_bit(offset, mask, chip->ngpio) { unsigned int real_offset = st->comp_gpio_offsets[offset]; - - if (val & BIT(real_offset)) - *bits |= offset; + __assign_bit(offset, bits, val & BIT(real_offset)); } return ret;
The value of the GPIOs is currently altered using offsets rather than masks. Make use of __assign_bit and the BIT macro to turn the offsets into masks. Fixes: fea251b6a5db ("iio: addac: add AD74413R driver") Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com> --- V1 -> V2 * add Fixes tag * use __assign_bit * remove bitmap_zero --- drivers/iio/addac/ad74413r.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)