From patchwork Fri Oct 27 19:29:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Meerwald-Stadler X-Patchwork-Id: 10030461 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A00F96022E for ; Fri, 27 Oct 2017 19:30:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7FC6F28E1C for ; Fri, 27 Oct 2017 19:30:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 746D128FD4; Fri, 27 Oct 2017 19:30:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2558C28FDB for ; Fri, 27 Oct 2017 19:30:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752708AbdJ0TaP (ORCPT ); Fri, 27 Oct 2017 15:30:15 -0400 Received: from ns.pmeerw.net ([84.19.176.117]:45778 "EHLO vps.pmeerw.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752690AbdJ0TaO (ORCPT ); Fri, 27 Oct 2017 15:30:14 -0400 Received: by vps.pmeerw.net (Postfix, from userid 113) id 79493E280C; Fri, 27 Oct 2017 21:30:12 +0200 (CEST) Received: from sirene2.lan (unknown [85.13.17.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: pmeerw@vps.pmeerw.net) by vps.pmeerw.net (Postfix) with ESMTPSA id 4CCE8E253F; Fri, 27 Oct 2017 21:30:00 +0200 (CEST) From: Peter Meerwald-Stadler To: Jonathan Cameron Cc: linux-iio@vger.kernel.org, Peter Meerwald-Stadler , Matt Ranostay Subject: [PATCH 06/13] iio: health: max30102: Add check for part ID Date: Fri, 27 Oct 2017 21:29:46 +0200 Message-Id: <1509132593-1815-12-git-send-email-pmeerw@pmeerw.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509132593-1815-1-git-send-email-pmeerw@pmeerw.net> References: <1509132593-1815-1-git-send-email-pmeerw@pmeerw.net> Sender: linux-iio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Peter Meerwald-Stadler Cc: Matt Ranostay --- 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;