All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Irina Tirdea <irina.tirdea@intel.com>,
	linux-iio@vger.kernel.org, Hartmut Knaack <knaack.h@gmx.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/8] iio: accel: mma9553: refactor mma9553_read_activity_stepcnt
Date: Thu, 09 Apr 2015 12:44:07 +0100	[thread overview]
Message-ID: <55266607.6040109@kernel.org> (raw)
In-Reply-To: <1428503857-9081-5-git-send-email-irina.tirdea@intel.com>

On 08/04/15 15:37, Irina Tirdea wrote:
> Refactor code for simplicity and clarity.
> 
> This also fixes an endianness issue with the original code.
> When reading multiple registers, the received buffer of
> 16-bytes words is little endian (status, step count). On
> big endian machines, casting them to u32 would result in
> reversed order in the buffer (step count, status) leading
> to incorrect values for step count and activity.
> 
> Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
> Suggested-by: Hartmut Knaack <knaack.h@gmx.de>
Sensible fix, again fill pickup from reordered series.
Thanks,
> ---
>  drivers/iio/accel/mma9553.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/iio/accel/mma9553.c b/drivers/iio/accel/mma9553.c
> index d781999..ee2be3f 100644
> --- a/drivers/iio/accel/mma9553.c
> +++ b/drivers/iio/accel/mma9553.c
> @@ -318,22 +318,19 @@ static int mma9553_set_config(struct mma9553_data *data, u16 reg,
>  static int mma9553_read_activity_stepcnt(struct mma9553_data *data,
>  					 u8 *activity, u16 *stepcnt)
>  {
> -	u32 status_stepcnt;
> -	u16 status;
> +	u16 buf[2];
>  	int ret;
>  
>  	ret = mma9551_read_status_words(data->client, MMA9551_APPID_PEDOMETER,
> -					MMA9553_REG_STATUS, sizeof(u32),
> -					(u16 *) &status_stepcnt);
> +					MMA9553_REG_STATUS, sizeof(u32), buf);
>  	if (ret < 0) {
>  		dev_err(&data->client->dev,
>  			"error reading status and stepcnt\n");
>  		return ret;
>  	}
>  
> -	status = status_stepcnt & MMA9553_MASK_CONF_WORD;
> -	*activity = mma9553_get_bits(status, MMA9553_MASK_STATUS_ACTIVITY);
> -	*stepcnt = status_stepcnt >> 16;
> +	*activity = mma9553_get_bits(buf[0], MMA9553_MASK_STATUS_ACTIVITY);
> +	*stepcnt = buf[1];
>  
>  	return 0;
>  }
> 


  reply	other threads:[~2015-04-09 11:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-08 14:37 [PATCH 0/8] Fixes for the mma9553 driver Irina Tirdea
2015-04-08 14:37 ` [PATCH 1/8] iio: accel: mma9553: coding style fixes Irina Tirdea
2015-04-09 11:31   ` Jonathan Cameron
2015-04-13 13:43     ` Tirdea, Irina
2015-04-13 13:43       ` Tirdea, Irina
2015-04-08 14:37 ` [PATCH 2/8] iio: accel: mma9553: use unsigned counters Irina Tirdea
2015-04-09 11:36   ` Jonathan Cameron
2015-04-13 13:54     ` Tirdea, Irina
2015-04-13 13:54       ` Tirdea, Irina
2015-04-08 14:37 ` [PATCH 3/8] iio: accel: mma9553: fix gpio bitnum init value Irina Tirdea
2015-04-09 11:42   ` Jonathan Cameron
2015-04-08 14:37 ` [PATCH 4/8] iio: accel: mma9553: refactor mma9553_read_activity_stepcnt Irina Tirdea
2015-04-09 11:44   ` Jonathan Cameron [this message]
2015-04-08 14:37 ` [PATCH 5/8] iio: accel: mma9553: refactor mma9553_read_raw Irina Tirdea
2015-04-09 11:45   ` Jonathan Cameron
2015-04-08 14:37 ` [PATCH 6/8] iio: accel: mma9553: check input value for activity period Irina Tirdea
2015-04-09 11:46   ` Jonathan Cameron
2015-04-08 14:37 ` [PATCH 7/8] iio: accel: mma9551_core: prevent buffer overrun Irina Tirdea
2015-04-09 11:51   ` Jonathan Cameron
2015-04-13 13:48     ` Tirdea, Irina
2015-04-13 13:48       ` Tirdea, Irina
2015-04-08 14:37 ` [PATCH 8/8] iio: accel: mma9553: add enable channel for activity Irina Tirdea
2015-04-09 11:52   ` Jonathan Cameron
2015-04-09 11:13 ` [PATCH 0/8] Fixes for the mma9553 driver Jonathan Cameron
2015-04-13 13:42   ` Tirdea, Irina
2015-04-13 13:42     ` Tirdea, Irina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55266607.6040109@kernel.org \
    --to=jic23@kernel.org \
    --cc=irina.tirdea@intel.com \
    --cc=knaack.h@gmx.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.