From patchwork Sun Nov 18 04:25:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10687695 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 96AE214BD for ; Sun, 18 Nov 2018 04:26:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 868C829F29 for ; Sun, 18 Nov 2018 04:26:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7AA4929F61; Sun, 18 Nov 2018 04:26:57 +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 237AF29F29 for ; Sun, 18 Nov 2018 04:26:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726582AbeKROpQ (ORCPT ); Sun, 18 Nov 2018 09:45:16 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:34979 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726626AbeKROpQ (ORCPT ); Sun, 18 Nov 2018 09:45:16 -0500 Received: by mail-qk1-f193.google.com with SMTP id w204so43872211qka.2 for ; Sat, 17 Nov 2018 20:26:15 -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=92hEpUjcQ+pvw5q1KbpaiTWMOvxRsoylduY2Id7AaiU=; b=x5qK3ea1E5jWMW7V6NwP1yGgrKzudigz0P1OEY9Hf0MF0XxIJ7ZS/daZlYTGnsy3Mn EjBzKnUhj8GaGjv+P9kEGs5O/jM20n0VFCxgiar304c2IljdgmSw/EW1o6RaoLB3vB3x GcNPIWPaqnEVTj0ROb8BvxCR2SY1C4d6UlrTI3Gpuv6QTjMiI89+ikvrEtpV2U2m3Jis R88iZPYNtQ0fTPmA+QHs2trFruZEW5Orv2J05Z9wL+QSjPcY2sBb4gOTKoQ6OVqy+2wd WxP/mh3qKFJVMXdkCijz/SbMcyuI55l+Zp6ETDV3GPyrvWWb6m9zASakp6qJMtde25qu hsMQ== 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=92hEpUjcQ+pvw5q1KbpaiTWMOvxRsoylduY2Id7AaiU=; b=OJmCEkf4A85NPAB2XJxXuqm9Kh/IYdf626thAkC40O2Q6GD5w3Fbe2FoVrV9Obtm2u ABbNdd0GStudImjTQxmnv+GFeAGETZUkvCAMnHoke96Dtj/kH4CVjV9pA/upZQ1yrtzs 5SnNPAT8K/OvOFMJbEMAU4ha9JC3dMd1ni79D8dYd/3j1A4iEEP0a9J6j+8pkJ6Unil5 ogH4F12m/chJ2f7qqZCgwnYtMed/st+Hk1WwhJo3jfm7Mvwg+twSTMVpfginYSZrElia yWuCDXMxC+wS9IuKq4bGAmgLG/3qYPnD+jtuFx9L6k+VKyBYxyBlSJl6l2jzWLQdv6zI mKQA== X-Gm-Message-State: AGRZ1gI/QZgwOMp6vEQIbu6s5GOgeEnIIwTpRa6rJo7XOtcH+aBWc1y6 Qpu2U1G1/5KvL/WZiK7PBPRgRg== X-Google-Smtp-Source: AJdET5fHwCyz1wA4p4NwFIBgj0V57eGPzRJlSIHoWfqJmfj7aOLPK/wSbiT5kwQwrsYrQ4fXRy6qmg== X-Received: by 2002:a37:d947:: with SMTP id u68mr15782064qki.296.1542515175340; Sat, 17 Nov 2018 20:26:15 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id b6sm16112350qtq.29.2018.11.17.20.26.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Nov 2018 20:26:14 -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 v2 1/7] staging:iio:ad2s90: Add device tree support Date: Sun, 18 Nov 2018 02:25:34 -0200 Message-Id: <20181118042540.12697-2-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181118042540.12697-1-matheus.bernardino@usp.br> References: <20181118042540.12697-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 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..6ffbac66b837 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 = of_match_ptr(ad2s90_of_match), }, .probe = ad2s90_probe, .id_table = ad2s90_id, From patchwork Sun Nov 18 04:25:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10687683 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 B4761109C for ; Sun, 18 Nov 2018 04:26:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A447E29F29 for ; Sun, 18 Nov 2018 04:26:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 98A1B29F61; Sun, 18 Nov 2018 04:26:24 +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 B536D29F29 for ; Sun, 18 Nov 2018 04:26:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725876AbeKROpV (ORCPT ); Sun, 18 Nov 2018 09:45:21 -0500 Received: from mail-qk1-f195.google.com ([209.85.222.195]:40880 "EHLO mail-qk1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726916AbeKROpU (ORCPT ); Sun, 18 Nov 2018 09:45:20 -0500 Received: by mail-qk1-f195.google.com with SMTP id y16so43866069qki.7 for ; Sat, 17 Nov 2018 20:26:19 -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=AQMJAzyixzk0/1WSmVNMs8fwNy6KbazheSZxWxsLE1Q=; b=IglfmGaTcc71ngiuUY41D+tnc+EvGiwidh4C3kcgtK1eS2GyctTL3DU2/+MQkTu5Ua TrOYIgrs+5PVbmDZg5vPGVBCj03LjTvUD8UElhGtfL/t08tboq7e++X8BAF6ab1SKrLn MT6jODnIyXtc4FrJowQX/TBwM0Od/hRTWWB7R0In1/mG+ic64ZFaW1oo/5Ots8Mbky9J 5wv90c2Y273iM7eWICtQUzKmXY13sT88YKY2pTAIRWnPEczx2Uzk9rzvj6jJzkQWeVZU VdKxE5dihCj5DguC8cQHjpzYQTyl+q/0RYhgHM60NQeaYdZIi0VCVBV4NF99YSi98DrZ 1iaQ== 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=AQMJAzyixzk0/1WSmVNMs8fwNy6KbazheSZxWxsLE1Q=; b=jPIOYs2hAlnrNwYjwUZ/cY8akpUOjNlNZQAyNhcY7ZrZfbiyiaN3V+k7ZGO9PNmDR4 hxb+nlPX7U+99u8WNlRihnC5FTvn3MIyzi2ST+HR7IcfJBg0Wyup24V2t/aAXb0vEkFf mPRqaX67B3EpQNtsyYwO7403YdADnNORRGVIQatwOs+E/f2493kNumR6DArBcMR1Z1lR zWLAbsr8Hwshlxz9+5HiIh9aPLZ2OprhbJ2BVxgm249yp4MzzT51wEjU83pRQwDp24S+ UW0a/LJvGVhP7eZxjKK4fEJtnhT8kDUR/4w6bApcTbVLI8286JKo+9A9thLUogaaL8LQ zRkw== X-Gm-Message-State: AGRZ1gKomv1q8n0Eh8290eFi/aY+amYmm1+cyK8+GEFgosguOt2dDvq4 lYomp4vcYmiEdZ9mLNCkdFVj0A== X-Google-Smtp-Source: AJdET5cJKIsOMW/SSS/EjI4ctTvTOPvYfU2/3uxDjcl82XPyZ2hZWe0DrD14DJ602UzbMSs3JfqvYA== X-Received: by 2002:ac8:34cb:: with SMTP id x11mr16053740qtb.115.1542515179321; Sat, 17 Nov 2018 20:26:19 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id b6sm16112350qtq.29.2018.11.17.20.26.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Nov 2018 20:26:18 -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 v2 2/7] staging:iio:ad2s90: Remove spi setup that should be done via dt Date: Sun, 18 Nov 2018 02:25:35 -0200 Message-Id: <20181118042540.12697-3-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181118042540.12697-1-matheus.bernardino@usp.br> References: <20181118042540.12697-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 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 6ffbac66b837..913d6fad2d4d 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 Sun Nov 18 04:25:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10687685 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 07765109C for ; Sun, 18 Nov 2018 04:26:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EBC1C29F29 for ; Sun, 18 Nov 2018 04:26:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DF7B129F61; Sun, 18 Nov 2018 04:26:27 +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 B06F129F29 for ; Sun, 18 Nov 2018 04:26:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726991AbeKROpZ (ORCPT ); Sun, 18 Nov 2018 09:45:25 -0500 Received: from mail-qk1-f196.google.com ([209.85.222.196]:40886 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726984AbeKROpY (ORCPT ); Sun, 18 Nov 2018 09:45:24 -0500 Received: by mail-qk1-f196.google.com with SMTP id y16so43866168qki.7 for ; Sat, 17 Nov 2018 20:26:24 -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=1TSPSfPbTrHQYU6brU0H9TGwCLOV4/4bEV+zwplIAXc=; b=SH/7FFKFziUtWWLrsr5KjYVbtZpgZ2GLZea3lGjEFbDMFhN7C4zugOtyue6dEDN3KI 5C6GEjLbaZwFRTXYBfj39PFVGKC/ljEfpUlDx0rZuHLW52yD1k5uJhMVJjViH1x33kmx Dfz7pxk2ux0ctvs+Xq53pGXkpsjgpPN/gitwFHrfnSe2dhqdosppZb1/uXTPQGfO9tLt CG/u5XamG/FfNlhhf98n27LGJB9v6MoFrWRGMR+WSbqKmZBWhLBOPPZO8spUH2cPsDvV CdaIYgXRaV/Bx0EqDgOGU0LsbjnhCkxo1bU1UkDZP5LQjt+9Me7X+BFjraF98eh2NJiB qEsQ== 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=1TSPSfPbTrHQYU6brU0H9TGwCLOV4/4bEV+zwplIAXc=; b=SOSKat36WuJDiwzlNXlu0tbDIkG2KLDppTQ5fkpz+WzHPxyc3mTm8mPBvw53AwIzlz g2FMpe+8QoFtuRLcXip/e7P6tS1PIbDaAY+FJAW6oJppVZfZn1eTyXty7LkxR6NOuGdQ 2o+xY/ukLwR0l5ztVqK2uyfKnZ8fLMujW7I6YOnK3z2L980/cAP14cEahgZpBnbhoDWS 9aIy3gbPG8PHsUEoIqlN0oU92ph1OOKTedAQt90txDtCo5wbZpTtx9CqoIiAYy2m1ztF GPs75iRSpcR9eWtq1MisNIA7Hm0GtoaNEULWAHC87jrw1r3OgpghMoIroiQRr2zFi16y WcMQ== X-Gm-Message-State: AGRZ1gLZugSr9znh84wo9NhMCZpebCHT4HIVcvxsMjaas1Dljl1qW2Vo tN5FJRpotXCssr0eZbiZR9ey7A== X-Google-Smtp-Source: AJdET5fnj3tspDjNf4I8oKfqnzGiVqBWXy7Qr9Ym1PqslmPrs6UwvXwJmPKF8xKvqWT2t+lBu5HjyQ== X-Received: by 2002:a0c:d174:: with SMTP id c49mr16315537qvh.231.1542515183357; Sat, 17 Nov 2018 20:26:23 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id b6sm16112350qtq.29.2018.11.17.20.26.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Nov 2018 20:26:22 -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 v2 3/7] staging:iio:ad2s90: Add max frequency check at probe Date: Sun, 18 Nov 2018 02:25:36 -0200 Message-Id: <20181118042540.12697-4-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181118042540.12697-1-matheus.bernardino@usp.br> References: <20181118042540.12697-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 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 913d6fad2d4d..fe90f2056bff 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 Sun Nov 18 04:25:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10687693 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 DDA81109C for ; Sun, 18 Nov 2018 04:26:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CDD3129F29 for ; Sun, 18 Nov 2018 04:26:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C083A29F61; Sun, 18 Nov 2018 04:26:52 +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 4F95929F29 for ; Sun, 18 Nov 2018 04:26:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727056AbeKROp3 (ORCPT ); Sun, 18 Nov 2018 09:45:29 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:34041 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727033AbeKROp2 (ORCPT ); Sun, 18 Nov 2018 09:45:28 -0500 Received: by mail-qk1-f193.google.com with SMTP id a132so43892133qkg.1 for ; Sat, 17 Nov 2018 20:26:28 -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=LbTCHeHGilCnfPYHT4tj0WlGCcK4WPxi/1Koox5eezY=; b=TTYvO4L9TcRHBUUw2NnvzLiUiM3++li0s4a7l/VOBv/6bAH987r2kgUZTvtYFJumC1 UZy91qqULKSAqYS7er192QUFA+Ti3kKn4PrCqc0WRTkFrTOWJWHNPbqVuQdONeZRt4mT pdxQI3CpZMm854UoKowpiJdiRQAmw6WGn0HKrTwxKQCASX9MYIJ/aPQo/VydLkvaGyaB ea4PCOASYqGNHsYBnkuS64WMIG4TqlTdaDu/M0OH342KyoOw6IfvjlVAYQTWzmnn+WKC CJ2GvZKGI+S+FypjbCpeSdslYANH4uAI3ZoIOfVykmAUNS6HqYd5R8T9gB+uVbNCTIjB T78A== 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=LbTCHeHGilCnfPYHT4tj0WlGCcK4WPxi/1Koox5eezY=; b=edM+sW1eWCOb0Zz2HX5XdsCnmlAZTWiqgGsP6qkxs2WchgfYW7ATjZT/e8rVhYVKA/ 2BPc8Kfequx3blGBBTJnK2Qs0CY5PtfQe56d5VD254KRAARp+3ux332i+C23e6oBokzj 7RsYPfZbh5Ei/Dp0jljq70vCFIOcD1ErJyRWw/MEmnIUx2/k+zl7Lekc3/JdWJhKYR67 3oxPRMSQxe+KwLdGL5+lPR8QfLIKm5wsizxwHuciQ6GT5db9iCB0DfwR4/N91+HdnyaM OdFvNeunXkvs1cdeY6De8JOEgDGoBKQVPnPdsBM6K40jkWAD1OVdc8YCLPtgYsCMPb5n 8Y5A== X-Gm-Message-State: AGRZ1gJbe6+hiQ/tpSvyhWplrpDLTZ0JMcEOuWDM8gfztfJ96HJd0Max QL+aY7OW4JwMEhkPFeAfEhOH4A== X-Google-Smtp-Source: AJdET5cj17K9hOJ2qdLJcjLj5wyrp0r54jer/usB4snabjxxPT/OptGG0AG3DMR4u3kDF/hJOzUtjA== X-Received: by 2002:ac8:22ca:: with SMTP id g10mr16745011qta.105.1542515187492; Sat, 17 Nov 2018 20:26:27 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id b6sm16112350qtq.29.2018.11.17.20.26.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Nov 2018 20:26:27 -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 v2 4/7] dt-bindings:iio:resolver: Add docs for ad2s90 Date: Sun, 18 Nov 2018 02:25:37 -0200 Message-Id: <20181118042540.12697-5-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181118042540.12697-1-matheus.bernardino@usp.br> References: <20181118042540.12697-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 --- 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 | 28 +++++++++++++++++++ 1 file changed, 28 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..594417539938 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/resolver/ad2s90.txt @@ -0,0 +1,28 @@ +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. + +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 Sun Nov 18 04:25:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10687691 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 E62E814BD for ; Sun, 18 Nov 2018 04:26:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CEDD229F29 for ; Sun, 18 Nov 2018 04:26:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C02E829F61; Sun, 18 Nov 2018 04:26:51 +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 6736E29F29 for ; Sun, 18 Nov 2018 04:26:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727097AbeKROpd (ORCPT ); Sun, 18 Nov 2018 09:45:33 -0500 Received: from mail-qk1-f170.google.com ([209.85.222.170]:40535 "EHLO mail-qk1-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726978AbeKROpd (ORCPT ); Sun, 18 Nov 2018 09:45:33 -0500 Received: by mail-qk1-f170.google.com with SMTP id y16so43866346qki.7 for ; Sat, 17 Nov 2018 20:26:32 -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=CuHvWVwiKJSFYNf5+Mm4ozf+aLuV7qBvdXA+1sM3Rfc=; b=EJ6wAmzLVZ9qfZl87QDutieN+lONJJGZ+5u8l4ls7WgqWKqoGBhW9wssjNIhk2eO/V 274ldl5zwLpkyy1l3vS4IM5AjxGNeqOfZdQlR24sY+64bbbSxRaJ50yCmwpNN2O4y/Uo EuuvPRi4zRFfNtL7gxxMbnQta1VF1NjvSdQz6avu2+N71nO2G3N4vYM6KeebTht61ExJ JXULGmZ+XWfjzP2pXY86pBqXRnA7CYZ9qWC/CNWoyIHWocsTBe3haJK5mL8QwCN+M1hp Y++psItCwI0NZc4dCtx3Wrh1GgI9bRwGfT6ww2djr+Wio5SVPgVuo78PUGvSoY6Dsrq9 adQw== 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=CuHvWVwiKJSFYNf5+Mm4ozf+aLuV7qBvdXA+1sM3Rfc=; b=HnvZaODMyqxVgd+ohz+Bwg3QSiDNeewBocO8RBaxK8aRjjrcRvZCexUzUZG0DowKsT e7Wt6UB6TrsJxDRrJrFGnjClSU4D6u3IqshmvgfgqW3ejGY/vcBFT1BS2XkZtHFYFddO 1lrfodbtmNUGcEHbQF8dbkdvYL+AAxbn4ozgUVJSoweroRl//zdRUyP/AN+UgXLKj8vv Rcq1VDE24jcDv9c1wwx4BiGSwHk412Df9XHYvbARE525saFBPkOaoZ78Z/IxrZy7dpu6 oRVSExOGgCY+d8DL9PViVDNnAg4aIaNryWx/EIZT6eazXNrqoxS9Bcii/IwO2ix1d/Ve 1W0A== X-Gm-Message-State: AGRZ1gJ2B+CGAprJLLXm265bDORgT6jTgCRnEfqFTvD+xdoL8cikr+Pd o4Q5mZjVVKzZHeuLg24PgXHr7Q== X-Google-Smtp-Source: AJdET5e1GbB2sju49GlT6ggVvTcu3L/M4ReK3U/cDVhtFRadi8bgyE7BUa720AMiyhsc4TLqdqUEfA== X-Received: by 2002:a0c:f313:: with SMTP id j19mr16650232qvl.200.1542515191449; Sat, 17 Nov 2018 20:26:31 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id b6sm16112350qtq.29.2018.11.17.20.26.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Nov 2018 20:26:31 -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 v2 5/7] staging:iio:ad2s90: Replace license text w/ SPDX identifier Date: Sun, 18 Nov 2018 02:25:38 -0200 Message-Id: <20181118042540.12697-6-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181118042540.12697-1-matheus.bernardino@usp.br> References: <20181118042540.12697-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 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 fe90f2056bff..9aa229ba47e7 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 Sun Nov 18 04:25:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10687689 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 9A3B414BD for ; Sun, 18 Nov 2018 04:26:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8614A29F29 for ; Sun, 18 Nov 2018 04:26:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7994729F61; Sun, 18 Nov 2018 04:26: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 AC7CA29F29 for ; Sun, 18 Nov 2018 04:26:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727133AbeKROph (ORCPT ); Sun, 18 Nov 2018 09:45:37 -0500 Received: from mail-qk1-f195.google.com ([209.85.222.195]:42583 "EHLO mail-qk1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727096AbeKROpg (ORCPT ); Sun, 18 Nov 2018 09:45:36 -0500 Received: by mail-qk1-f195.google.com with SMTP id m5so43850423qka.9 for ; Sat, 17 Nov 2018 20:26:36 -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=N7SE5k2/kjJlroE/hqa7PLw1ubwrNoiXTEWaxQ/jVx4=; b=uvwj89TPt4Vz2zNB3MJepCQYIRyg9kyolqdmOzvUlLNywL9ktKvo21COnbvKmrtPac y+dXtAm08z43OgC7iKGu6trN1tget4IG73wg6fKgWcROj9vPtQfU8B6VzgOTzMfnmVgE I63RKZvY2rl99aMiuMDF8/Y0i3tNW8dgWVQWAvvgmNF+J+bf7ILb41CJPBLCGtvuetTm DVEwA865My0c22oMadQfaMLMsYjp/MJh1EUavlZCvkO1PgKLhOmSdDcLz4qOHOs6xcrm vriISTBoEQqbUfZtcqQkaUtyqg2/4ZMzj0Yi1ldKMHp0OHz+8Jl1zEGzqZre6JRR6WYL l7KA== 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=N7SE5k2/kjJlroE/hqa7PLw1ubwrNoiXTEWaxQ/jVx4=; b=HhCOvAlhbHqkiqH8ivV0YEyjenC7e5/FEKNxLJckGAEesmE4cpk+CgwqxYcbLl//Q0 JUrgg9DPq9FZpkneEKH61T5DROaXHGf0XWDIpo9VYufIBTJCzokI5n/GBbmlLvbcRmfa jpTT33agc1/ugZhZ3Mmj/AqekuTJdJJkTdbXO8+lPuatCBaTVjE1sSxsD+FaBeMjj8vf 4Md17v5IUUa+ppkTAHGNW7COuNKWKbJlErUcm5SKkpnFBPPvGol1USr0ogoPyxQsedPQ PQs3jDha8GR2YtzB5Tlb1qegnEOeZ6e07C6DrzzDflgi9sBuey4lAsfaJQYNpV2BFLXs URjw== X-Gm-Message-State: AGRZ1gKCcYDR5o+zT+bQHdsBqbxF0E50h8qWeX+Cmxma6PH0fPcqm+hq /tkpIATPXPBpY98hicqIkR6ThA== X-Google-Smtp-Source: AJdET5eVr79WfHlHYTwUofNKvCstmNQvNRi7iWO7TUkvGvQSvCtZCqAyTZwg9nL+mpEcUGiBrfl35A== X-Received: by 2002:a37:8882:: with SMTP id k124mr15806046qkd.1.1542515195685; Sat, 17 Nov 2018 20:26:35 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id b6sm16112350qtq.29.2018.11.17.20.26.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Nov 2018 20:26:35 -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 v2 6/7] staging:iio:ad2s90: Add comment to device state mutex Date: Sun, 18 Nov 2018 02:25:39 -0200 Message-Id: <20181118042540.12697-7-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181118042540.12697-1-matheus.bernardino@usp.br> References: <20181118042540.12697-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 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 9aa229ba47e7..f04dc5dede00 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 Sun Nov 18 04:25:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matheus Tavares X-Patchwork-Id: 10687687 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 E9E71109C for ; Sun, 18 Nov 2018 04:26:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D956C29F29 for ; Sun, 18 Nov 2018 04:26:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CA97229F61; Sun, 18 Nov 2018 04:26:46 +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 059EA29F29 for ; Sun, 18 Nov 2018 04:26:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727198AbeKROpl (ORCPT ); Sun, 18 Nov 2018 09:45:41 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:39709 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726978AbeKROpl (ORCPT ); Sun, 18 Nov 2018 09:45:41 -0500 Received: by mail-qk1-f193.google.com with SMTP id q70so26335690qkh.6 for ; Sat, 17 Nov 2018 20:26:40 -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=E9xzUlEU1rhbmXS78V2VGOyRyzRSLYVFQFMiE3KfmVA=; b=A22vnV6+zm4MG5H7Xhha42mnFZSqHJqdiTTa+2CV5Kp6lpmBjfPNxisFnihidxn7fT bw7JhiB8Luau8F1cskgCtzCxSJEUORj5EK31ES9iBfwNTqrWengry8G2eLaavBMMMu9B PUo/NlJkEhUpQ4Ro2BLS+DEzBnFQLXzS6NNAH9/ZuHSx6CnW9rq8MN3O5RTXOKDlvBxY X/r0Y65WIKbNLtt55tirUuI19yNUZ+8zYfLCd8/eqw196NJHZ6LiDj7I+9AyMN1PFK90 +D5s2AlqayCHFYM/TuYLg3JT6vY4wXUuXw9KmSgeX24R1jRCVNFGjLcgDodlpjAEETB8 sE9g== 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=E9xzUlEU1rhbmXS78V2VGOyRyzRSLYVFQFMiE3KfmVA=; b=gmjRnJ+7FFVNOjxnMr5ogXsY2OZKPyn2p5wRj6eM3N5ULGGmrwoCFCtezlT7WG5fJS oVJ7C8EzHclsp2+7ZQYRshlGnjvhFbBcSYBmy8m3reLjUwO1ugaVvHRqSXbwfdkm/x9c VEUQygGQcgWvFMtl7u16mSQmSc2fAW4K2yyTTTZz2GZ14fYyjKt9UZxs4OZACHep3Zc4 FhXTRm42G66WmcJQq90W2BMfEASLPZW68WE7vr3p3R2suJ8B0oTmx7LohXJExuzc4FOu Sc+R7rxYOAePw3M0fC3bUcen4qc2MzUzQr5v1EUV97Wa3UBIMCItanEzWSobVk/bLxg2 cqrg== X-Gm-Message-State: AGRZ1gLUQ6VdJO4U0CR5gtEfFkAKwwmh68Av/TL2ZVJiS8vzOwmhSzUW QYvYFt5H8z6YM7a6hH6GV01qeENJ7WANTg== X-Google-Smtp-Source: AJdET5cpQoH6xSGsxGX2zoCPBdxygmgVHwhLzaZ2eSBFI31zevyFyAKK8QgGkk3Yd7+4A5WfybIkmQ== X-Received: by 2002:a37:6d44:: with SMTP id i65mr15844794qkc.73.1542515199710; Sat, 17 Nov 2018 20:26:39 -0800 (PST) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id b6sm16112350qtq.29.2018.11.17.20.26.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Nov 2018 20:26:39 -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 v2 7/7] staging:iio:ad2s90: Move out of staging Date: Sun, 18 Nov 2018 02:25:40 -0200 Message-Id: <20181118042540.12697-8-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181118042540.12697-1-matheus.bernardino@usp.br> References: <20181118042540.12697-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 --- 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..f04dc5dede00 --- /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 = of_match_ptr(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 f04dc5dede00..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 = of_match_ptr(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");