From: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
To: Jonathan Cameron <jic23@kernel.org>
Cc: linux-iio@vger.kernel.org,
Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
Matt Ranostay <matt@ranostay.consulting>
Subject: [PATCH 06/13] iio: health: max30102: Add check for part ID
Date: Fri, 27 Oct 2017 21:29:46 +0200 [thread overview]
Message-ID: <1509132593-1815-12-git-send-email-pmeerw@pmeerw.net> (raw)
In-Reply-To: <1509132593-1815-1-git-send-email-pmeerw@pmeerw.net>
Signed-off-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Cc: Matt Ranostay <matt@ranostay.consulting>
---
drivers/iio/health/max30102.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/iio/health/max30102.c b/drivers/iio/health/max30102.c
index 389a483..c43957e 100644
--- a/drivers/iio/health/max30102.c
+++ b/drivers/iio/health/max30102.c
@@ -32,6 +32,7 @@
#define MAX30102_REGMAP_NAME "max30102_regmap"
#define MAX30102_DRV_NAME "max30102"
+#define MAX30102_PART_NUMBER 0x15
#define MAX30102_REG_INT_STATUS 0x00
#define MAX30102_REG_INT_STATUS_PWR_RDY BIT(0)
@@ -83,6 +84,9 @@
#define MAX30102_REG_TEMP_INTEGER 0x1f
#define MAX30102_REG_TEMP_FRACTION 0x20
+#define MAX30102_REG_REV_ID 0xfe
+#define MAX30102_REG_PART_ID 0xff
+
struct max30102_data {
struct i2c_client *client;
struct iio_dev *indio_dev;
@@ -391,6 +395,7 @@ static int max30102_probe(struct i2c_client *client,
struct iio_buffer *buffer;
struct iio_dev *indio_dev;
int ret;
+ unsigned int reg;
indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
if (!indio_dev)
@@ -424,6 +429,19 @@ static int max30102_probe(struct i2c_client *client,
return PTR_ERR(data->regmap);
}
+ /* check part ID */
+ ret = regmap_read(data->regmap, MAX30102_REG_PART_ID, ®);
+ if (ret)
+ return ret;
+ if (reg != MAX30102_PART_NUMBER)
+ return -ENODEV;
+
+ /* show revision ID */
+ ret = regmap_read(data->regmap, MAX30102_REG_REV_ID, ®);
+ if (ret)
+ return ret;
+ dev_dbg(&client->dev, "max3010x revision %02x\n", reg);
+
ret = max30102_set_powermode(data, false);
if (ret)
return ret;
--
2.7.4
next prev parent reply other threads:[~2017-10-27 19:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-27 19:29 [PATCH 00/13] iio: health: Add MAX30105 support to max30102 driver Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 01/13] iio: health: max30102: Fix mode config values Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 01/13] iio: health: max30102: Temperature should be in milli Celsius Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 02/13] iio: health: max30102: Fix missing newline in dev_err Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 02/13] iio: health: max30102: Temperature should be in milli Celsius Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 03/13] iio: health: max30102: Check retval of powermode function Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 03/13] iio: health: max30102: Remove inconsistent full stop in error message Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 04/13] iio: health: max30102: Fix mode config values Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 04/13] iio: health: max30102: Remove inconsistent full stop in error message Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 05/13] iio: health: max30102: Check retval of powermode function Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 05/13] iio: health: max30102: Fix missing newline in dev_err Peter Meerwald-Stadler
2017-10-27 19:29 ` Peter Meerwald-Stadler [this message]
2017-10-27 19:29 ` [PATCH 07/13] iio: health: max30102: Introduce intensity channel macro Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 08/13] iio: health: max30102: Add power enable parameter to get_temp function Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 09/13] iio: health: max30102: Introduce indices for LED channels Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 10/13] iio: health: max30102: Move mode setting to buffer_postenable Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 11/13] iio: health: max30102: Prepare for copying varying number of measurements Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 12/13] iio: health: max30102: Add MAX30105 support Peter Meerwald-Stadler
2017-10-27 19:29 ` [PATCH 13/13] dt-bindings: iio: health: Add MAX30105 support to max30102.txt Peter Meerwald-Stadler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1509132593-1815-12-git-send-email-pmeerw@pmeerw.net \
--to=pmeerw@pmeerw.net \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=matt@ranostay.consulting \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).