From patchwork Sat Nov 24 00:23:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10696405 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 B6BD713BF for ; Sat, 24 Nov 2018 00:24:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A58942B437 for ; Sat, 24 Nov 2018 00:24:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 992D82B5D7; Sat, 24 Nov 2018 00:24:19 +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 39EC22B437 for ; Sat, 24 Nov 2018 00:24:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728192AbeKXLJw (ORCPT ); Sat, 24 Nov 2018 06:09:52 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:44530 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728188AbeKXLJw (ORCPT ); Sat, 24 Nov 2018 06:09:52 -0500 Received: by mail-qk1-f193.google.com with SMTP id n12so9280377qkh.11 for ; Fri, 23 Nov 2018 16:23:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=RBh8mG9PSGI8GikIxS9pbBoaA+nEmHVPkQII5oHoG9E=; b=Z458dGtzZXGrR/pVTkgsb2kkqW8cR7ooYTBPWIcDmky9QO5MWeWCIKo4poKD/gy5fm 7PO9F0xyBPlay/T+uj9b8YxBqxr90ZCo8uwc/VFp/bZFDl2VzVTFNrMO6sGJ3eo5Jrs4 1fDq4Fi8QK6Gg/o3AVV1vafqsbuTDbemBHGZ9bKDa8jPtWkl3Q+14nifB4VL8sRShL2a 9GTRSq64oLaFlDKkjJ6VVrnPy/wkVJhFA0fLZxoUj6IpTKVjOT/91hlNO9zoasNFuJIj o798EXTYn1TIfHlszIltsLopnxYY2YBIOjiZpa6oI6fbvET7j538EfkVejAP9tXdx3aR zokw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=RBh8mG9PSGI8GikIxS9pbBoaA+nEmHVPkQII5oHoG9E=; b=i1A8EqqxfejDFJroptp950QeW6bouYz4mgPBlPeMkb3wBvvlV56GApRbkt7DZw8rwL K637OqlvfnJNtC5lfXOk6cO4f87BU7WHMBz+EmauX5mYqpqPEshL4g5c3uDbJi09ihUT MpgHvCPmLvU8qM/BhO6Pwcxk5FFwY60kBJ0lEkmed4RlP/4uMXqMbe8KxiAvRvczjWZP hoEoSNi6FBvwUpPeZKj3ch5GdLqUhXRYpQb4+IaO8gyz4Pj+vMvCrXR7Qxv4dTy46CZs inm6KBaHrrgCjnGW56f7AJQKcmbzbqYFmcNkDtI2Kp36fRFTpiWd5YzwZJNfLLpJecXi +yrg== X-Gm-Message-State: AA+aEWZ5D/qtqPvc6U5MNauls5+z9oWgomxOMg9jRAR6m/u9hDdQ2yO5 zg1eYjeHxydX28Kp4oY15r8hVw== X-Google-Smtp-Source: AFSGD/WSajc6JPhTm5jOFqn4noBNgFmcxXwXj1GTZUY0Nz0qH57d7BGgeQ2fuDUu/PdV+FiO2WVZFA== X-Received: by 2002:a37:3b47:: with SMTP id i68mr1371369qka.277.1543019010596; Fri, 23 Nov 2018 16:23:30 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::3]) by smtp.gmail.com with ESMTPSA id o34sm26707515qte.4.2018.11.23.16.23.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 16:23:30 -0800 (PST) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com Subject: [PATCH v3 1/7] staging:iio:ad2s90: Add device tree support Date: Fri, 23 Nov 2018 22:23:06 -0200 Message-Id: <20181124002312.6923-2-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181124002312.6923-1-matheus.bernardino@usp.br> References: <20181124002312.6923-1-matheus.bernardino@usp.br> 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 adds device tree support to ad2s90 with standard device tree id table. Signed-off-by: Matheus Tavares --- Changes in v3: - Removed of_patch_ptr from of_match_table assignment Changes in v2: - none drivers/staging/iio/resolver/ad2s90.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index 3e257ac46f7a..fdae067ed866 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c @@ -107,6 +107,12 @@ static int ad2s90_probe(struct spi_device *spi) return devm_iio_device_register(indio_dev->dev.parent, indio_dev); } +static const struct of_device_id ad2s90_of_match[] = { + { .compatible = "adi,ad2s90", }, + {} +}; +MODULE_DEVICE_TABLE(of, ad2s90_of_match); + static const struct spi_device_id ad2s90_id[] = { { "ad2s90" }, {} @@ -116,6 +122,7 @@ MODULE_DEVICE_TABLE(spi, ad2s90_id); static struct spi_driver ad2s90_driver = { .driver = { .name = "ad2s90", + .of_match_table = ad2s90_of_match, }, .probe = ad2s90_probe, .id_table = ad2s90_id, From patchwork Sat Nov 24 00:23:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10696403 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 7728E18F0 for ; Sat, 24 Nov 2018 00:24:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 639D62B437 for ; Sat, 24 Nov 2018 00:24:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 577C82B533; Sat, 24 Nov 2018 00:24: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=-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 001B32B61B for ; Sat, 24 Nov 2018 00:24:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728237AbeKXLJ4 (ORCPT ); Sat, 24 Nov 2018 06:09:56 -0500 Received: from mail-qt1-f194.google.com ([209.85.160.194]:34487 "EHLO mail-qt1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728113AbeKXLJz (ORCPT ); Sat, 24 Nov 2018 06:09:55 -0500 Received: by mail-qt1-f194.google.com with SMTP id r14so12058311qtp.1 for ; Fri, 23 Nov 2018 16:23:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tOOlqhy2AphJebMrYDfu86cZkqn1w0YS2gGgHkzViLk=; b=g0U7GZclXUOqW7mvYgsZHsMNYEIQ1ZafkH0Q+ARZK73WrklH1ISHr88GzSrhtATQMC Rf0/utEqi9bvTokxwWe7l4OJMk2iCzNHjmzrqMfIVeaWyrKpdvJgHLPJFiFcsaUwCLsW 4m1eVcPtQGRfNvhxen3UpI9QjaQN2ucmIhd4plC9L/fBq5B6kjz9zmMpF3rapf+ClnsI aX+ywFxtaSfqPUb6f2Q9lyofP1QIG9TpE1DZhnlOHWMfvVa1VqSUUsDF606q3mrJ+aCP zcezmL0a/kCkIrH8PiXNFfH5sBT8EYgCj07P/198z6VKySH1RwdbTHx1W13D9f/ysQeK wu6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tOOlqhy2AphJebMrYDfu86cZkqn1w0YS2gGgHkzViLk=; b=XG0IhhNocDuqGiGkrI9UsTlgJTKPiyG7UAgzzZEZ8NNeTLjkO+HhSGO0/PrqMo02lS vDRzdCkjRLDTLSFFsH4TP05P+JfkFUehkXvexTVtAS1rMnv2quP4wO4zW6H1kOsUpc/s l8lLOUbIBMuC73bEObtJoUNIwyaz7y+13aPTz4Dboxs18d9koqOhDtuUcF+oTGQ9YTcd LbAN2YN2colslcar/INRKdEmKICptJO8bvew4SWy7j2bTM6ezkn6uKSvgFktDYKQ/jAR wuk6wp5DWrfHsbKDP0MbxQEpKN7XprJ2EeAX3e2KddhUxXbOQvlnslZ5HnVyk02QFEs4 e8iQ== X-Gm-Message-State: AGRZ1gIHghawDq4wV5186aPaYUh1TU2uSc/6YYjP8A6qsv2llVHPWZdP meakTRpgy2FIwzvYDsPrDlSVBw== X-Google-Smtp-Source: AJdET5cNOEZaS6/L6rKjr4v4S3gvm4Ryak5tj2FrLj0sDjIf3jgOTm/VIrfXNbhPJXu1WmI87eQVog== X-Received: by 2002:aed:314b:: with SMTP id 69mr17063702qtg.247.1543019014627; Fri, 23 Nov 2018 16:23:34 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::3]) by smtp.gmail.com with ESMTPSA id o34sm26707515qte.4.2018.11.23.16.23.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 16:23:34 -0800 (PST) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com Subject: [PATCH v3 2/7] staging:iio:ad2s90: Remove spi setup that should be done via dt Date: Fri, 23 Nov 2018 22:23:07 -0200 Message-Id: <20181124002312.6923-3-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181124002312.6923-1-matheus.bernardino@usp.br> References: <20181124002312.6923-1-matheus.bernardino@usp.br> 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 ad2s90 driver currently sets some spi settings (max_speed_hz and mode) at ad2s90_probe. Since the maximum frequency is a required element in DT binding for spi slave devices and because the spi mode for the device can be either (0,0) or (1,1), these settings should be handled via device tree, not in the driver's code. This patch removes them from the probe function. Note: The way in which the mentioned spi settings need to be specified on the ad2s90's node of a device tree will be documented in the future patch "dt-bindings:iio:resolver: Add docs for ad2s90". Signed-off-by: Matheus Tavares --- Changes in v3: - none Changes in v2: - Rewritten patch message to better explain why the code snippet in question should be removed. drivers/staging/iio/resolver/ad2s90.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index fdae067ed866..abb9b9147ee6 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c @@ -77,7 +77,6 @@ static int ad2s90_probe(struct spi_device *spi) { struct iio_dev *indio_dev; struct ad2s90_state *st; - int ret; indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); if (!indio_dev) @@ -94,16 +93,6 @@ static int ad2s90_probe(struct spi_device *spi) indio_dev->num_channels = 1; indio_dev->name = spi_get_device_id(spi)->name; - /* need 600ns between CS and the first falling edge of SCLK */ - spi->max_speed_hz = 830000; - spi->mode = SPI_MODE_3; - ret = spi_setup(spi); - - if (ret < 0) { - dev_err(&spi->dev, "spi_setup failed!\n"); - return ret; - } - return devm_iio_device_register(indio_dev->dev.parent, indio_dev); } From patchwork Sat Nov 24 00:23:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10696401 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 06497175A for ; Sat, 24 Nov 2018 00:24:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E9E6D2B437 for ; Sat, 24 Nov 2018 00:24:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DD7972B5D7; Sat, 24 Nov 2018 00:24:15 +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 74D332B437 for ; Sat, 24 Nov 2018 00:24:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728269AbeKXLKB (ORCPT ); Sat, 24 Nov 2018 06:10:01 -0500 Received: from mail-qt1-f195.google.com ([209.85.160.195]:44015 "EHLO mail-qt1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728266AbeKXLKA (ORCPT ); Sat, 24 Nov 2018 06:10:00 -0500 Received: by mail-qt1-f195.google.com with SMTP id i7so12055440qtj.10 for ; Fri, 23 Nov 2018 16:23:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5hn8QyLV53KfTj8TSZxKFEiF2d3t53n213nmb376iXM=; b=Sve25buHyKAXVnsqGlNQdjsWiFBcs4WBwtUm+K7XC/FuWEpfVXHJ9qmR9+mvw0EniD WCd05thH3TKNycbEkH9NHiLN+tUEx3QrbbkCKAM8zlXM00wK96XIhZqHFMmFxIrTJzQC GgJQC65D41JbgKvUCm7K12WEd2MZeYMdmvnlh2iIR89e9M9pVLkuuoVF7tYzdJ9U1Mhh 6zVeWQHn3+X/ynGQZyaZij62cTYD8Kk8CpFyBuZg2Eia6AHc+bWp/o+EFbLrf7KO1ID6 9NRtRbCV4m2eYZB0T1FL3U19Owod4gL1hy2mqC0G0pe8VJwH6so4IuL+rNrCnTK+MHuF tqKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5hn8QyLV53KfTj8TSZxKFEiF2d3t53n213nmb376iXM=; b=aRG3R/Ll3j3B0lmhqoPr8QHsZKMEyqedn98pVjj6c+9a2vy/M1gBUYEe1GVdin70nD 1uFlwtBTGuwywA/pDmuVvNfvdmJ4iSlhzdNUKv9AVROsm1tTR6JQcP7A8tPTJDY0TNrH M97Ay251EG7LZ8kt/13sonEErS2QkIfqFRRI41zb5iy0JDdDLlqvNleZGp2yvSvG4r6F bdLzLwhOhvUEzysnIdnnB5bqNuBFTf7Tin5hraIREsuR8WUEX8VYciop0eSqcgv+jIeo hkQesFUUigteGOv/CfSTsR+uKBa02pjZFaMqn6x5SzkGx6M43+Zz6/ZmNdvG4PkLOPuA iuBg== X-Gm-Message-State: AGRZ1gIHYWGVqN7U1lwYl0OjYbeoTonjEGADh9NITSn/9Qc+km0+VTHY NRE8zU4kwkYZyBC9Y1B9dF97mQ== X-Google-Smtp-Source: AJdET5fX6exuYRx/hMZr/sAOy6Fhch0BZ38+A8farzbkOxWnDMsZNFhaS/ME7aJOhAPtYTzjJCx32A== X-Received: by 2002:ac8:4258:: with SMTP id r24mr16959175qtm.213.1543019018603; Fri, 23 Nov 2018 16:23:38 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::3]) by smtp.gmail.com with ESMTPSA id o34sm26707515qte.4.2018.11.23.16.23.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 16:23:38 -0800 (PST) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com Subject: [PATCH v3 3/7] staging:iio:ad2s90: Add max frequency check at probe Date: Fri, 23 Nov 2018 22:23:08 -0200 Message-Id: <20181124002312.6923-4-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181124002312.6923-1-matheus.bernardino@usp.br> References: <20181124002312.6923-1-matheus.bernardino@usp.br> 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 From: Alexandru Ardelean This patch adds a max frequency check at the beginning of ad2s90_probe function so that when it is set to a value above 0.83Mhz, dev_err is called with an appropriate message and -EINVAL is returned. The defined limit is 0.83Mhz instead of 2Mhz, which is the chip's max frequency as specified in the datasheet, because, as also specified in the datasheet, a 600ns delay is expected between the application of a logic LO to CS and the application of SCLK. Since the delay is not implemented in the spi code, to satisfy it, SCLK's period should be at most 2 * 600ns, so the max frequency should be 1 / (2 * 6e-7), which gives roughly 830000Hz. Signed-off-by: Alexandru Ardelean Signed-off-by: Matheus Tavares --- Changes in v3: - none Changes in v2: - Correctly credit Alexandru as the patch's author drivers/staging/iio/resolver/ad2s90.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index abb9b9147ee6..4721e9bbb8b0 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c @@ -19,6 +19,12 @@ #include #include +/* + * Although chip's max frequency is 2Mhz, it needs 600ns between CS and the + * first falling edge of SCLK, so frequency should be at most 1 / (2 * 6e-7) + */ +#define AD2S90_MAX_SPI_FREQ_HZ 830000 + struct ad2s90_state { struct mutex lock; struct spi_device *sdev; @@ -78,6 +84,12 @@ static int ad2s90_probe(struct spi_device *spi) struct iio_dev *indio_dev; struct ad2s90_state *st; + if (spi->max_speed_hz > AD2S90_MAX_SPI_FREQ_HZ) { + dev_err(&spi->dev, "SPI CLK, %d Hz exceeds %d Hz\n", + spi->max_speed_hz, AD2S90_MAX_SPI_FREQ_HZ); + return -EINVAL; + } + indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); if (!indio_dev) return -ENOMEM; From patchwork Sat Nov 24 00:23:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10696399 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 97C4813BF for ; Sat, 24 Nov 2018 00:24:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 864CD2B437 for ; Sat, 24 Nov 2018 00:24:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7A64F2B5D7; Sat, 24 Nov 2018 00:24:12 +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 1A1202B437 for ; Sat, 24 Nov 2018 00:24:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728326AbeKXLKF (ORCPT ); Sat, 24 Nov 2018 06:10:05 -0500 Received: from mail-qt1-f195.google.com ([209.85.160.195]:34500 "EHLO mail-qt1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728313AbeKXLKE (ORCPT ); Sat, 24 Nov 2018 06:10:04 -0500 Received: by mail-qt1-f195.google.com with SMTP id r14so12058521qtp.1 for ; Fri, 23 Nov 2018 16:23:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=oroyWqz7mhwKQukHd290ZNW1AWaEfORaZNjSC7qXdww=; b=BYGwc2t+78nSAvWlAoJvLaAmAwN1ZVk/Qj4LJBbed0k+XO9/aUiy2xhGc+hK/hAZkZ pMd3w5zXmFXuwuf2G243LRnK0uNgHb9aqyFJektF4xj6Q+yUQ3iXwBmgRSaRC9iO3IUf 31slpD2Wj0RlAyR8AvmRyZPQvtIzskP2hActL81Z9i9Xx1J2vfAQSGVuwAdfX0q1orH6 ZpOz19zw+LV323H1nDqnm/Hcc1ZRyJmLOnSZmLvktSGtW3nKXbG7LXRDrhHqEJvwEG1g Qc+Vs9BxjQgALn1oDeUu9+dQoo336blSsGIqYtVH+wyGW7g/p6vard7M3meDK6+7owe/ 1Jiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=oroyWqz7mhwKQukHd290ZNW1AWaEfORaZNjSC7qXdww=; b=FejVnGx8SpTGjZPKfcCnrEOd0IB/ovG1R9kJclc6jVySZasCtdljOI0UwEeF2vstUH 6QCeNVCDHiTrrSU+b4UZIGzueFr3pJmDgSZWiTopVdWvbkzLFWkuzMdy/dc79X1crpQf pvRBVg3JNl0RNQqpwGMu+IBc4K1ExusB60y+IwDhis+8PvGNFzV1lpBtY5+Iu3Gd/rz4 cFi3xfa8u4mWlxKud2PUzWJEZscOK1+XTcRu6N+8bO2fLnYStCQPittWuRyf9HxjtFzw xjdfCywQJMKgF2gTrxl3X1YxJ+dmiZYuQyHjVQK3voKZo5UIDcdyn8Utr9x2wqiG1oDv yPag== X-Gm-Message-State: AA+aEWbrBRGAVal2iHiYzpXdHx85OFTVMQb0ZfZdnyb3TV7sQz+wI4GO vSNW07ZipOwKTUZaZLAL44ED2w== X-Google-Smtp-Source: AJdET5frUkPkzzrbrfSqMk1BTi1FOy8WYbKVrirfDYOci7yt9b8LyaBNeWMjvjxM65hKPnQhEOZNcg== X-Received: by 2002:ac8:543:: with SMTP id c3mr16913925qth.34.1543019022545; Fri, 23 Nov 2018 16:23:42 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::3]) by smtp.gmail.com with ESMTPSA id o34sm26707515qte.4.2018.11.23.16.23.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 16:23:42 -0800 (PST) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com Subject: [PATCH v3 4/7] dt-bindings:iio:resolver: Add docs for ad2s90 Date: Fri, 23 Nov 2018 22:23:09 -0200 Message-Id: <20181124002312.6923-5-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181124002312.6923-1-matheus.bernardino@usp.br> References: <20181124002312.6923-1-matheus.bernardino@usp.br> 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 adds the device tree binding documentation for the ad2s90 resolver-to-digital converter. Signed-off-by: Matheus Tavares Reviewed-by: Rob Herring --- Changes in v3: - Added reference to spi-bus documentation after spi properties, as suggested by Alexandru Ardelean. Changes in v2: - Rewritten 'spi-cpol and spi-cpha' item to say that the device can work in either mode (0,0) or (1,1) and explain how they should be specified in DT. .../bindings/iio/resolver/ad2s90.txt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/resolver/ad2s90.txt diff --git a/Documentation/devicetree/bindings/iio/resolver/ad2s90.txt b/Documentation/devicetree/bindings/iio/resolver/ad2s90.txt new file mode 100644 index 000000000000..477d41fa6467 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/resolver/ad2s90.txt @@ -0,0 +1,31 @@ +Analog Devices AD2S90 Resolver-to-Digital Converter + +https://www.analog.com/en/products/ad2s90.html + +Required properties: + - compatible: should be "adi,ad2s90" + - reg: SPI chip select number for the device + - spi-max-frequency: set maximum clock frequency, must be 830000 + - spi-cpol and spi-cpha: + Either SPI mode (0,0) or (1,1) must be used, so specify none or both of + spi-cpha, spi-cpol. + +See for more details: + Documentation/devicetree/bindings/spi/spi-bus.txt + +Note about max frequency: + Chip's max frequency, as specified in its datasheet, is 2Mhz. But a 600ns + delay is expected between the application of a logic LO to CS and the + application of SCLK, as also specified. And since the delay is not + implemented in the spi code, to satisfy it, SCLK's period should be at most + 2 * 600ns, so the max frequency should be 1 / (2 * 6e-7), which gives + roughly 830000Hz. + +Example: +resolver@0 { + compatible = "adi,ad2s90"; + reg = <0>; + spi-max-frequency = <830000>; + spi-cpol; + spi-cpha; +}; From patchwork Sat Nov 24 00:23:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10696393 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 D817E175A for ; Sat, 24 Nov 2018 00:23:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C38762A8A6 for ; Sat, 24 Nov 2018 00:23:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AF4C82AB25; Sat, 24 Nov 2018 00:23:50 +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 C7D612A8A6 for ; Sat, 24 Nov 2018 00:23:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728312AbeKXLKJ (ORCPT ); Sat, 24 Nov 2018 06:10:09 -0500 Received: from mail-qk1-f178.google.com ([209.85.222.178]:38930 "EHLO mail-qk1-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728112AbeKXLKI (ORCPT ); Sat, 24 Nov 2018 06:10:08 -0500 Received: by mail-qk1-f178.google.com with SMTP id q70so9321725qkh.6 for ; Fri, 23 Nov 2018 16:23:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=x88JxqRyJmkqgb6zPiUNR+dj6+6T2tT0sA6D0Zd/yFA=; b=QrnTtzguXjAVzz9+YhYgJ+zW2PW6aMXLHx/uQdcgGm78HvU9xQK5o2G0VJ6lRbbt4p Ca2ef7igmNyLj9AZDxQvRE6CvcFsLM3ia70jyATSXWdOHquvpqQVubjhzAOxvttlvFQs 6uN5HKvCeDDXItcBaVUMjang+uiJs/hP0pEcyJSywCIjCHnD82W2D/aJ/E66fzYlRA12 zxeCy57W5jtTGezEI/QlcWePUWG/Ned4+13NJer+6ShqKuXaMedatJjTwTmdnnALKHA/ TlLHROe7EW5X1QSb5+NOMkRbGNCUYBAE2qPAVN9pDHoQ7LiyvwSZdxun8CmCB1O5ImyD W5oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=x88JxqRyJmkqgb6zPiUNR+dj6+6T2tT0sA6D0Zd/yFA=; b=ou5n3m9bVOVPX1vRAg+t0C5MRgfParqD1+j2oepr47YSkbwViLgTT8Wm6/kjDb/ont GqCkeyBlof/UA2cxkcbAtsKrtkv3zqymE6o869L7lqO3x1wxLpQAP4C079593uqOzGh/ QZqD6Tuh+0adcOc7quzdFUMb2kox9ju7FHcIkEHSjhloQc4Mo8Rl0QN3TTPiapT8o8E0 iawsHjjgqwYecP8Y6t/3aElUHa4WeSc+ZLUU8ZOpEzYc2pPrLpKInEtu6Br1fNGuuHIk 8BpRtAskSXQ7cyQaXgoyi2sFWnYfhWHGxkifBE9aHvi/6FDwOML/meWBtU9vL3gztQdb aNoA== X-Gm-Message-State: AA+aEWauBmQ0hI6LJ26dKfGTgK0XQOcmL7iz8/4KoaO9bOIR2RZjPrjE CmGlYr6Nk3l3EtceAd5aUP0Iuw== X-Google-Smtp-Source: AFSGD/VsPsh4edKacrzUDOVHSfVV9/9iVsX84/FoMakT99I8ARYLFXsU6NALxeC64sa+tzpd/Sf44g== X-Received: by 2002:a37:a703:: with SMTP id q3mr16176071qke.272.1543019026580; Fri, 23 Nov 2018 16:23:46 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::3]) by smtp.gmail.com with ESMTPSA id o34sm26707515qte.4.2018.11.23.16.23.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 16:23:46 -0800 (PST) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com Subject: [PATCH v3 5/7] staging:iio:ad2s90: Replace license text w/ SPDX identifier Date: Fri, 23 Nov 2018 22:23:10 -0200 Message-Id: <20181124002312.6923-6-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181124002312.6923-1-matheus.bernardino@usp.br> References: <20181124002312.6923-1-matheus.bernardino@usp.br> 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 removes the license boilerplate text at the top of ad2s90.c and, instead, adds the SPDX GPL-2.0 license identifier, which solves the checkpatch.pl warning: "WARNING: Missing or malformed SPDX-License-Identifier tag in line 1". Signed-off-by: Matheus Tavares --- Changes in v3: - none Changes in v2: - Changed GPL-2.0-only identifier to GPL-2.0 - Removed license boilerplate text - Rewritten patch message to reflect these modifications drivers/staging/iio/resolver/ad2s90.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index 4721e9bbb8b0..678351dabe6b 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0 /* * ad2s90.c simple support for the ADI Resolver to Digital Converters: AD2S90 * * Copyright (c) 2010-2010 Analog Devices Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * */ #include #include From patchwork Sat Nov 24 00:23:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10696397 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 144B713BF for ; Sat, 24 Nov 2018 00:24:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 02AEC2B437 for ; Sat, 24 Nov 2018 00:24:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EB0B32B5D7; Sat, 24 Nov 2018 00:24:06 +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 86CD72B437 for ; Sat, 24 Nov 2018 00:24:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728394AbeKXLKN (ORCPT ); Sat, 24 Nov 2018 06:10:13 -0500 Received: from mail-qk1-f194.google.com ([209.85.222.194]:38591 "EHLO mail-qk1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728108AbeKXLKL (ORCPT ); Sat, 24 Nov 2018 06:10:11 -0500 Received: by mail-qk1-f194.google.com with SMTP id d19so9306801qkg.5 for ; Fri, 23 Nov 2018 16:23:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=07HrCrFZL57ZGZlRkcwu/SANaQ8hX/F5vvNeAxNUWcY=; b=E3F06BDcpX0tUcZvT0Jo7RVs1E5GIE0VOaYvWYEOin37vDa9EWyzNtT50IbjDu3Zrk bPlXPC+Nr9wqHn2SMDw6r0rxcdhxZ88RMzBkrryevFlFAokbPyygTRtjjgueKZiI3xb/ p/8tQtwBlbdzyAXLkDD5klTVJsYYS+LxtDBsMHHLUh7d38bmspyFxpNA8eck0cicyuCi nOjX7yUvtDgtX151c7mr0GEN652XEhWiyHOER9Ill8LtY70YikaOwvszKP8l3VaZQ9Zq nuJAZAScydVuHMaFQ+/KEyzgv5zfevYI1FT8o9VZBvG6Kql62EC3pXSVi9YebzsoEhKo 7Vmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=07HrCrFZL57ZGZlRkcwu/SANaQ8hX/F5vvNeAxNUWcY=; b=twTCHzcm5JZpwG6ZrO/gEt0JbTyyuzrktGSTBqeEKluRdMfThclif9OldLMh9j3Axf W/+dbODPMbgEblXJOHsP5sM8sl094jAMUThgvwmgtoV04ub0FhWlj2Ak3WrnrAURyhfV +T3Zhtm5QFkhWXwalAFjeQvPM2WaGLscqT2uDJTXSa84yS20DcjcR2osKVL33QiVInsx FtF+YJyWCOSLfCws5McDloISVItvvelwCXgbKHquQK/YyitflJKz8njGbILvZn4ogSMG MpcN7cWk6US/KXY4tEt6ZlyB110ViwhVAqpxlprjh0G+BOdbpd4p+ZeR5e9shnA8Ba5x JvRg== X-Gm-Message-State: AA+aEWat51dFyB450zHOAqEPxESv80JESr3xrms846rCtjHTagcG0M3t my59NNp4bPK4MsusVmD3TfdoffEQnmUTkw== X-Google-Smtp-Source: AFSGD/WvA4JhUtrF9ncsJzkZ277oEYuV5h5A4ZWhv2NcIkM6QSk8ydm0BlHJxxEtwBrNBEv0KZI+sA== X-Received: by 2002:a37:9745:: with SMTP id z66mr16219119qkd.170.1543019030566; Fri, 23 Nov 2018 16:23:50 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::3]) by smtp.gmail.com with ESMTPSA id o34sm26707515qte.4.2018.11.23.16.23.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 16:23:50 -0800 (PST) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com Subject: [PATCH v3 6/7] staging:iio:ad2s90: Add comment to device state mutex Date: Fri, 23 Nov 2018 22:23:11 -0200 Message-Id: <20181124002312.6923-7-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181124002312.6923-1-matheus.bernardino@usp.br> References: <20181124002312.6923-1-matheus.bernardino@usp.br> 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 From: Victor Colombo Fix the checkpatch.pl issue: "CHECK: struct mutex definition without comment". Signed-off-by: Victor Colombo Signed-off-by: Matheus Tavares --- Changes in v3: - none Changes in v2: - Patch added in v2 drivers/staging/iio/resolver/ad2s90.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index 678351dabe6b..a41f5cb10da5 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c @@ -22,7 +22,7 @@ #define AD2S90_MAX_SPI_FREQ_HZ 830000 struct ad2s90_state { - struct mutex lock; + struct mutex lock; /* lock to protect rx buffer */ struct spi_device *sdev; u8 rx[2] ____cacheline_aligned; }; From patchwork Sat Nov 24 00:23:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10696395 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 21AFE175A for ; Sat, 24 Nov 2018 00:24:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 10F272B437 for ; Sat, 24 Nov 2018 00:24:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 039EB2B5D7; Sat, 24 Nov 2018 00:24:05 +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 2E2992B437 for ; Sat, 24 Nov 2018 00:24:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728438AbeKXLKR (ORCPT ); Sat, 24 Nov 2018 06:10:17 -0500 Received: from mail-qk1-f195.google.com ([209.85.222.195]:38594 "EHLO mail-qk1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728384AbeKXLKQ (ORCPT ); Sat, 24 Nov 2018 06:10:16 -0500 Received: by mail-qk1-f195.google.com with SMTP id d19so9306846qkg.5 for ; Fri, 23 Nov 2018 16:23:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=pJBvj02i0VkD5L/mBVayKNNmL/HqK+c9PCM06oI2TpY=; b=CBrtsAvt7jHP6wt0XsxXb/FQ5D4ki+ESm9HTjXFrZ3C31IhUNTlOKkIlUQd0gZ3uXu 8Y+AtzfzIVVvtUxJg7NofBfa3pe7oDDjEl4TmGDFeTUJ0scdWc6UAFGdqdtoLAG7MWFb HH45f7A1207aC942bLn7esmDvIKVuBAk0Ht8hfcuCcUdOHlhbJCbIjmIRdG9YE5BqIo4 +OlMxcVtnyXygff4vU6kqrQTJyaE2MAVUNQKgSXhvFKwevXRVfER4t2Oipk9CgSI45jr yHz9iBDZbVAYF631iW2vUS71NtfVoH19HMzj7FQxQ+gU6FUNfOB/fQJ4OfPJQqlolZN1 Mkyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=pJBvj02i0VkD5L/mBVayKNNmL/HqK+c9PCM06oI2TpY=; b=NYDQG30wy6wPZIqt+MNFWS+YjloJ+P61uJvnBhSzS7uKn5QfYAnJLTTMhA6eY9S4wX f/b77UFdObhBi8F4fyfS0nDfuPTyJEQ9VI34XizGsiR2jk6gJbb5hO1lUAkvhL+ECfRU A9f33AFwnEiThyObwMHFSct2bR3XDrP1ZhZyOkASaw+Lod+o5vkZtT5CckBBmXFcgGjE SAP03AgGjbccYwCrLU3lVeIQYLXeqZrxdwIWkNLjrKwg5/UIVYQdDeSojsjzc+V5OqnX 7TFC0a+STXwq2UntTNkbd2ODPlF1VrOG/oGEmFflL73BGCLKnKY9efUn39/D6pp5jQ0B R60w== X-Gm-Message-State: AA+aEWYFKBH2RhMZJTuZWTVEhomSYA19pdvNpsyN9FAmf+Gvd5o+xWnD 5wYF0S063y8YRt1/ulGl0RfqrA== X-Google-Smtp-Source: AFSGD/UrS8DXs2EABppyYrTiOcVbK+OYsKt7TGgFJXk4QGwU5neqnQ1QU1D3I/qOZp62dnZZoFh7RA== X-Received: by 2002:a37:4a47:: with SMTP id x68mr16519349qka.112.1543019034555; Fri, 23 Nov 2018 16:23:54 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::3]) by smtp.gmail.com with ESMTPSA id o34sm26707515qte.4.2018.11.23.16.23.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Nov 2018 16:23:54 -0800 (PST) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Rob Herring , Mark Rutland Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Ardelean , kernel-usp@googlegroups.com, victorcolombo@gmail.com Subject: [PATCH v3 7/7] staging:iio:ad2s90: Move out of staging Date: Fri, 23 Nov 2018 22:23:12 -0200 Message-Id: <20181124002312.6923-8-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181124002312.6923-1-matheus.bernardino@usp.br> References: <20181124002312.6923-1-matheus.bernardino@usp.br> 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 Move ad2s90 resolver driver out of staging to the main tree. Signed-off-by: Matheus Tavares Signed-off-by: Victor Colombo Acked-by: Alexandru Ardelean --- Changes in v3: - none Changes in v2: - Disabled git move detection, to see the whole code, as Jonathan suggested drivers/iio/resolver/Kconfig | 10 ++ drivers/iio/resolver/Makefile | 1 + drivers/iio/resolver/ad2s90.c | 131 ++++++++++++++++++++++++++ drivers/staging/iio/resolver/Kconfig | 10 -- drivers/staging/iio/resolver/Makefile | 1 - drivers/staging/iio/resolver/ad2s90.c | 131 -------------------------- 6 files changed, 142 insertions(+), 142 deletions(-) create mode 100644 drivers/iio/resolver/ad2s90.c delete mode 100644 drivers/staging/iio/resolver/ad2s90.c diff --git a/drivers/iio/resolver/Kconfig b/drivers/iio/resolver/Kconfig index 2ced9f22aa70..786801be54f6 100644 --- a/drivers/iio/resolver/Kconfig +++ b/drivers/iio/resolver/Kconfig @@ -3,6 +3,16 @@ # menu "Resolver to digital converters" +config AD2S90 + tristate "Analog Devices ad2s90 driver" + depends on SPI + help + Say yes here to build support for Analog Devices spi resolver + to digital converters, ad2s90, provides direct access via sysfs. + + To compile this driver as a module, choose M here: the + module will be called ad2s90. + config AD2S1200 tristate "Analog Devices ad2s1200/ad2s1205 driver" depends on SPI diff --git a/drivers/iio/resolver/Makefile b/drivers/iio/resolver/Makefile index 4e1dccae07e7..398d82d50028 100644 --- a/drivers/iio/resolver/Makefile +++ b/drivers/iio/resolver/Makefile @@ -2,4 +2,5 @@ # Makefile for Resolver/Synchro drivers # +obj-$(CONFIG_AD2S90) += ad2s90.o obj-$(CONFIG_AD2S1200) += ad2s1200.o diff --git a/drivers/iio/resolver/ad2s90.c b/drivers/iio/resolver/ad2s90.c new file mode 100644 index 000000000000..a41f5cb10da5 --- /dev/null +++ b/drivers/iio/resolver/ad2s90.c @@ -0,0 +1,131 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * ad2s90.c simple support for the ADI Resolver to Digital Converters: AD2S90 + * + * Copyright (c) 2010-2010 Analog Devices Inc. + */ +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +/* + * Although chip's max frequency is 2Mhz, it needs 600ns between CS and the + * first falling edge of SCLK, so frequency should be at most 1 / (2 * 6e-7) + */ +#define AD2S90_MAX_SPI_FREQ_HZ 830000 + +struct ad2s90_state { + struct mutex lock; /* lock to protect rx buffer */ + struct spi_device *sdev; + u8 rx[2] ____cacheline_aligned; +}; + +static int ad2s90_read_raw(struct iio_dev *indio_dev, + struct iio_chan_spec const *chan, + int *val, + int *val2, + long m) +{ + int ret; + struct ad2s90_state *st = iio_priv(indio_dev); + + if (chan->type != IIO_ANGL) + return -EINVAL; + + switch (m) { + case IIO_CHAN_INFO_SCALE: + /* 2 * Pi / 2^12 */ + *val = 6283; /* mV */ + *val2 = 12; + return IIO_VAL_FRACTIONAL_LOG2; + case IIO_CHAN_INFO_RAW: + mutex_lock(&st->lock); + ret = spi_read(st->sdev, st->rx, 2); + if (ret < 0) { + mutex_unlock(&st->lock); + return ret; + } + *val = (((u16)(st->rx[0])) << 4) | ((st->rx[1] & 0xF0) >> 4); + + mutex_unlock(&st->lock); + + return IIO_VAL_INT; + default: + break; + } + + return -EINVAL; +} + +static const struct iio_info ad2s90_info = { + .read_raw = ad2s90_read_raw, +}; + +static const struct iio_chan_spec ad2s90_chan = { + .type = IIO_ANGL, + .indexed = 1, + .channel = 0, + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), +}; + +static int ad2s90_probe(struct spi_device *spi) +{ + struct iio_dev *indio_dev; + struct ad2s90_state *st; + + if (spi->max_speed_hz > AD2S90_MAX_SPI_FREQ_HZ) { + dev_err(&spi->dev, "SPI CLK, %d Hz exceeds %d Hz\n", + spi->max_speed_hz, AD2S90_MAX_SPI_FREQ_HZ); + return -EINVAL; + } + + indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); + if (!indio_dev) + return -ENOMEM; + st = iio_priv(indio_dev); + spi_set_drvdata(spi, indio_dev); + + mutex_init(&st->lock); + st->sdev = spi; + indio_dev->dev.parent = &spi->dev; + indio_dev->info = &ad2s90_info; + indio_dev->modes = INDIO_DIRECT_MODE; + indio_dev->channels = &ad2s90_chan; + indio_dev->num_channels = 1; + indio_dev->name = spi_get_device_id(spi)->name; + + return devm_iio_device_register(indio_dev->dev.parent, indio_dev); +} + +static const struct of_device_id ad2s90_of_match[] = { + { .compatible = "adi,ad2s90", }, + {} +}; +MODULE_DEVICE_TABLE(of, ad2s90_of_match); + +static const struct spi_device_id ad2s90_id[] = { + { "ad2s90" }, + {} +}; +MODULE_DEVICE_TABLE(spi, ad2s90_id); + +static struct spi_driver ad2s90_driver = { + .driver = { + .name = "ad2s90", + .of_match_table = ad2s90_of_match, + }, + .probe = ad2s90_probe, + .id_table = ad2s90_id, +}; +module_spi_driver(ad2s90_driver); + +MODULE_AUTHOR("Graff Yang "); +MODULE_DESCRIPTION("Analog Devices AD2S90 Resolver to Digital SPI driver"); +MODULE_LICENSE("GPL v2"); diff --git a/drivers/staging/iio/resolver/Kconfig b/drivers/staging/iio/resolver/Kconfig index 6a469ee6101f..4a727c17bb8f 100644 --- a/drivers/staging/iio/resolver/Kconfig +++ b/drivers/staging/iio/resolver/Kconfig @@ -3,16 +3,6 @@ # menu "Resolver to digital converters" -config AD2S90 - tristate "Analog Devices ad2s90 driver" - depends on SPI - help - Say yes here to build support for Analog Devices spi resolver - to digital converters, ad2s90, provides direct access via sysfs. - - To compile this driver as a module, choose M here: the - module will be called ad2s90. - config AD2S1210 tristate "Analog Devices ad2s1210 driver" depends on SPI diff --git a/drivers/staging/iio/resolver/Makefile b/drivers/staging/iio/resolver/Makefile index 8d901dc7500b..b2049f2ce36e 100644 --- a/drivers/staging/iio/resolver/Makefile +++ b/drivers/staging/iio/resolver/Makefile @@ -2,5 +2,4 @@ # Makefile for Resolver/Synchro drivers # -obj-$(CONFIG_AD2S90) += ad2s90.o obj-$(CONFIG_AD2S1210) += ad2s1210.o diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c deleted file mode 100644 index a41f5cb10da5..000000000000 --- a/drivers/staging/iio/resolver/ad2s90.c +++ /dev/null @@ -1,131 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * ad2s90.c simple support for the ADI Resolver to Digital Converters: AD2S90 - * - * Copyright (c) 2010-2010 Analog Devices Inc. - */ -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -/* - * Although chip's max frequency is 2Mhz, it needs 600ns between CS and the - * first falling edge of SCLK, so frequency should be at most 1 / (2 * 6e-7) - */ -#define AD2S90_MAX_SPI_FREQ_HZ 830000 - -struct ad2s90_state { - struct mutex lock; /* lock to protect rx buffer */ - struct spi_device *sdev; - u8 rx[2] ____cacheline_aligned; -}; - -static int ad2s90_read_raw(struct iio_dev *indio_dev, - struct iio_chan_spec const *chan, - int *val, - int *val2, - long m) -{ - int ret; - struct ad2s90_state *st = iio_priv(indio_dev); - - if (chan->type != IIO_ANGL) - return -EINVAL; - - switch (m) { - case IIO_CHAN_INFO_SCALE: - /* 2 * Pi / 2^12 */ - *val = 6283; /* mV */ - *val2 = 12; - return IIO_VAL_FRACTIONAL_LOG2; - case IIO_CHAN_INFO_RAW: - mutex_lock(&st->lock); - ret = spi_read(st->sdev, st->rx, 2); - if (ret < 0) { - mutex_unlock(&st->lock); - return ret; - } - *val = (((u16)(st->rx[0])) << 4) | ((st->rx[1] & 0xF0) >> 4); - - mutex_unlock(&st->lock); - - return IIO_VAL_INT; - default: - break; - } - - return -EINVAL; -} - -static const struct iio_info ad2s90_info = { - .read_raw = ad2s90_read_raw, -}; - -static const struct iio_chan_spec ad2s90_chan = { - .type = IIO_ANGL, - .indexed = 1, - .channel = 0, - .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), -}; - -static int ad2s90_probe(struct spi_device *spi) -{ - struct iio_dev *indio_dev; - struct ad2s90_state *st; - - if (spi->max_speed_hz > AD2S90_MAX_SPI_FREQ_HZ) { - dev_err(&spi->dev, "SPI CLK, %d Hz exceeds %d Hz\n", - spi->max_speed_hz, AD2S90_MAX_SPI_FREQ_HZ); - return -EINVAL; - } - - indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); - if (!indio_dev) - return -ENOMEM; - st = iio_priv(indio_dev); - spi_set_drvdata(spi, indio_dev); - - mutex_init(&st->lock); - st->sdev = spi; - indio_dev->dev.parent = &spi->dev; - indio_dev->info = &ad2s90_info; - indio_dev->modes = INDIO_DIRECT_MODE; - indio_dev->channels = &ad2s90_chan; - indio_dev->num_channels = 1; - indio_dev->name = spi_get_device_id(spi)->name; - - return devm_iio_device_register(indio_dev->dev.parent, indio_dev); -} - -static const struct of_device_id ad2s90_of_match[] = { - { .compatible = "adi,ad2s90", }, - {} -}; -MODULE_DEVICE_TABLE(of, ad2s90_of_match); - -static const struct spi_device_id ad2s90_id[] = { - { "ad2s90" }, - {} -}; -MODULE_DEVICE_TABLE(spi, ad2s90_id); - -static struct spi_driver ad2s90_driver = { - .driver = { - .name = "ad2s90", - .of_match_table = ad2s90_of_match, - }, - .probe = ad2s90_probe, - .id_table = ad2s90_id, -}; -module_spi_driver(ad2s90_driver); - -MODULE_AUTHOR("Graff Yang "); -MODULE_DESCRIPTION("Analog Devices AD2S90 Resolver to Digital SPI driver"); -MODULE_LICENSE("GPL v2");