Staging: iio: meter: ade7759: update locking method for write frequency
authorKatie Dunne <kdunne@mail.ccsf.edu>
Mon, 18 Sep 2017 22:52:40 +0000 (15:52 -0700)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 24 Sep 2017 14:52:03 +0000 (15:52 +0100)
commitba272e3bbeaee3b34ca6c616f7ad8d3c65f33f79
tree9f31fd175d3f9fbd16310c7b520feebada0f72b2
parent08969366afd99622bb315112179933f7ded4b066
Staging: iio: meter: ade7759: update locking method for write frequency

iio_dev->mlock is to be used only by the IIO core for protecting
device mode changes between INDIO_DIRECT and INDIO_BUFFER.

This patch replaces the use of mlock with the already established
buf_lock mutex.

Introducing an 'unlocked' spi_write_reg_16 function to be used by
ade7759_write_frequency avoids nested locks and maintains atomicity
between bus and device frequency changes.

Based on the solution found in ade7754 patch here:
https://marc.info/?l=linux-iio&m=149086659008991&w=2

Signed-off-by: Katie Dunne <kdunne@mail.ccsf.edu>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/meter/ade7759.c