iio: light: bh1745: simplify code in write_event_config callback

iio_ev_state_store is actually using kstrtobool to check user
input, then gives the converted boolean value to the write_event_config
callback.

Remove useless code in write_event_config callback.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20241024-iio-fix-write-event-config-signature-v1-1-7d29e5a31b00@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Julien Stephan
2024-10-24 11:11:23 +02:00
committed by Jonathan Cameron
parent 12c65c0f3e
commit e2ce36e047

View File

@@ -643,41 +643,37 @@ static int bh1745_write_event_config(struct iio_dev *indio_dev,
struct bh1745_data *data = iio_priv(indio_dev);
int value;
if (state == 0)
if (!state)
return regmap_clear_bits(data->regmap,
BH1745_INTR, BH1745_INTR_ENABLE);
if (state == 1) {
/* Latch is always enabled when enabling interrupt */
value = BH1745_INTR_ENABLE;
/* Latch is always enabled when enabling interrupt */
value = BH1745_INTR_ENABLE;
switch (chan->channel2) {
case IIO_MOD_LIGHT_RED:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_RED));
switch (chan->channel2) {
case IIO_MOD_LIGHT_RED:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_RED));
case IIO_MOD_LIGHT_GREEN:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_GREEN));
case IIO_MOD_LIGHT_GREEN:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_GREEN));
case IIO_MOD_LIGHT_BLUE:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_BLUE));
case IIO_MOD_LIGHT_BLUE:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_BLUE));
case IIO_MOD_LIGHT_CLEAR:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_CLEAR));
case IIO_MOD_LIGHT_CLEAR:
return regmap_write(data->regmap, BH1745_INTR,
value | FIELD_PREP(BH1745_INTR_SOURCE_MASK,
BH1745_INTR_SOURCE_CLEAR));
default:
return -EINVAL;
}
default:
return -EINVAL;
}
return -EINVAL;
}
static int bh1745_read_avail(struct iio_dev *indio_dev,