summaryrefslogtreecommitdiff
path: root/drivers/iio/accel/kxsd9.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2016-09-01 11:44:42 +0200
committerJonathan Cameron <jic23@kernel.org>2016-09-18 11:29:48 +0100
commitdc6ac050c7d405cf99f847d5f7b485a7dfa00840 (patch)
tree0235f9efb6d0bc6cf40b9148a35a77056734fe82 /drivers/iio/accel/kxsd9.c
parenta483ab796960c9080dc9f97f5905d11debad3df9 (diff)
iio: accel: kxsd9: Drop the buffer lock
The RX/TX buffers are gone so drop the lock (it should have been in the transport struct anyway). Tested-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/accel/kxsd9.c')
-rw-r--r--drivers/iio/accel/kxsd9.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c
index c065c6e09fa4..dc0bea7cbf4f 100644
--- a/drivers/iio/accel/kxsd9.c
+++ b/drivers/iio/accel/kxsd9.c
@@ -41,13 +41,10 @@
/**
* struct kxsd9_state - device related storage
- * @transport: transport for the KXSD9
- * @buf_lock: protect the rx and tx buffers.
- * @us: spi device
- **/
+ * @map: regmap to the device
+ */
struct kxsd9_state {
struct regmap *map;
- struct mutex buf_lock;
};
#define KXSD9_SCALE_2G "0.011978"
@@ -73,7 +70,6 @@ static int kxsd9_write_scale(struct iio_dev *indio_dev, int micro)
if (!foundit)
return -EINVAL;
- mutex_lock(&st->buf_lock);
ret = regmap_read(st->map,
KXSD9_REG_CTRL_C,
&val);
@@ -83,7 +79,6 @@ static int kxsd9_write_scale(struct iio_dev *indio_dev, int micro)
KXSD9_REG_CTRL_C,
(val & ~KXSD9_FS_MASK) | i);
error_ret:
- mutex_unlock(&st->buf_lock);
return ret;
}
@@ -93,15 +88,11 @@ static int kxsd9_read(struct iio_dev *indio_dev, u8 address)
struct kxsd9_state *st = iio_priv(indio_dev);
__be16 raw_val;
- mutex_lock(&st->buf_lock);
ret = regmap_bulk_read(st->map, address, &raw_val, sizeof(raw_val));
if (ret)
- goto out_fail_read;
+ return ret;
/* Only 12 bits are valid */
- ret = be16_to_cpu(raw_val) & 0xfff0;
-out_fail_read:
- mutex_unlock(&st->buf_lock);
- return ret;
+ return be16_to_cpu(raw_val) & 0xfff0;
}
static IIO_CONST_ATTR(accel_scale_available,
@@ -220,7 +211,6 @@ int kxsd9_common_probe(struct device *parent,
st = iio_priv(indio_dev);
st->map = map;
- mutex_init(&st->buf_lock);
indio_dev->channels = kxsd9_channels;
indio_dev->num_channels = ARRAY_SIZE(kxsd9_channels);
indio_dev->name = name;