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:
committed by
Jonathan Cameron
parent
12c65c0f3e
commit
e2ce36e047
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user