On 10/31/24 10:27 AM, Julien Stephan wrote: > state parameter is currently an int, but it is actually a boolean. > iio_ev_state_store is actually using kstrtobool to check user input, > then gives the converted boolean value to write_event_config. The code > in adux1020_write_event_config re-uses state parameter to store an > integer value. To prepare for updating the write_event_config signature > to use a boolean for state, introduce a new local int variable. > > Signed-off-by: Julien Stephan <jstephan@xxxxxxxxxxxx> > --- > drivers/iio/light/adux1020.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/iio/light/adux1020.c b/drivers/iio/light/adux1020.c > index 2e0170be077aef9aa194fab51afbb33aec02e513..db57d84da616b91add8c5d1aba08a73ce18c367e 100644 > --- a/drivers/iio/light/adux1020.c > +++ b/drivers/iio/light/adux1020.c > @@ -505,7 +505,7 @@ static int adux1020_write_event_config(struct iio_dev *indio_dev, > enum iio_event_direction dir, int state) > { > struct adux1020_data *data = iio_priv(indio_dev); > - int ret, mask; > + int ret, mask, val; > > mutex_lock(&data->lock); > > @@ -526,12 +526,12 @@ static int adux1020_write_event_config(struct iio_dev *indio_dev, > mask = ADUX1020_PROX_OFF1_INT; > > if (state) > - state = 0; > + val = 0; > else > - state = mask; > + val = mask; > > ret = regmap_update_bits(data->regmap, ADUX1020_REG_INT_MASK, > - mask, state); > + mask, val); > if (ret < 0) > goto fail; > > Instead of introducing `val`, I would rewrite this as: if (state) ret = regmap_clear_bits(...); else ret = regmap_set_bits(...);