]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: light: bh1745: simplify code in write_event_config callback
authorJulien Stephan <jstephan@baylibre.com>
Thu, 24 Oct 2024 09:11:23 +0000 (11:11 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Fri, 1 Nov 2024 14:54:45 +0000 (14:54 +0000)
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>
drivers/iio/light/bh1745.c

index 2e458e9d5d85308fb6a13d9dbd845fa03b56a40e..fc6bf062d4f510886f909509d8115f0cf892f3c4 100644 (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,