From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from saturn.retrosnub.co.uk ([178.18.118.26]:48753 "EHLO saturn.retrosnub.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752621AbcEAVZ5 (ORCPT ); Sun, 1 May 2016 17:25:57 -0400 Subject: Re: [PATCH 3/7] iio: inv_mpu6050: Only toggle DATA_RDY_EN in inv_reset_fifo To: Crestez Dan Leonard , linux-iio@vger.kernel.org References: <04ac08149d12e18d4de02df057071aa5427e3491.1461953982.git.leonard.crestez@intel.com> Cc: linux-kernel@vger.kernel.org, Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Daniel Baluta , Ge Gao From: Jonathan Cameron Message-ID: <3cb6173d-2fa2-8c8f-1f5d-4e4b6064f80b@kernel.org> Date: Sun, 1 May 2016 18:13:28 +0100 MIME-Version: 1.0 In-Reply-To: <04ac08149d12e18d4de02df057071aa5427e3491.1461953982.git.leonard.crestez@intel.com> Content-Type: text/plain; charset=windows-1252 Sender: linux-iio-owner@vger.kernel.org List-Id: linux-iio@vger.kernel.org On 29/04/16 20:02, Crestez Dan Leonard wrote: > Signed-off-by: Crestez Dan Leonard Looks fine to me... > --- > drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 13 +++++++----- > drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c | 3 ++- > 2 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c > index 8455af0..3fc0b71 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c > @@ -41,7 +41,8 @@ int inv_reset_fifo(struct iio_dev *indio_dev) > struct inv_mpu6050_state *st = iio_priv(indio_dev); > > /* disable interrupt */ > - result = regmap_write(st->map, st->reg->int_enable, 0); > + result = regmap_update_bits(st->map, st->reg->int_enable, > + INV_MPU6050_BIT_DATA_RDY_EN, 0); > if (result) { > dev_err(regmap_get_device(st->map), "int_enable failed %d\n", > result); > @@ -68,8 +69,9 @@ int inv_reset_fifo(struct iio_dev *indio_dev) > /* enable interrupt */ > if (st->chip_config.accl_fifo_enable || > st->chip_config.gyro_fifo_enable) { > - result = regmap_write(st->map, st->reg->int_enable, > - INV_MPU6050_BIT_DATA_RDY_EN); > + result = regmap_update_bits(st->map, st->reg->int_enable, > + INV_MPU6050_BIT_DATA_RDY_EN, > + INV_MPU6050_BIT_DATA_RDY_EN); > if (result) > return result; > } > @@ -92,8 +94,9 @@ int inv_reset_fifo(struct iio_dev *indio_dev) > > reset_fifo_fail: > dev_err(regmap_get_device(st->map), "reset fifo failed %d\n", result); > - result = regmap_write(st->map, st->reg->int_enable, > - INV_MPU6050_BIT_DATA_RDY_EN); > + result = regmap_update_bits(st->map, st->reg->int_enable, > + INV_MPU6050_BIT_DATA_RDY_EN, > + INV_MPU6050_BIT_DATA_RDY_EN); > > return result; > } > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c > index e8818d4..1a6bad3 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c > @@ -69,7 +69,8 @@ static int inv_mpu6050_set_enable(struct iio_dev *indio_dev, bool enable) > if (result) > return result; > > - result = regmap_write(st->map, st->reg->int_enable, 0); > + result = regmap_update_bits(st->map, st->reg->int_enable, > + INV_MPU6050_BIT_DATA_RDY_EN, 0); > if (result) > return result; > >