diff options
author | Alison Schofield <amsfield22@gmail.com> | 2016-06-06 22:08:33 -0700 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-06-11 17:16:39 +0100 |
commit | ae148e51071455519d52051ad8ee5e5776e17966 (patch) | |
tree | a962094fe421e688b195009d98216fefedd7e1a8 /drivers/iio/light/isl29125.c | |
parent | 95bd363bbc0bc22d9c14945e307fc30484c57166 (diff) |
iio: light: isl29125: use iio helper function to guarantee direct mode
Replace the code that guarantees the device stays in direct mode
with iio_device_claim_direct_mode() which does same. This allows
removal of an unused lock in the device private global data.
Signed-off-by: Alison Schofield <amsfield22@gmail.com>
Cc: Daniel Baluta <daniel.baluta@gmail.com>
Acked-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/light/isl29125.c')
-rw-r--r-- | drivers/iio/light/isl29125.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/iio/light/isl29125.c b/drivers/iio/light/isl29125.c index e2945a20e5f6..a6b9d66233d5 100644 --- a/drivers/iio/light/isl29125.c +++ b/drivers/iio/light/isl29125.c @@ -50,7 +50,6 @@ struct isl29125_data { struct i2c_client *client; - struct mutex lock; u8 conf1; u16 buffer[8]; /* 3x 16-bit, padding, 8 bytes timestamp */ }; @@ -128,11 +127,11 @@ static int isl29125_read_raw(struct iio_dev *indio_dev, switch (mask) { case IIO_CHAN_INFO_RAW: - if (iio_buffer_enabled(indio_dev)) - return -EBUSY; - mutex_lock(&data->lock); + ret = iio_device_claim_direct_mode(indio_dev); + if (ret) + return ret; ret = isl29125_read_data(data, chan->scan_index); - mutex_unlock(&data->lock); + iio_device_release_direct_mode(indio_dev); if (ret < 0) return ret; *val = ret; @@ -259,7 +258,6 @@ static int isl29125_probe(struct i2c_client *client, data = iio_priv(indio_dev); i2c_set_clientdata(client, indio_dev); data->client = client; - mutex_init(&data->lock); indio_dev->dev.parent = &client->dev; indio_dev->info = &isl29125_info; |