瀏覽代碼

iio: health: max30102: Introduce indices for LED channels

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>
Peter Meerwald-Stadler 7 年之前
父節點
當前提交
ad90e570e2
共有 1 個文件被更改,包括 11 次插入3 次删除
  1. 11 3
      drivers/iio/health/max30102.c

+ 11 - 3
drivers/iio/health/max30102.c

@@ -34,6 +34,11 @@
 #define MAX30102_DRV_NAME	"max30102"
 #define MAX30102_DRV_NAME	"max30102"
 #define MAX30102_PART_NUMBER	0x15
 #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			0x00
 #define MAX30102_REG_INT_STATUS_PWR_RDY		BIT(0)
 #define MAX30102_REG_INT_STATUS_PWR_RDY		BIT(0)
 #define MAX30102_REG_INT_STATUS_PROX_INT	BIT(4)
 #define MAX30102_REG_INT_STATUS_PROX_INT	BIT(4)
@@ -104,7 +109,10 @@ static const struct regmap_config max30102_regmap_config = {
 	.val_bits = 8,
 	.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) { \
 #define MAX30102_INTENSITY_CHANNEL(_si, _mod) { \
 		.type = IIO_INTENSITY, \
 		.type = IIO_INTENSITY, \
@@ -121,8 +129,8 @@ static const unsigned long max30102_scan_masks[] = {0x3, 0};
 	}
 	}
 
 
 static const struct iio_chan_spec max30102_channels[] = {
 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,
 		.type = IIO_TEMP,
 		.info_mask_separate =
 		.info_mask_separate =