From patchwork Fri Oct 26 00:45: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: 10656845 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 6DFD3109C for ; Fri, 26 Oct 2018 00:45:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 639E62C24D for ; Fri, 26 Oct 2018 00:45:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 48FEF2C6C8; Fri, 26 Oct 2018 00:45:53 +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 DFE5C2C652 for ; Fri, 26 Oct 2018 00:45:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727538AbeJZJUl (ORCPT ); Fri, 26 Oct 2018 05:20:41 -0400 Received: from mail-qk1-f193.google.com ([209.85.222.193]:44088 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726949AbeJZJU3 (ORCPT ); Fri, 26 Oct 2018 05:20:29 -0400 Received: by mail-qk1-f193.google.com with SMTP id n12so5738801qkh.11 for ; Thu, 25 Oct 2018 17:45:39 -0700 (PDT) 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=OkoLtsw0vdIrwS1FAqUPeM6GE5wcSzJ0J1yLPn9Rh1s=; b=NJHxq1VDcv6kW1pv7J+KC0jD41NfsfLO1FeLeG6sO8W1AgjQmjWxM5M/x6hwEPXoLV x2teyKt/sYevIS3tfXD3lDpLW6hsBUL6bxcHuMU8A5N+Nd9Z1oVUlgJSGmlimUT1SThA 57UnaMIzmqWcXLrz5pMIArzU9XNGIOuRmFfd8KXvXX6p7bdbe9g/46YL///PWE8E9bhf tPKd8u25G+tiFFcwXYECzjj3Knfci6CL35WP89XIsOHDd9esiGqZi6nHtZvI+0GinCkU K52XwjvGuFwR5xFmOsH8uoHcrup3UKQQexiLb+xxDNLCDNc8d5Ch1iF+6LnIvunyHJPo 2QHQ== 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=OkoLtsw0vdIrwS1FAqUPeM6GE5wcSzJ0J1yLPn9Rh1s=; b=Wjn81z6XjfjTYmPtHTQ9f1xbVTrSW0/6ETkaPxCx7yxrpFDQaqhGR+49VJb3Wd6s+K Y2DKVAZpxjsq3K9ChZdOHn9DLePwK8N1vGFZ1qDdzPD7mkWYkwXzGsgNTgL41GzjdPsT Pgr2091H0JX08C/1GzjhX6U0LFl8XkUs+eSKdml0NdWHOVrt6LxHtPuKHXDEqtLnyeOg ksfw+LtzojWeyodSpOL5AEzjk35pqF9jD6xpIjMAtKZ06JT5+Df8oGptFmjHdLPAbEid mdK8YV6urinszTHugcRZya1+x9tZ3EAF2uBUhCjTZOamYKhDROrX97PLa0P8Ureb84UQ bWbw== X-Gm-Message-State: AGRZ1gK1JKAbUTA9j3A5aoAyTQZKek/xsKcuYij9EmSlc0XmsiQ3+WS1 tVmwgkSqPhvZ+0l/Bgfy5sWZDw== X-Google-Smtp-Source: AJdET5cTgvZ+VSjXdxwvfJtN9KrDi/k0S0yyYC2abKckwD9h4K2UIZVzUX9Gby1Nt1fnYtBIWWSKLA== X-Received: by 2002:a37:1909:: with SMTP id k9mr1287173qkh.61.1540514738709; Thu, 25 Oct 2018 17:45:38 -0700 (PDT) Received: from mango.spo.virtua.com.br ([2804:14c:81:942d::1]) by smtp.gmail.com with ESMTPSA id y3-v6sm2371735qti.27.2018.10.25.17.45.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Oct 2018 17:45:38 -0700 (PDT) From: Matheus Tavares To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, kernel-usp@googlegroups.com, Victor Colombo Subject: [PATCH 5/6] staging:iio:ad2s90: Add IIO_CHAN_INFO_SCALE to channel spec and read_raw Date: Thu, 25 Oct 2018 21:45:11 -0300 Message-Id: <20181026004512.31012-6-matheus.bernardino@usp.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181026004512.31012-1-matheus.bernardino@usp.br> References: <20181026004512.31012-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 This patch adds the IIO_CHAN_INFO_SCALE mask to ad2s90_chan and implements the relative read behavior at ad2s90_read_raw. Signed-off-by: Victor Colombo --- drivers/staging/iio/resolver/ad2s90.c | 32 ++++++++++++++++++--------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index b4a6a89c11b0..52b656875ed1 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c @@ -34,19 +34,31 @@ static int ad2s90_read_raw(struct iio_dev *indio_dev, int ret; struct ad2s90_state *st = iio_priv(indio_dev); - mutex_lock(&st->lock); + switch (m) { + case IIO_CHAN_INFO_SCALE: + /* 2 * Pi / (2^12 - 1) ~= 0.001534355 */ + *val = 0; + *val2 = 1534355; + return IIO_VAL_INT_PLUS_NANO; + 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); - 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 IIO_VAL_INT; + return -EINVAL; } static const struct iio_info ad2s90_info = { @@ -57,7 +69,7 @@ static const struct iio_chan_spec ad2s90_chan = { .type = IIO_ANGL, .indexed = 1, .channel = 0, - .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), }; static int ad2s90_probe(struct spi_device *spi)