iio: health: max30102: Introduce indices for LED channels
authorPeter Meerwald-Stadler <pmeerw@pmeerw.net>
Fri, 27 Oct 2017 19:45:39 +0000 (21:45 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 2 Dec 2017 10:40:57 +0000 (10:40 +0000)
Signed-off-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/health/max30102.c

index dc4d04b..c224f0e 100644 (file)
 #define MAX30102_DRV_NAME      "max30102"
 #define MAX30102_PART_NUMBER   0x15
 
+enum max3012_led_idx {
+       MAX30102_LED_RED,
+       MAX30102_LED_IR,
+};
+
 #define MAX30102_REG_INT_STATUS                        0x00
 #define MAX30102_REG_INT_STATUS_PWR_RDY                BIT(0)
 #define MAX30102_REG_INT_STATUS_PROX_INT       BIT(4)
@@ -104,7 +109,10 @@ static const struct regmap_config max30102_regmap_config = {
        .val_bits = 8,
 };
 
-static const unsigned long max30102_scan_masks[] = {0x3, 0};
+static const unsigned long max30102_scan_masks[] = {
+       BIT(MAX30102_LED_RED) | BIT(MAX30102_LED_IR),
+       0
+};
 
 #define MAX30102_INTENSITY_CHANNEL(_si, _mod) { \
                .type = IIO_INTENSITY, \
@@ -121,8 +129,8 @@ static const unsigned long max30102_scan_masks[] = {0x3, 0};
        }
 
 static const struct iio_chan_spec max30102_channels[] = {
-       MAX30102_INTENSITY_CHANNEL(0, IIO_MOD_LIGHT_RED),
-       MAX30102_INTENSITY_CHANNEL(1, IIO_MOD_LIGHT_IR),
+       MAX30102_INTENSITY_CHANNEL(MAX30102_LED_RED, IIO_MOD_LIGHT_RED),
+       MAX30102_INTENSITY_CHANNEL(MAX30102_LED_IR, IIO_MOD_LIGHT_IR),
        {
                .type = IIO_TEMP,
                .info_mask_separate =