From patchwork Tue Sep 4 14:11:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Popa X-Patchwork-Id: 10587391 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2589C5A4 for ; Tue, 4 Sep 2018 14:27:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 12F56296CD for ; Tue, 4 Sep 2018 14:27:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0647B296C3; Tue, 4 Sep 2018 14:27:00 +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=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,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 B2F8829594 for ; Tue, 4 Sep 2018 14:26:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727368AbeIDSwR (ORCPT ); Tue, 4 Sep 2018 14:52:17 -0400 Received: from mail-eopbgr720064.outbound.protection.outlook.com ([40.107.72.64]:28305 "EHLO NAM05-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726961AbeIDSwR (ORCPT ); Tue, 4 Sep 2018 14:52:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.onmicrosoft.com; s=selector1-analog-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xluowa1FBts237AcOQMwAz3IOFoJ0Mn6A6PnTy1sWaY=; b=AZSvnBn/2VBF3pat8PW3pg5P1dJKEJ7O0hJa4s6Ap5g/wLRSVehU6SSXiqVDVGtQBT7TYSjQwN6zm/s15TcbqwAy+5o9xWPJHWxW5HrV2FWxGomUD/Mry+w6O41gSKDtfQZJ4Er7CGbvX9NrJN3JIl1BlmdnotZcGGyb/4oaeWg= Received: from CY1PR03CA0002.namprd03.prod.outlook.com (2603:10b6:600::12) by DM2PR03MB559.namprd03.prod.outlook.com (2a01:111:e400:241d::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Tue, 4 Sep 2018 14:11:52 +0000 Received: from BN1BFFO11FD005.protection.gbl (2a01:111:f400:7c10::1:160) by CY1PR03CA0002.outlook.office365.com (2603:10b6:600::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1101.16 via Frontend Transport; Tue, 4 Sep 2018 14:11:52 +0000 Authentication-Results: spf=pass (sender IP is 137.71.25.57) smtp.mailfrom=analog.com; pmeerw.net; dkim=none (message not signed) header.d=none;pmeerw.net; dmarc=bestguesspass action=none header.from=analog.com; Received-SPF: Pass (protection.outlook.com: domain of analog.com designates 137.71.25.57 as permitted sender) receiver=protection.outlook.com; client-ip=137.71.25.57; helo=nwd2mta4.analog.com; Received: from nwd2mta4.analog.com (137.71.25.57) by BN1BFFO11FD005.mail.protection.outlook.com (10.58.144.68) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1122.11 via Frontend Transport; Tue, 4 Sep 2018 14:11:51 +0000 Received: from NWD2HUBCAS7.ad.analog.com (nwd2hubcas7.ad.analog.com [10.64.69.107]) by nwd2mta4.analog.com (8.13.8/8.13.8) with ESMTP id w84EBpQj027439 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=OK); Tue, 4 Sep 2018 07:11:51 -0700 Received: from linux.analog.com (10.50.1.110) by NWD2HUBCAS7.ad.analog.com (10.64.69.107) with Microsoft SMTP Server id 14.3.301.0; Tue, 4 Sep 2018 10:11:50 -0400 From: Stefan Popa To: CC: , , , , , , , , , , Subject: [PATCH 1/3] iio: adxl372: Refactor the driver Date: Tue, 4 Sep 2018 17:11:31 +0300 Message-ID: <1536070291-5335-1-git-send-email-stefan.popa@analog.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-ADIRoutedOnPrem: True X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:137.71.25.57;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(396003)(376002)(346002)(39860400002)(136003)(2980300002)(438002)(189003)(199004)(476003)(48376002)(2616005)(6306002)(126002)(7416002)(26005)(186003)(426003)(50466002)(77096007)(36756003)(336012)(107886003)(486006)(966005)(5660300001)(316002)(51416003)(72206003)(106002)(16586007)(7696005)(54906003)(2906002)(478600001)(2351001)(50226002)(106466001)(8936002)(53416004)(1720100001)(14444005)(44832011)(6666003)(6916009)(8676002)(7636002)(47776003)(356003)(305945005)(4326008)(246002)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR03MB559;H:nwd2mta4.analog.com;FPR:;SPF:Pass;LANG:en;PTR:nwd2mail11.analog.com;MX:1;A:1; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD005;1:WsIfy+ZpCALVxXb3f95mzAeurdg9KVFDGzDi1rmC/DEa78FeBQqpgmWGXmyO3d2rbsMBfzJHyG0b5O1wwMDd/8aA+Yf7LZ4pNw4DqfZLCRrsMQwMaeyr3Ji41vkwxT05 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fdea6578-95dd-474c-dd5d-08d612705cc4 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4608076)(2017052603328)(7153060);SRVR:DM2PR03MB559; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB559;3:ngMyxigj+jvAzin6Vh8J/5GXP0L+jFmSt6zg5zaoznys4pvlIobGq4SWHw6vfuFzjyyxipwasEFBE505MOPa3avUzmPmGEVI+iD+u21W3APNcCkU1YFZvSFiSyBWuAGdVAgAI1SZ7SulCd0Ng6LdBWUfW4rSzlaZq9vsD4Y+F7+pcQCKX1U3fmBjRSmUJHO1SDDRRAxs4QGX4RrJlyxBS57B7yz06IhavtghLrva6GWVXRsrTaONobLVYF4jgkFmb37MYQyCN/gKo2/phXM7r19l93ahuFIPPeRY+o7HMY0mwIsGvvHHEjp8t78P4CKcEQ37lepIlGhkBfuQDKvhX1HHiNI+I4aplfiRpO1p4FI=;25:0Xe/HKiCQoc3sjof/gOJTGsnEC/9mtPRhViPXkY56Y+muwIJrpxJ0/jqs0rMnvtT6E9y8/vOCpj2QKAbWszryHmtbFVQXRstjTdaEro9zm9n4oZNvDlmyyLr2lAc3EZComIOuVt1fjZDwfy7XECjLic94kXU6cl4AAwpGzYB/9vjaMxEacpmLlrLEL9IGcNgC/O8toy2t19lx3Y1C3E0mLFmtvqb5hmZk0DDRd5G3F9o2ByTrVk9rIPxv9iD66tfnan8aPEDR44l39Ps8905B3NGPNFuMIhawCxPvmSXSoNj5dB37MycVHnKe3vZ7h+f9tDJTh8vnVul6YDiFHIIcw== X-MS-TrafficTypeDiagnostic: DM2PR03MB559: X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB559;31:3RJMW/XnDMF1OOWF2QfK30S7WS4FPIHO8JO+NcwKzBqsD79Rl0iqpg8Wk4sZIGFJI0uAyC9KDd5X7/Hv7FySDLcPdygV8Ofbb/9VLKHq9cR4LX3b5rGKnPkQSglp6Mm9jQezwu11ANn/UIokLMDr29b5be9Y43jXWzu12SvU3oWmuV6lgaOWrSXnfZDA1U0NfyY+ShTGdV/o4tfYF5EGOiXtLiQBAGSbSf28L25W89k=;20:OjaEwfI+Ta+24AyPNZZOaFXVAZHdE9ALv5tVtVxngRIuzQgZE1kUKeWeNttop2nf2cos01ItYwSyL7T+rkVWBlytwXq0YHrh5FdxbNiKFhHKrX9Wvm+qvwhEHotkRQpeuPiT1wfUYd5LvliLBfC9FF6x9kB9QJOWDdoyYwGul12KiGVPPRYCDv9UpCXTXdKiBOqPVBuBja3fYLmHMqoEKj1tuEMQrrIdjlYrORBSYbx8Inxb2Oaf2XTNgjZmPUIaZHiwO9NKysZ6W/xn2QVVIogOKbPBS2kBjximrv4lGcFqJuQp1L6kry8p1H+HtVjzWYDq5alkOczxoIt8hAbHbc6eTtrfudFRgIH7W5lyorfXoJvrEzO283lK5Lex+9iE6IOnytnJgKcOUNYhzaWswwCM0VZyySKeod5TDCiEpZ57I55JZXnqt6NSK+DUwJLXXHWyclwmf1z4NelIMWwKOcR8oYqLUjIWPL6VaCbpHOwtX/Yh0yO8jm4+5NyOxPVA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(232431446821674)(170811661138872); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93004095)(3231311)(944501410)(52105095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699016);SRVR:DM2PR03MB559;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB559; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB559;4:iWR9kc1u2YAoga73d6gWQh0mmddb3B6CduRoRfgYBeuC5AAewBC2sUhZ2zc8TEsiDPRvZNT1+AcNBkIlWGCenoDP5NPp33pSxIo0YB3nYnWq84PxSFpvDZLea64TR7RpZ/dk+i7JidiWY4KJYCgIMVFlE61Yn1JglAU0mzW1S9X4KfF2pCiFfrI/E/sIuu3V1ZGS8KLt9OXY2iFCKa84paAFHcSpHJMgp/CZ6jbqWAucz0vzOGQ8LfiyscAK/Fy9sMoIADE0hdJIENCQlqjTzcRd4Y9jZ6GVn5FvJKR8zDWA1RbV2JpGEtgmi6u5OLeTalQK3WldRvg8ntWgo7zSrtRkxA4PkF3G/4KudX5RBkY= X-Forefront-PRVS: 0785459C39 X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB559;23:s/PGcBo9v0y9ypWwqECO3EthaL2C/nIMtRuOmjVmsYOoymtHjuG3TIi52Yq+EJT34Oz9lA7obT8LtzESxpdTLHbEusfdGud1YOgpPPvnF4PllR9Csat8fXJV9mkTIqhxmlWihc9qrPKaOwWHN4t585wLlOyDdSns2EnaxwFav/PGYutfw8+x3El1WmrcvmNRrmzrQ13Xkoe+EYejwcyyYIb3CHW+UTBOVVapE3HArBWfonUtjUOg7U/q87Tk4AJ8Eeq1lo9vBDZJQAgnlkr6S7Eb+7pHBnVGqzuM05HUO1SCeX9RWp3kPRV7ePF9pB+UsKNg5F4bewgCOBsXqekz+1jS7XDCbjRCQ7f0rZyN4cAhrCvkIgSk129cCE1weRXfN4NT2hSMIGsiamdqkBTVbwvJ1oE3XHYZ9+UG8lvIHCHpmdVewMj9YokSqWpmdPAyhJyQn2yJDEURwbW9K8noiCru5+Yf5lFDpsMtCZ6cYKKbI3cs2TF23faFaejstzl797/v9nraxac0NBy72g+AYtzxEWLxaBTv8ZS91FXNtbMUfwOt4LUe07A66k6f4YWJjmleTqjzfes1a4RH8wQqRa20US+6ndaMgfQUSrVEsh3Ejq48bfidODW53LKQwwaI+i79t+lx+WJa6Qlw6jqNfkRR594UPJSbdWHiELanbHFrpCK+CbmJF4snLvfIZYJidEMzA1fDuwl0VQVR/moPIT1GnscYS2wqOaGjlYqIdsY0uFkwAQLYQQWozbJZpAZ2WPQsjdvG4V8p4PublJ8r/OY/3EXtnm+B91wx6pgQjrY6rQgGLD1R+13o3AxyBQz0GUGlZmB0bnAEOtwq0Px1V4pdwp7WNso81R9NOrQDwl+3C8UE5L8HJ26hp1fAxQKmCZXZ1EQgj3+luvP5MWgzNJ1lXtKApm3nZPmlgw0lXUIF2MgzpYNDDwDYOAL1BOdDK719sRKPrJtWmgnd0r1ZN75EXgn2OsX/ibBh/nIhjLlbb1OoHG8OW0vWEWFNpaGDGZZuelnfNMnlwtV59/sPsRr5Kv5bYhizhGJvN1fPFup7Gk5IVcXADQsqbv261J1PdE6DL6nmhDIOwwgvaU6EuwW5o8oRoqSM5FNYZ/bzuCLuwRrJwn8ufdZXS+9tFRAuRCqXJ1powcW8VZLafyL5Bvr5DpfsFKc+EndEzNrzK7gP/UqKm5GwUO/v7Y60InL/oWX5GEUEs9Oo4W4ym+O7VA== X-Microsoft-Antispam-Message-Info: Zwe6RXHGudzm8YY9kcRS6bFxWo5AKbHY/J/Gr+Lw0ZJZfhHmjYJNoN/AyV9ns++mMwNmHvs2vOzHb+9Dzy0JLyIfKX+2iHMeUoByXVTuGUVWg2thLMmuApwpSJxwU3A/ByCka1/hTimk6eGjtkehf+ZDlZqoD5XhP6ag3oc4ZE9oGpHzF2VluocMipfFEYJhIB96EiYbE4DPINHwvxzFzmnJWmWmYpNDWsmJB3seF7FUBL/thJXxERS3EyuQ3MgOyQqok39MB9uJKY1RpSWPeSAqkLiWoUzNPtkGovkvcNnxOeEmPp1RP82nlv8HyvgvFgKaCkCC+5TIF/iAEykIshUm8DwtL8ZT9yQpQzh1uvQ= X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB559;6:WfexUs0ZL8JcwZxJ7TZVqe1h3vNrwo2yFG8vAjYUtHIqGaMwdRd76R2afkGQlIcL9qpIr+GYcqqS+PBFV2AwN8gwGb0eK6E7uuC1zOGIGhHUIGA/6pj/AbsHeYr9zj0ohN2pVz9prNXgv+hrUtgwK8GOvz0QbQhJH+BfwzvIcEQEgZLImFdymTxIE7j03ze9W9le0xEs//txs/LKjTYQ2nUYKi+rlIXz6UiMzsLssvNy2Uu6bVPd1HdBIyMHujcB96Z4YqITsHMXOegc82MOgvbC0cZtZrT2TWWithzX+ZbOcEWUs0U9hakfF4EjCGd3MYXm6+iNWjG3OgqnI0wfzyJw+SyRYSSw/C8OxLTfnUWAQSmcZ+S3MKzvYEWmX2tyltea0Gl5RTUIy8y3A2TNk8esL2/xvyhr64chyIaC0pMbrgFQMGkdbpb4SjruZxlm+u+voAGXi4rwl2j9FZBz3g==;5:sAeMGPT/PxeeYrQ+rgSlml9eSY+MXvwXV9WPH4+IF6efqfF5PL9Hg+SjjHmgZxcqIlE1GqIk9+M0s1HXo9GSFxM3ZuHasqqM4z57DAeboVz33nwlhbIdgNb6M4UNVLTDH7qJPYpM4mnCpg6qlu2RDXIwpAodNTE50NTDtHTgPGY=;7:3dfvVe+iwsplSMNbFxNbDE6X4jPgC58w/AQVnFZHWlRf6YS8d+tM1GBtCX2eGbQ4lfFZdr6F0TgOYG8UH7THaxPfigr9Dl3+IjbJyykGXaFT3xmQmi2snKakQ5RKKBLr6cIMFl+JDFytJnVLow2VV1dxIYhtfpR6z7tO2m4lVIgghXag/Ps5qdj/E44WGJeSKsc9p+A8hoKm0InZbnENee4FQERbr5h6ot6br+PnZqJVPmsZKrCW2aj7upLExFzT SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2018 14:11:51.9828 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fdea6578-95dd-474c-dd5d-08d612705cc4 X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=eaa689b4-8f87-40e0-9c6f-7228de4d754a;Ip=[137.71.25.57];Helo=[nwd2mta4.analog.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB559 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 This patch restructures the existing adxl372 driver by adding a module for SPI and a header file, while the baseline module deals with the chip-logic. This is a necessary step, as this driver should support in the future a similar device which differs only in the type of interface used (I2C instead of SPI). Signed-off-by: Stefan Popa --- MAINTAINERS | 1 + drivers/iio/accel/Kconfig | 11 +++++-- drivers/iio/accel/Makefile | 1 + drivers/iio/accel/adxl372.c | 73 ++++++++++++++--------------------------- drivers/iio/accel/adxl372.h | 15 +++++++++ drivers/iio/accel/adxl372_spi.c | 52 +++++++++++++++++++++++++++++ 6 files changed, 102 insertions(+), 51 deletions(-) create mode 100644 drivers/iio/accel/adxl372.h create mode 100644 drivers/iio/accel/adxl372_spi.c diff --git a/MAINTAINERS b/MAINTAINERS index 2bfc9b0..2938632 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -548,6 +548,7 @@ M: Stefan Popa W: http://ez.analog.com/community/linux-device-drivers S: Supported F: drivers/iio/accel/adxl372.c +F: drivers/iio/accel/adxl372_spi.c F: Documentation/devicetree/bindings/iio/accel/adxl372.txt AF9013 MEDIA DRIVER diff --git a/drivers/iio/accel/Kconfig b/drivers/iio/accel/Kconfig index eae23d6..bed5da8 100644 --- a/drivers/iio/accel/Kconfig +++ b/drivers/iio/accel/Kconfig @@ -61,15 +61,20 @@ config ADXL345_SPI for the core module. config ADXL372 - tristate "Analog Devices ADXL372 3-Axis Accelerometer Driver" - depends on SPI + tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER + +config ADXL372_SPI + tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver" + depends on SPI + select ADXL372 + select REGMAP_SPI help Say yes here to add support for the Analog Devices ADXL372 triaxial acceleration sensor. To compile this driver as a module, choose M here: the - module will be called adxl372. + module will be called adxl372_spi. config BMA180 tristate "Bosch BMA180/BMA250 3-Axis Accelerometer Driver" diff --git a/drivers/iio/accel/Makefile b/drivers/iio/accel/Makefile index 5758ffc..c9c5db9 100644 --- a/drivers/iio/accel/Makefile +++ b/drivers/iio/accel/Makefile @@ -10,6 +10,7 @@ obj-$(CONFIG_ADXL345) += adxl345_core.o obj-$(CONFIG_ADXL345_I2C) += adxl345_i2c.o obj-$(CONFIG_ADXL345_SPI) += adxl345_spi.o obj-$(CONFIG_ADXL372) += adxl372.o +obj-$(CONFIG_ADXL372_SPI) += adxl372_spi.o obj-$(CONFIG_BMA180) += bma180.o obj-$(CONFIG_BMA220) += bma220_spi.o obj-$(CONFIG_BMC150_ACCEL) += bmc150-accel-core.o diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c index fdaaa58..f1df89d 100644 --- a/drivers/iio/accel/adxl372.c +++ b/drivers/iio/accel/adxl372.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * ADXL372 3-Axis Digital Accelerometer SPI driver + * ADXL372 3-Axis Digital Accelerometer core driver * * Copyright 2018 Analog Devices Inc. */ @@ -20,6 +20,8 @@ #include #include +#include "adxl372.h" + /* ADXL372 registers definition */ #define ADXL372_DEVID 0x00 #define ADXL372_DEVID_MST 0x01 @@ -246,7 +248,8 @@ static const struct iio_chan_spec adxl372_channels[] = { }; struct adxl372_state { - struct spi_device *spi; + int irq; + struct device *dev; struct regmap *regmap; struct iio_trigger *dready_trig; enum adxl372_fifo_mode fifo_mode; @@ -565,7 +568,7 @@ static int adxl372_setup(struct adxl372_state *st) return ret; if (regval != ADXL372_DEVID_VAL) { - dev_err(&st->spi->dev, "Invalid chip id %x\n", regval); + dev_err(st->dev, "Invalid chip id %x\n", regval); return -ENODEV; } @@ -891,56 +894,45 @@ static const struct iio_info adxl372_info = { .hwfifo_set_watermark = adxl372_set_watermark, }; -static bool adxl372_readable_noinc_reg(struct device *dev, unsigned int reg) +bool adxl372_readable_noinc_reg(struct device *dev, unsigned int reg) { return (reg == ADXL372_FIFO_DATA); } +EXPORT_SYMBOL_GPL(adxl372_readable_noinc_reg); -static const struct regmap_config adxl372_spi_regmap_config = { - .reg_bits = 7, - .pad_bits = 1, - .val_bits = 8, - .read_flag_mask = BIT(0), - .readable_noinc_reg = adxl372_readable_noinc_reg, -}; - -static int adxl372_probe(struct spi_device *spi) +int adxl372_probe(struct device *dev, struct regmap *regmap, + int irq, const char *name) { struct iio_dev *indio_dev; struct adxl372_state *st; - struct regmap *regmap; int ret; - indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); + indio_dev = devm_iio_device_alloc(dev, sizeof(*st)); if (!indio_dev) return -ENOMEM; st = iio_priv(indio_dev); - spi_set_drvdata(spi, indio_dev); - - st->spi = spi; - - regmap = devm_regmap_init_spi(spi, &adxl372_spi_regmap_config); - if (IS_ERR(regmap)) - return PTR_ERR(regmap); + dev_set_drvdata(dev, indio_dev); + st->dev = dev; st->regmap = regmap; + st->irq = irq; indio_dev->channels = adxl372_channels; indio_dev->num_channels = ARRAY_SIZE(adxl372_channels); indio_dev->available_scan_masks = adxl372_channel_masks; - indio_dev->dev.parent = &spi->dev; - indio_dev->name = spi_get_device_id(spi)->name; + indio_dev->dev.parent = dev; + indio_dev->name = name; indio_dev->info = &adxl372_info; indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE; ret = adxl372_setup(st); if (ret < 0) { - dev_err(&st->spi->dev, "ADXL372 setup failed\n"); + dev_err(dev, "ADXL372 setup failed\n"); return ret; } - ret = devm_iio_triggered_buffer_setup(&st->spi->dev, + ret = devm_iio_triggered_buffer_setup(dev, indio_dev, NULL, adxl372_trigger_handler, &adxl372_buffer_ops); @@ -949,8 +941,8 @@ static int adxl372_probe(struct spi_device *spi) iio_buffer_set_attrs(indio_dev->buffer, adxl372_fifo_attributes); - if (st->spi->irq) { - st->dready_trig = devm_iio_trigger_alloc(&st->spi->dev, + if (st->irq) { + st->dready_trig = devm_iio_trigger_alloc(dev, "%s-dev%d", indio_dev->name, indio_dev->id); @@ -958,15 +950,15 @@ static int adxl372_probe(struct spi_device *spi) return -ENOMEM; st->dready_trig->ops = &adxl372_trigger_ops; - st->dready_trig->dev.parent = &st->spi->dev; + st->dready_trig->dev.parent = dev; iio_trigger_set_drvdata(st->dready_trig, indio_dev); - ret = devm_iio_trigger_register(&st->spi->dev, st->dready_trig); + ret = devm_iio_trigger_register(dev, st->dready_trig); if (ret < 0) return ret; indio_dev->trig = iio_trigger_get(st->dready_trig); - ret = devm_request_threaded_irq(&st->spi->dev, st->spi->irq, + ret = devm_request_threaded_irq(dev, st->irq, iio_trigger_generic_data_rdy_poll, NULL, IRQF_TRIGGER_RISING | IRQF_ONESHOT, @@ -975,24 +967,9 @@ static int adxl372_probe(struct spi_device *spi) return ret; } - return devm_iio_device_register(&st->spi->dev, indio_dev); + return devm_iio_device_register(dev, indio_dev); } - -static const struct spi_device_id adxl372_id[] = { - { "adxl372", 0 }, - {} -}; -MODULE_DEVICE_TABLE(spi, adxl372_id); - -static struct spi_driver adxl372_driver = { - .driver = { - .name = KBUILD_MODNAME, - }, - .probe = adxl372_probe, - .id_table = adxl372_id, -}; - -module_spi_driver(adxl372_driver); +EXPORT_SYMBOL_GPL(adxl372_probe); MODULE_AUTHOR("Stefan Popa "); MODULE_DESCRIPTION("Analog Devices ADXL372 3-axis accelerometer driver"); diff --git a/drivers/iio/accel/adxl372.h b/drivers/iio/accel/adxl372.h new file mode 100644 index 0000000..5da89b1 --- /dev/null +++ b/drivers/iio/accel/adxl372.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * ADXL372 3-Axis Digital Accelerometer + * + * Copyright 2018 Analog Devices Inc. + */ + +#ifndef _ADXL372_H_ +#define _ADXL372_H_ + +int adxl372_probe(struct device *dev, struct regmap *regmap, + int irq, const char *name); +bool adxl372_readable_noinc_reg(struct device *dev, unsigned int reg); + +#endif /* _ADXL372_H_ */ diff --git a/drivers/iio/accel/adxl372_spi.c b/drivers/iio/accel/adxl372_spi.c new file mode 100644 index 0000000..e14e655 --- /dev/null +++ b/drivers/iio/accel/adxl372_spi.c @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * ADXL372 3-Axis Digital Accelerometer SPI driver + * + * Copyright 2018 Analog Devices Inc. + */ + +#include +#include +#include + +#include "adxl372.h" + +static const struct regmap_config adxl372_spi_regmap_config = { + .reg_bits = 7, + .pad_bits = 1, + .val_bits = 8, + .read_flag_mask = BIT(0), + .readable_noinc_reg = adxl372_readable_noinc_reg, +}; + +static int adxl372_spi_probe(struct spi_device *spi) +{ + const struct spi_device_id *id = spi_get_device_id(spi); + struct regmap *regmap; + + regmap = devm_regmap_init_spi(spi, &adxl372_spi_regmap_config); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + return adxl372_probe(&spi->dev, regmap, spi->irq, id->name); +} + +static const struct spi_device_id adxl372_spi_id[] = { + { "adxl372", 0 }, + {} +}; +MODULE_DEVICE_TABLE(spi, adxl372_spi_id); + +static struct spi_driver adxl372_spi_driver = { + .driver = { + .name = "adxl372_spi", + }, + .probe = adxl372_spi_probe, + .id_table = adxl372_spi_id, +}; + +module_spi_driver(adxl372_spi_driver); + +MODULE_AUTHOR("Stefan Popa "); +MODULE_DESCRIPTION("Analog Devices ADXL372 3-axis accelerometer SPI driver"); +MODULE_LICENSE("GPL"); From patchwork Tue Sep 4 14:12:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Popa X-Patchwork-Id: 10587383 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 018D113AC for ; Tue, 4 Sep 2018 14:12:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E2DEA291B2 for ; Tue, 4 Sep 2018 14:12:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D58ED291CE; Tue, 4 Sep 2018 14:12:58 +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=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,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 0E3B2291B2 for ; Tue, 4 Sep 2018 14:12:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727009AbeIDSiN (ORCPT ); Tue, 4 Sep 2018 14:38:13 -0400 Received: from mail-bn3nam01on0080.outbound.protection.outlook.com ([104.47.33.80]:54058 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726956AbeIDSiM (ORCPT ); Tue, 4 Sep 2018 14:38:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.onmicrosoft.com; s=selector1-analog-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gWh4mPdTswa3YZNcC0nJf95Sn4nLNGjW1HLlufoGlH8=; b=l4ln9o3oJHOLG1E40wYeMrsVu2hhTGLMo9hjQTKEZRrtFPn1efjXRJvEQnupCnGzU0EZ5iAn2HDaS2Iv/MQcVwu9PNS09zQewSVPqSlnuGhdDEtqQFAQi9Kfkj6EbEidJqEMa0gta4hf5ENavzPGkdBJYlg05x+aGFCarYhs0UA= Received: from BN6PR03CA0089.namprd03.prod.outlook.com (2603:10b6:405:6f::27) by BLUPR03MB552.namprd03.prod.outlook.com (2a01:111:e400:883::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.14; Tue, 4 Sep 2018 14:12:53 +0000 Received: from BN1BFFO11FD025.protection.gbl (2a01:111:f400:7c10::1:169) by BN6PR03CA0089.outlook.office365.com (2603:10b6:405:6f::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1101.14 via Frontend Transport; Tue, 4 Sep 2018 14:12:52 +0000 Authentication-Results: spf=pass (sender IP is 137.71.25.57) smtp.mailfrom=analog.com; pmeerw.net; dkim=none (message not signed) header.d=none;pmeerw.net; dmarc=bestguesspass action=none header.from=analog.com; Received-SPF: Pass (protection.outlook.com: domain of analog.com designates 137.71.25.57 as permitted sender) receiver=protection.outlook.com; client-ip=137.71.25.57; helo=nwd2mta4.analog.com; Received: from nwd2mta4.analog.com (137.71.25.57) by BN1BFFO11FD025.mail.protection.outlook.com (10.58.144.88) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1122.11 via Frontend Transport; Tue, 4 Sep 2018 14:12:52 +0000 Received: from NWD2HUBCAS7.ad.analog.com (nwd2hubcas7.ad.analog.com [10.64.69.107]) by nwd2mta4.analog.com (8.13.8/8.13.8) with ESMTP id w84ECqBJ028066 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=OK); Tue, 4 Sep 2018 07:12:52 -0700 Received: from linux.analog.com (10.50.1.110) by NWD2HUBCAS7.ad.analog.com (10.64.69.107) with Microsoft SMTP Server id 14.3.301.0; Tue, 4 Sep 2018 10:12:52 -0400 From: Stefan Popa To: CC: , , , , , , , , , , Subject: [PATCH 2/3] iio: adxl372: Add support for I2C communication Date: Tue, 4 Sep 2018 17:12:32 +0300 Message-ID: <1536070352-5571-1-git-send-email-stefan.popa@analog.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-ADIRoutedOnPrem: True X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:137.71.25.57;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(396003)(346002)(376002)(136003)(39860400002)(2980300002)(438002)(199004)(189003)(51416003)(7696005)(50226002)(8936002)(48376002)(107886003)(575784001)(14444005)(50466002)(1720100001)(47776003)(106466001)(2616005)(356003)(316002)(16586007)(476003)(2351001)(6306002)(54906003)(6666003)(246002)(126002)(106002)(7416002)(2906002)(4326008)(5660300001)(305945005)(7636002)(6916009)(26005)(336012)(966005)(72206003)(478600001)(8676002)(186003)(486006)(53416004)(426003)(36756003)(77096007)(44832011);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB552;H:nwd2mta4.analog.com;FPR:;SPF:Pass;LANG:en;PTR:nwd2mail11.analog.com;A:1;MX:1; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD025;1:NpJjDrFjC4OS6w8d3EHZ/3QMei+Fc6awn4TKU/gX9xz2Wpk5wy3HXCgeDBSC1X8qk/zqpptGvuxUUxK5Lfqi7bLd73vKyY1xlqZgz3nCAsf8KA2Lk32qNj1ihp65bEQv X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8170f0eb-a2ef-4f9a-541e-08d612708107 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989137)(5600074)(711020)(4608076)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060);SRVR:BLUPR03MB552; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB552;3:JmFXQEKZttMwbJGlNn4eMSOzKRjx/6GyfMAtCme9tKQOaXhVSdvpC5VfgQjowwwE8w1JU4h8UGEZCnzR4WLUStAUcI9jybrX/tkWmE+XRLpy0x9HFcAHV42DRLIhg1oU6Ne3cwN7E2v6SLCK7E/DAuQ4aT4kGNLhLFtxtOcGiLm2T5GA68HfLYFk3Oec5I2yEdIK1mHHoHeinyoO/GMvZ7edT10W8npPmKSIdNHdlLCehr5jLoSppg/krz9E2ggR2aH9qt6UDL+sN6LPI9ZCY9lRW8exrif7ozKcjy9mJcmnjXTBVn71b/pLvsxcWjkvK9gYwyr+n4SGKDskJHx0kuJSXzw85igjq4MQ/vWTSCQ=;25:rNx97lh+0X0VzFtCAFImTVJEFo268O4sVUxkyHN3YClVWhAS1t4gw5vRK1IlVRa9pl7vjgSh6ffjPgdMp2XHG6OBz30FMxHUQyb9LiheU9rXjy87olruz8dQAC9Ptk+VcGkfhotQDUbxLkv3QqohBA0DeR3eSrXsgcEAL9d0ECgNgEcZCEQ4HJ1x2JiVtI2SJrlIb+oMRv8dJyEZnwLi1mZEIe5yILToBgjzZpL1VTPvUzcW0JZuxa+MCLCaZbHXW5mh+4hE8mgQpw+jcOg01aTp3GbMYA7wdQalpKZdgH/bYio+EVLLIqhSath4dPCE2WnNSKZp2W1ygGVWJ9t1rw== X-MS-TrafficTypeDiagnostic: BLUPR03MB552: X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB552;31:n4J52cDq3JGYnnJEp2fpYirwwu5LIELtq53ImXl048JhsM5TQVuYYIreL0+rDByEMntyNzAL2Dx7quXVN6DwpHeTkaNmpr2oSHFbL6wo1n2YlhAFgM1Eb44xYtOSG1w8c+b97dKtpJWwNl3FyzNT0uSGtVuhS0aYoz9hRRQ6Ul6nfn7Q/+48L4bg+OFid0YqcbYpLF1xumpbFOitXyyZGllz5ZaOa77jytg0A2n3sII=;20:ZuYK8W/0K9uwlGY/eBNwChHD0s8sNfpXi8BG3fTjFCEr5FlQZVaKlatVPHE4ojyU/WA+9Eqn39ZlkVOjNFk+wZp4uzZzwUeyaplNS8HpJfPMaS6qUDjDJLorh5T8CrOWM9emzAiBLofRADRBANd7+ZrJyN9dSIxDfUQpwSPpd+fSkYZkV9LCuzA9Q4iB3O3GmecYXmEN2AquBvtAien/5q5xHb8EV6gyPnZECWevN8+ILH3zxSexDg48nMje8BSbkkAoH8ZdV4xeoReMQ0Ic9DviDVXUhnwxgrAn3B2+enXUbjlPwvqEe7fMDy50gUxVY0lps3Z/bFs/bP3d+WitKUOc1t8pzmydkvyeIOFAKzZAfc1XMKSigAht8nOb2eMt6YP7VfcAUe3erHftmiz9f4id3dYZ3Hm+tQSjWSx5EeCa8qAeDhijyGzdC5F+CHv2AX93JhYEfGCknOOamanvrT2KTHiHio0L/UBonltY3S8Q4reiCbWTcYX/9tHiH7+H X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(232431446821674)(170811661138872); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93004095)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(20161123564045)(20161123562045)(201708071742011)(7699016);SRVR:BLUPR03MB552;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB552; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB552;4:qNnwA6voFCYXlmHK2nbx6qumCxY53vUQ6zpnZNhC+SOCGgAHk407DJs4d8+B4A+Zog02bMsEO/VC153Pttal8w4Rw4nKukShGoLGHteryxlCuCt9iEyTHHevsFyrt8yMf5PZAPjQFroQGh52i0C59voQxcriM8uwG4RI5TiupclGQnwgG8c1djkPegqtn/Lthvo4LwUb4cIk+ZVRM6yTIeypxfQ1C0KG5oS9FM40P6/VOvTYObak1KJKYxtKL+NzNzh+SGM3Of7HhDOipXVrOloZ1xMkUhRCgMa/Bjs9seTDBEEbfV/5s48pndk/ZJ2zZGiUKQnWcGDBjwPIoR2AwCJ7DcvMbWqJ5QbCsDNAEk8= X-Forefront-PRVS: 0785459C39 X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB552;23:FOrgrVYWwnU+LsHkFAEXe7VNTgpnvTBR8Zi2gKA430ZwbZ8DQB3cUcsr8zfwqgvaskyuJQtogmL44k87Z/YW6cjo20IyEXDiR0c0DyEk+O01QlSKddk5t/Fhu0GhTgtg43yAsHrNJt5S829zDT19scShAPAatjikA7dJfxs+9TPcek0VJ44Aw+qrOsaYDCEzkm3y+CpV7oeN0FkIOTlh91P596g4BYYoJoNOnP3ckG2PeTRtVj4q3Iy8SOiSdHDPHUrXNiFv21Pz/h/+DmnMXei73oOAL9YQsIy16JNvIJkSPfng8AmsCbbNMxp7gVWcCnwcTLsd/HIsC6d6mbOsHlwEEaAlpySdiDfy/4N5aNFBCdT9RzhOjmK5vyAdVW4EaXGe/4GS6uiLJfi4GIiSBpIeTwyLqV/HLdRlt2Nu/sPevcFv1yWexw+wrNgwVJ5iGJKmOPYmtinl1mABZhdgkKTEHHbBP5LlwsMVgtINyzUJRR9QcWyNJ3A6gQ07c0MCRCI+N42KTP20+SUOqXKMLBRE+MhVkxcBljdQhQLbiG3/GXXnDwQAFlQGm2GgWLIxd7i54jVU/yvnsxRnEcMt7vCG/AwIkKM26cxi6YpJyOidgrC/hpxvAY6J6IE8jrmBVjLBoGnx99m2QsHcqgx3vSu9+EDG3YMu5KHW7+frblIFJUUEIEUTk157bpRq07eI5l6wHn8weAVRXrqzDcmHG73W3iYSr3LjnyiNfCNgvgIPF73OhuGXeQJl/nn8BeqQJ+me5vsXbWTk+C54PQAUq2oWh0FWs2SHJUGGgxmURakAyzoUVssbZtn5m4ivv5znnoumEnRzarRhpVPJON0DzsRWNKDiwBYsh02XDwIC411TVbTEvrhpgPsY98I8T902OnECkyco2IYiOagT/VN2eLiBGY+uhJeWarYuEYH7iJ1Q39/ESWj4nUSMIlFBWjAIUsKXSo+SqNX0n74qJbNloBoTwkm1pZcf2DJRktQE2tSssIbyYMlEPoek/3WP706IppzIpoqN7boQljlT+No+qBLfNBXmNKLeWTmOaisk5eOwCPX5qg3PtN07Nheg9bdJmX8qF2uEumHq9pDtAO+4FrrbK3Pguhd2kXkboxhF2pK+ujC/UXcl5ElFkrHVxPbJ5ClWvV+prjMDvnXc3zekSw== X-Microsoft-Antispam-Message-Info: DdjMyiOLr1DTSwm5LsPza5jjCs1eMNYvlJ23s7nQBmJfrWCc62UVVVPOHaa6/toSZPP3k4fG0IwAjYup2XzuKXwM+BddIG/DdP5VfkhJmMG2xrTWGYM2uiLPqG6KqiascC0fwaZReUkBj3dkpsNXTB3XxW4PRAe/YQFtlkPcIshVOdSGG8urujnywzQ66zujWemCe1lkm0teebqOPSR6dJMtpltu1wvCog0yoFTD3q/RidqBx6RGgJRSICFdJXwEIzUT+ZqeZq08YpmoQRbbg0d1LIaUBADjrx0s6oVZQfx07q+jzOKt2Y17L8fQH+i+p6n3/+zlBm0A/9amycN0qemEVRjeca/JZhOMzsgrO7Q= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB552;6:B8Mx4YAT/2Ob3KFZRNTDj0jmL6sE5ENowDVfBb6VrAqB1Uy5R+shk8mw6VAjfYO7eSMnW9mPWzjtiPcHNFVQ7RyQyrAggwa6FoFWFg86865szb7LUdCGlRdNXm90IPieTvLJSgmGviYrfErTj2xIluA7wWKzhgSmfswn2t/sHkHXGLF7eEeDV12I31RQ/Jshi/HLpUdkH9AI0Bo+rS3VbSqe9/Xd0mqsz6prZBWFgxeIC6vbXeB8JsSUlJ2z90NTwRkn1s1XhfxGR5aOenlUvixcCY7dJXX1aWZpZX1fEaYnwgVr3GtbOwyzelgNSWKC5TjxZ3RatrXzKy/ablvmeYn6f98HrB76IXNt15afzaNrVSHkRs2hw9DUec0yetgiUuF+eFgtWkj45hZSQmEXBkGGT/iTJrFBgcYvRFa7dNG4cDmhj4+BVfy/hYMfVj3ygPbHo1sRcQQqdmRyHeswcg==;5:RKHz91owlpvnesOywwx2cdP9lkUZ/1NF07NQ4H4ScpjFahsm9kX/EqW+Zi3963KMZ+du/LyXmpvrNG1/t2pXtaV6xl8DwP6x6xEj5EjDV9tdzT979PUahfeUxg6pfAC5vdVlT+G3FO43xvVSbefrZczUWbAWW9a7CXRMp3XvpZc=;7:DEvOyAHXNYZTSrX5z/+notouDursfPTZQ37yckm8vNRd07k4irFGQB8nbnxWHmIJt4EDTcV9TMJG/dltarcr3My86Dt4NJfG/eMMgQLiALRmS0OQqESctufKhzmlQDCxqy4EhI2gcAywgKDSoqV8xIjXYr03VAUZwTtcAmilF81LjxcZ8mOCMnCmLDez2+a6Rz6zGqIelSo+V5UCqGmD6Ay3afDv7M2c8hCjuYTNWkyPHeWcCOxSVEkFst/RgHp9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2018 14:12:52.8319 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8170f0eb-a2ef-4f9a-541e-08d612708107 X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=eaa689b4-8f87-40e0-9c6f-7228de4d754a;Ip=[137.71.25.57];Helo=[nwd2mta4.analog.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB552 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 The adxl372 is designed to communicate in either SPI or I2C protocol. It autodetects the format being used, requiring no configuration control to select the format. Signed-off-by: Stefan Popa --- MAINTAINERS | 1 + drivers/iio/accel/Kconfig | 11 ++++++++ drivers/iio/accel/Makefile | 1 + drivers/iio/accel/adxl372.c | 1 - drivers/iio/accel/adxl372.h | 2 ++ drivers/iio/accel/adxl372_i2c.c | 61 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 drivers/iio/accel/adxl372_i2c.c diff --git a/MAINTAINERS b/MAINTAINERS index 2938632..2b9a364 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -549,6 +549,7 @@ W: http://ez.analog.com/community/linux-device-drivers S: Supported F: drivers/iio/accel/adxl372.c F: drivers/iio/accel/adxl372_spi.c +F: drivers/iio/accel/adxl372_i2c.c F: Documentation/devicetree/bindings/iio/accel/adxl372.txt AF9013 MEDIA DRIVER diff --git a/drivers/iio/accel/Kconfig b/drivers/iio/accel/Kconfig index bed5da8..7993a67 100644 --- a/drivers/iio/accel/Kconfig +++ b/drivers/iio/accel/Kconfig @@ -76,6 +76,17 @@ config ADXL372_SPI To compile this driver as a module, choose M here: the module will be called adxl372_spi. +config ADXL372_I2C + tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver" + depends on I2C + select ADXL372 + select REGMAP_I2C + help + Say yes here to add support for the Analog Devices ADXL372 triaxial + acceleration sensor. + To compile this driver as a module, choose M here: the + module will be called adxl372_i2c. + config BMA180 tristate "Bosch BMA180/BMA250 3-Axis Accelerometer Driver" depends on I2C diff --git a/drivers/iio/accel/Makefile b/drivers/iio/accel/Makefile index c9c5db9..56bd021 100644 --- a/drivers/iio/accel/Makefile +++ b/drivers/iio/accel/Makefile @@ -10,6 +10,7 @@ obj-$(CONFIG_ADXL345) += adxl345_core.o obj-$(CONFIG_ADXL345_I2C) += adxl345_i2c.o obj-$(CONFIG_ADXL345_SPI) += adxl345_spi.o obj-$(CONFIG_ADXL372) += adxl372.o +obj-$(CONFIG_ADXL372_I2C) += adxl372_i2c.o obj-$(CONFIG_ADXL372_SPI) += adxl372_spi.o obj-$(CONFIG_BMA180) += bma180.o obj-$(CONFIG_BMA220) += bma220_spi.o diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c index f1df89d..3b84cb2 100644 --- a/drivers/iio/accel/adxl372.c +++ b/drivers/iio/accel/adxl372.c @@ -26,7 +26,6 @@ #define ADXL372_DEVID 0x00 #define ADXL372_DEVID_MST 0x01 #define ADXL372_PARTID 0x02 -#define ADXL372_REVID 0x03 #define ADXL372_STATUS_1 0x04 #define ADXL372_STATUS_2 0x05 #define ADXL372_FIFO_ENTRIES_2 0x06 diff --git a/drivers/iio/accel/adxl372.h b/drivers/iio/accel/adxl372.h index 5da89b1..80a0aa9 100644 --- a/drivers/iio/accel/adxl372.h +++ b/drivers/iio/accel/adxl372.h @@ -8,6 +8,8 @@ #ifndef _ADXL372_H_ #define _ADXL372_H_ +#define ADXL372_REVID 0x03 + int adxl372_probe(struct device *dev, struct regmap *regmap, int irq, const char *name); bool adxl372_readable_noinc_reg(struct device *dev, unsigned int reg); diff --git a/drivers/iio/accel/adxl372_i2c.c b/drivers/iio/accel/adxl372_i2c.c new file mode 100644 index 0000000..e1affe4 --- /dev/null +++ b/drivers/iio/accel/adxl372_i2c.c @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * ADXL372 3-Axis Digital Accelerometer I2C driver + * + * Copyright 2018 Analog Devices Inc. + */ + +#include +#include +#include + +#include "adxl372.h" + +static const struct regmap_config adxl372_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + .readable_noinc_reg = adxl372_readable_noinc_reg, +}; + +static int adxl372_i2c_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct regmap *regmap; + unsigned int regval; + int ret; + + regmap = devm_regmap_init_i2c(client, &adxl372_regmap_config); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + ret = regmap_read(regmap, ADXL372_REVID, ®val); + if (ret < 0) + return ret; + + /* Starting with the 3rd revision an I2C chip bug was fixed */ + if (regval < 3) + dev_warn(&client->dev, + "I2C might not work properly with other devices on the bus"); + + return adxl372_probe(&client->dev, regmap, client->irq, id->name); +} + +static const struct i2c_device_id adxl372_i2c_id[] = { + { "adxl372", 0 }, + {} +}; +MODULE_DEVICE_TABLE(i2c, adxl372_i2c_id); + +static struct i2c_driver adxl372_i2c_driver = { + .driver = { + .name = "adxl372_i2c", + }, + .probe = adxl372_i2c_probe, + .id_table = adxl372_i2c_id, +}; + +module_i2c_driver(adxl372_i2c_driver); + +MODULE_AUTHOR("Stefan Popa "); +MODULE_DESCRIPTION("Analog Devices ADXL372 3-axis accelerometer I2C driver"); +MODULE_LICENSE("GPL"); From patchwork Tue Sep 4 14:13:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Popa X-Patchwork-Id: 10587385 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0D624174C for ; Tue, 4 Sep 2018 14:14:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EE48E2950F for ; Tue, 4 Sep 2018 14:14:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E23D629594; Tue, 4 Sep 2018 14:14:34 +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=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,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 65F752950F for ; Tue, 4 Sep 2018 14:14:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727079AbeIDSjt (ORCPT ); Tue, 4 Sep 2018 14:39:49 -0400 Received: from mail-by2nam03on0077.outbound.protection.outlook.com ([104.47.42.77]:20608 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726956AbeIDSjt (ORCPT ); Tue, 4 Sep 2018 14:39:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.onmicrosoft.com; s=selector1-analog-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L5a21CWzqqsk/UceUyXPMrm5J1WWaMCPLaD42wWxSrc=; b=T2Zmfh7wZhvC8Nb43VF9csu83XnitrTOWhgMOH+3WLiTN9jIuFhx6ImlEXFpXs+rUiIy2W46a2ZSqU/mLv+E+NHBMBRoMsm9Gx8rk+j2mubPPa3hkhS+8txOOqZjQ1YZ+RJuLg8hhIa4GXONbBahQdxFYSjbQq+RHPR7OilTSu8= Received: from MWHPR03CA0025.namprd03.prod.outlook.com (2603:10b6:301:3b::14) by BN3PR0301MB1218.namprd03.prod.outlook.com (2a01:111:e400:403d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.14; Tue, 4 Sep 2018 14:13:37 +0000 Received: from BN1AFFO11FD018.protection.gbl (2a01:111:f400:7c10::175) by MWHPR03CA0025.outlook.office365.com (2603:10b6:301:3b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1101.13 via Frontend Transport; Tue, 4 Sep 2018 14:13:36 +0000 Authentication-Results: spf=pass (sender IP is 137.71.25.57) smtp.mailfrom=analog.com; metafoo.de; dkim=none (message not signed) header.d=none;metafoo.de; dmarc=bestguesspass action=none header.from=analog.com; Received-SPF: Pass (protection.outlook.com: domain of analog.com designates 137.71.25.57 as permitted sender) receiver=protection.outlook.com; client-ip=137.71.25.57; helo=nwd2mta4.analog.com; Received: from nwd2mta4.analog.com (137.71.25.57) by BN1AFFO11FD018.mail.protection.outlook.com (10.58.52.78) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1122.11 via Frontend Transport; Tue, 4 Sep 2018 14:13:36 +0000 Received: from NWD2HUBCAS7.ad.analog.com (nwd2hubcas7.ad.analog.com [10.64.69.107]) by nwd2mta4.analog.com (8.13.8/8.13.8) with ESMTP id w84EDa2q028232 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=OK); Tue, 4 Sep 2018 07:13:36 -0700 Received: from linux.analog.com (10.50.1.110) by NWD2HUBCAS7.ad.analog.com (10.64.69.107) with Microsoft SMTP Server id 14.3.301.0; Tue, 4 Sep 2018 10:13:35 -0400 From: Stefan Popa To: , CC: , , , , , , , , Subject: [PATCH 3/3] dt-bindings: adxl372: Document the adxl372 I2C bindings Date: Tue, 4 Sep 2018 17:13:14 +0300 Message-ID: <1536070394-5679-1-git-send-email-stefan.popa@analog.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-ADIRoutedOnPrem: True X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:137.71.25.57;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(396003)(136003)(346002)(376002)(39860400002)(2980300002)(438002)(199004)(189003)(305945005)(7636002)(47776003)(2906002)(6306002)(26005)(356003)(110136005)(54906003)(36756003)(8936002)(106466001)(16586007)(316002)(53416004)(6666003)(44832011)(4326008)(5660300001)(478600001)(7696005)(51416003)(72206003)(186003)(77096007)(107886003)(476003)(48376002)(8676002)(106002)(50226002)(966005)(2616005)(426003)(336012)(486006)(246002)(126002)(50466002);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR0301MB1218;H:nwd2mta4.analog.com;FPR:;SPF:Pass;LANG:en;PTR:nwd2mail11.analog.com;A:1;MX:1; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD018;1:4WU1wiZZezp6xMCvC93k4fpz4EUUu9aZ0Orgsm6GxAjWLlHQ4s8Aw6XWAumje/ekmMGDQ4Wkp7w/q/CfmwODiqNIg1r3ANkcuosKldjyPmPXtmI1xtgzMsNqIVk7p0As X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 74e11e35-0daf-4f6e-64df-08d612709b07 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4608076)(2017052603328)(7153060);SRVR:BN3PR0301MB1218; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1218;3:rybPHegKO3uaAbE/gTNOYVRQ7meKBsG3e4FaJdf9u7eMTyK0ixhox7+g3CwFHd21drSdLfdKggCW894XoQNsttQvTEzN0nzyXBBfJTYILAQNSQc45GsDZbbz9OADOHgpJSN+QLVvukCoi4VKbUg3rFv5EDSxXBcUUS6dmKdxnJRqPaKuJXfzOW0AyYT2Lzt87w370ikIv85R/zgSQS2NqV3d4sL4lLumsmXUuXpVdqkMBw4HUc8sK5fjRi61XiNh5ODUInYTAQlr/30M80iD1cu6gsf6Ovm1L3Ghq/PdTEj7DZfSJZALO9Coa8pvI3zVYzBvNvYoYdGpK4dvJ/9xO93hSe44bNd2VqJRMth+JfE=;25:3Wf33bFjstYEdBRuY2tZ0UKyTH0koZKNMM+35zH9pp7d7qDlz7JA5n9oxNO0ZYTQYTIsXaDcvsY+vFs2z21EeBlx3wjEGmNfrTQ3gTmpyKPSSvCJvSgH66uVNKVlsSMT+lIpzzYtjwFKOFRc8iuIEjV4C61e3+YVPD1Ah7f2KIczRjkfxBGKdQXMKScPykEkVo2FlEHXeQV4BhvqqK86zzpLk099kE6JDC9UFaHHAYBPG3HA5iMil3F5v050Znr9XjZELLqQ/Iv9qouGG4Gf9mD2mC5srctJG8nAJkm9mcnzUVyFoCqDDNc7Fte/vk87j2ky9IX4mHMR+/UOXUUBcw== X-MS-TrafficTypeDiagnostic: BN3PR0301MB1218: X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1218;31:7i6GiG+XGbMCM2tewHLM2Qt6rKzKO16D5kIrJi6fiHmJvSWBAvKBFKMtyTjo5dHcJozShRcMiiwKj1HdrnMf0nnA/wg62/AJ2TwYC8A3kyAlDtr6mBKEj9IWMgiDJwavpBx4b4KInaB4fGunftk0fd1t/n+jDMQfH2xrJUNzmCRpR/Ram2txUwKCNnryfOaz3xrhUuPLh9KsZp6CeK1z9D38AB9dr4kHcKpZFcpC5Uk=;20:c3LWXYmxnWAxErU/yfOJ5zjrzZ9ehxEKkqhG60/kHr1vNXCY2e5R+gRHB3nvpL4/cYNkuKx60m630h3eroKHO5m7VXk5XcfCL9t2GQsUuh2xjNwZTdhsa8FgwBvqlaJsnA0CNcESqZzs2Tt4oUQ/Mdx5OB9Vr4pv8gq8j+mhgFWaYxEdkYox51upA1FLuGRzYsbC8wlNBxonEq894RaKLMmveDnzy1XedWOp9yJ3hxM0x7RPN+5tfl07t5b/j4P806H7Tp9t/9KJmfG3E9JqRGgDf7GgWLTqhLHnkgi0osVkpvRYVLZkkfyElFf6jjpiFUDZsTZu8scJ0C5hg/2O41l0eaqU+qTcRkUoTkn8H9Pu29OE11+0emcZBVpytJ/hCZzEVxJw0txGDJ+OQnK0qiVCo7kwxDaCX6zjFdZ+zpk28wDVzVQsw9ZL8RYeDuR/JaUuiHNotcVRzU5w1iBNX7kWIuadTQCrTTrcSPM0NTAfwuORO9+5J/PRsTE+3HlY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(270121546159015)(232431446821674); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231311)(944501410)(52105095)(93006095)(93004095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699016);SRVR:BN3PR0301MB1218;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1218; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1218;4:o97v6AlxEq/V/Y9a8Ss8EU7buzyWkoSC9hRWOGg6BcfoR2rdZnO1uu19b97SyezSrZ6gs+NY/ev4UTJbrmgzmeX9loQOZaYVylES9BksEoUnyXdBsnT0RoaDiXsJga4pFtKYqIEzf8FTcqiTz2AJwhuz5V9CTtv4FAP4TQDVrNDXzzoUkWx6Cs5FeYDyYNFfxCQ8NucdQLBujkCgb1rfO4Tcr/ShOhqj3r5rt9eePlXfHSqPUCHQr0HpOPNQXFLyw1s8GzyKkfVasKXvgZYX96VuP/RcKMhRF3QJ89oIat7M7wRYP+va0lPBlckpVkWVU59EDnUg/LO7ap5v9oxIBUBxi+tW1TkzQ7KQ28LdGn8= X-Forefront-PRVS: 0785459C39 X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1218;23:9lDfv/KMB0griIjTpcjUIb3nXWYBLiDnfct2aqASRtCsqHTFrsS1Kif+2rBk0291KD9kykuSD8ZLFf7ilK6xdU/achvclq2GtaNIfoAOiiX6MQiALglOPB8ls7r5FKe1lW7OqdjJqmLgqD9X+1NOlxD/lZIWmJK8Lv85e8sCrYc28DQLkOExtif4ljyvul9wbC1NdDMV08nLVTOBCYSRrapCWwLmE1AFMm/n8vEDCq0UCinZVWpNt9W+QaclAsgxpSJV6Nq4wr2snTJXibHhuSmqJ2jxSqnZ3GKF4iDY9lZw7bxEKCzxkY8C0LoAeyIko15iA0NLQeWSet7jjzz/qYv7PiiI0GBS7JLvWHaP80mwNndyCo8q6EzlSBxFLcC1bzurV1Ze28X5g68/g3Z7OusthZMDIwMGK4vfUHHh9wP7vVGb7HIIWdNEsuU5biHTRrvApW6b9QmuVGj9+vrOil7/bzaxGWHc6PrAWrF0tuJYeSi+yzbx9IdiOMkyAt4Vfhujs6Ux/Yji83kHoFaoH0yJGtDRQDQDwyHJnZ198fJ34D/67c/rqbKqKDTuAJhb6Z7sZOwz5GhX6ehvZo7FabN2213NqccgDbXKS5e/3JWoI/GhDo/cEWlib/rNppm8wlMvl265RhHr6XRurJHuh+7YVgjSXmjCI+aWcAvFnBLJsRYEip1iHYfCFwIjqKGZp6xylSjvfZY2eD4583BIJ5Rx4UFYcbH8z2QaXtuMzGkB2gNBZ6fdNMYuv1zT8eEs+z1mfstwLvAO/mA44jPSKoRzVx+UyFh+QXSku3B9tV5bRf6iNgEH5ge4YaiU/4GDF27HHTWfh3FysI/KyZD3x2PDlL5ffs1WPcf7OBKsHajWLJrUhaBEuuUsp0Qsqlo+nXf6yVvP7XTm7X0k0hzLF8L3iPEbS8ZZ4F7rSgFwecJWsyV111LGhGcJRtWOpMVKlxPdwFmux2pfT/lEf4j75EVtNejLs+TGtrfoFlRVge+PnvtPSWWvvOxkVPV4z0UsUG3L9sWXgnhFrztFI5awmuJgDhnIiWlqXL+QuETZ1SI= X-Microsoft-Antispam-Message-Info: 3OuVDXNGR0UdUKCnALm+KqCDIasPQb9VJCysIEoUH9yanQSM/KvGHNQ2X2hWiFHaxWQf0igy2MZNtMHRcDqnT8QyI8Bio3jMEKPnm7z20kiZyLzikFpe+qBIAyKU9krxhKSZoEs2lZ1VBWnEg7UE62peJZ7ES4l73a3RW4P0YvJ3QxARZnoZB9VGZaTiPTRs2wV7+Xb6B8Dgsm9HhjCUX1GFvX5jHWTjme+9YAW6d2eVld19VMI3mbsexmq4WMdx3LKyps3MeAhVA/GX0DxIPd9k1KG+ryvQZ490GCwkL4Y3hR6ENx0yprZmKLuRAe1kZN7agU/svY2N+FWoFBs20/DtOObMzKg0b1iyXyyGRfo= X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1218;6:NNK43tRolLngZWZJJTwOfUhG0LZxdzi5fsg/qttJ1RhmTcTXNi/NWg/8xBL6g5gzRQaTgazhniNg0HsW4jjI5Q0ZmQIRcHQaiv+37ILWc0cQev+6DBNzBD9Tr9l8Nd4NuV0uL3ABNdV91bMSgSxSA5dTQ3My9wisl1P4m/PXApQOqC3YppBYJwShoHtj/62zxgQdo4whTQLPHGeyyjavUoFynqmbl+pqeBfK0xVolhBqxdXfQJRzRqtAOBKi98HVwPDgBoCWjJfDD/I5xv03BgS5z+w0ehB2cW+VqSeczA/UMpWTrmVlMliLknj7PNqB2L6vA5qTzPua3+ZqmFVm2AXLBvpc2hJ65sp58qpJVnyqs9NPaLudYUS6aTov8XB66c+wVXkmfXkXaoLy+OBMRxwiaXoM7BD9L70bZXvj2zav/ED4L8MNwefjPs7EvuYNbwhl3JKiV2mX7etvDl0hUw==;5:3+siUefLSPwpJ+DU3Otp+D0MhB0nkmroXabG2zEVwyTW6hgCIe3ZL3QGzfKfWna1j5Ljaz8qRO1GToqNbykIvBYZDeMQW0ZFjFCkIeZPS3SNtY+pExSGbBHg1wE8AVkMwYQcNkdoLmZr2574prAhXpBRWeFu+FJRZz1jzXTRJQU=;7:i1IWtND+jEO+rSDAudDy5UYuGwQ25BUXFDCseRCSiYhIcpplaUMVT4tUpqf3sHZNrBl8EMh2jNi9Wp/SBK5XsxuZzSfSWF9UIZayhEjYFIbPuy+jhR/7TYFfymUtHV7JmQ+urXeBL6WaWg+JldTjWwzeV8dhhAyxJC5Vgl3PqItERxxgVyJaokek55D0S0PopXhVdqtX+ZOvGUhQnTXYYTl+u8XW1YQv5WHgaxYkdGPzaOd/W3Kb+6jUWaSjesWX SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2018 14:13:36.5001 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 74e11e35-0daf-4f6e-64df-08d612709b07 X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=eaa689b4-8f87-40e0-9c6f-7228de4d754a;Ip=[137.71.25.57];Helo=[nwd2mta4.analog.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB1218 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 The adxl372 is designed to communicate in either SPI or I2C protocol. This patch adds the documentation of device tree bindings for adxl372 I2C. Signed-off-by: Stefan Popa --- Documentation/devicetree/bindings/iio/accel/adxl372.txt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/iio/accel/adxl372.txt b/Documentation/devicetree/bindings/iio/accel/adxl372.txt index 9409984..a289964 100644 --- a/Documentation/devicetree/bindings/iio/accel/adxl372.txt +++ b/Documentation/devicetree/bindings/iio/accel/adxl372.txt @@ -4,14 +4,25 @@ http://www.analog.com/media/en/technical-documentation/data-sheets/adxl372.pdf Required properties: - compatible : should be "adi,adxl372" - - reg: SPI chip select number for the device + - reg: the I2C address or SPI chip select number for the device + +Required properties for SPI bus usage: - spi-max-frequency: Max SPI frequency to use Optional properties: - interrupts: interrupt mapping for IRQ as documented in Documentation/devicetree/bindings/interrupt-controller/interrupts.txt -Example: +Example for a I2C device node: + + accelerometer@53 { + compatible = "adi,adxl372"; + reg = <0x53>; + interrupt-parent = <&gpio>; + interrupts = <25 IRQ_TYPE_EDGE_FALLING>; + }; + +Example for a SPI device node: accelerometer@0 { compatible = "adi,adxl372";