From patchwork Sun Apr 22 22:03:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Veenstra X-Patchwork-Id: 10355835 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id BA87C6019D for ; Sun, 22 Apr 2018 22:03:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A42A928883 for ; Sun, 22 Apr 2018 22:03:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 96B1428901; Sun, 22 Apr 2018 22:03:09 +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.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID 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 3AE7028883 for ; Sun, 22 Apr 2018 22:03:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753621AbeDVWDI (ORCPT ); Sun, 22 Apr 2018 18:03:08 -0400 Received: from mail-wr0-f194.google.com ([209.85.128.194]:39255 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753069AbeDVWDH (ORCPT ); Sun, 22 Apr 2018 18:03:07 -0400 Received: by mail-wr0-f194.google.com with SMTP id q3-v6so26019249wrj.6; Sun, 22 Apr 2018 15:03:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=lALa3Y/RHrnaoojlIiPigxJ9mD9parAt+wCL8beJfmw=; b=YvOgnXqy3q4LiYeKhxC040dQC7cG4uOXXrRlAvSnz+3C20+RYFZ5sYrZsJrGpT4vci j9XFP1whzR6a6gG1+a6UmOSUSrkxqdxwbmucAcoOmQFykwjPT9WLomuy4p+fX+R/dNLX V3Z6Vly+rCEDlf03XaeOTLNQudj+NZwAW3mWx9W46Jpd6HbdajewnxNY/Jq8herT3h1C TQAVzWoxnRl/PB5GR/7nb+mZJdopJ3j+Eic8ImxHdl7lxGh3tmyjDESrwIUjmkdo4H+t BjG0gxZnpjKpke4Y9KQmefAq5SozRR0/3YkmAUfZL9sJALUPtrCP5jSlwBtODilvJ0qz xamQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=lALa3Y/RHrnaoojlIiPigxJ9mD9parAt+wCL8beJfmw=; b=ca88kGwIuiFErKpB8oK7nqwe2d8rSjCu+Ksxot5QyjA8Hl2Elc8eUswPN9J5JeK1A2 shMSzl8ofhxCIFYAOZe5sakBC5+0FdSGVPjFjomVkBxVNmcnB/1Ftfx8Oc5z3SYekzix nIbgvw+H3P/OJlVXOPXbtpHmm2pvJum+ECK+EYaGe81Za2X3S4xSIGXqz3RinPdXDpGY D4+qnWSvlrAMIBrM8cKnBQWhN0PXQpW0Cnd7iMuwSNZgIpyM011ZGzTtHxuH5nC9lDj6 sBnCyssyw8yit7RNbZaAhQRyPH1HgdnqmXI0qTDU0XDZnY/vnyQRI8qA2reH6VzFvPr8 H7/w== X-Gm-Message-State: ALQs6tCxcugxlt6edkphDM2zw6Tc1h6AHL8wDf9LZiwd7ZuTo58sSdov 5IguexUNBGRS9SbTFVHClMA= X-Google-Smtp-Source: AIpwx49nu9WWXdCT/2GA6hKM8R5HwHSVg9+L68a8tul+9TyhOeBUPofOam3ERJiG3C6c2GmLQCaUFA== X-Received: by 10.80.208.156 with SMTP id v28mr20155732edd.137.1524434586232; Sun, 22 Apr 2018 15:03:06 -0700 (PDT) Received: from zenbook-arch (s559434a1.adsl.online.nl. [85.148.52.161]) by smtp.gmail.com with ESMTPSA id 60sm5429335edy.10.2018.04.22.15.03.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 22 Apr 2018 15:03:05 -0700 (PDT) Date: Mon, 23 Apr 2018 00:03:03 +0200 From: David Veenstra To: jic23@kernel.org, lars@metafoo.de, pmeerw@pmeerw.net Cc: robh+dt@kernel.org, Michael.Hennerich@analog.com, knaack.h@gmx.de, linux-iio@vger.kernel.org, daniel.baluta@nxp.com, devel@driverdev.osuosl.org, devicetree@vger.kernel.org Subject: [PATCH v3 2/9] staging: iio: ad2s1200: Improve readability with be16_to_cpup Message-ID: <8e171d819a0916d7a4870bf70cfeada8ba9ebdc6.1524432236.git.davidjulianveenstra@gmail.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) 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 manual states that the data is contained in the upper 12 bits of the 16 bits read by spi. The code that extracts these 12 bits is correct for both be and le machines, but this is not clear from a first glance. To improve readability the relevant expressions are replaced with equivalent expressions that use be16_to_cpup. Signed-off-by: David Veenstra --- Changes in v3: - change type of rx to __be16. - remove unneeded variable vel. - remove unneeded type cast to s16 (patch line 79). drivers/staging/iio/resolver/ad2s1200.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/staging/iio/resolver/ad2s1200.c b/drivers/staging/iio/resolver/ad2s1200.c index 17d65cb437fd..998f458dc1bd 100644 --- a/drivers/staging/iio/resolver/ad2s1200.c +++ b/drivers/staging/iio/resolver/ad2s1200.c @@ -47,7 +47,7 @@ struct ad2s1200_state { struct spi_device *sdev; int sample; int rdvel; - u8 rx[2] ____cacheline_aligned; + __be16 rx ____cacheline_aligned; }; static int ad2s1200_read_raw(struct iio_dev *indio_dev, @@ -58,7 +58,6 @@ static int ad2s1200_read_raw(struct iio_dev *indio_dev, { struct ad2s1200_state *st = iio_priv(indio_dev); int ret = 0; - s16 vel; mutex_lock(&st->lock); gpio_set_value(st->sample, 0); @@ -68,7 +67,7 @@ static int ad2s1200_read_raw(struct iio_dev *indio_dev, gpio_set_value(st->sample, 1); gpio_set_value(st->rdvel, !!(chan->type == IIO_ANGL)); - ret = spi_read(st->sdev, st->rx, 2); + ret = spi_read(st->sdev, &st->rx, 2); if (ret < 0) { mutex_unlock(&st->lock); return ret; @@ -76,12 +75,10 @@ static int ad2s1200_read_raw(struct iio_dev *indio_dev, switch (chan->type) { case IIO_ANGL: - *val = (((u16)(st->rx[0])) << 4) | ((st->rx[1] & 0xF0) >> 4); + *val = be16_to_cpup(&st->rx) >> 4; break; case IIO_ANGL_VEL: - vel = (((s16)(st->rx[0])) << 4) | ((st->rx[1] & 0xF0) >> 4); - vel = sign_extend32(vel, 11); - *val = vel; + *val = sign_extend32(be16_to_cpup(&st->rx) >> 4, 11); break; default: mutex_unlock(&st->lock);