On Fri, 11 Oct 2019 16:43:40 +0200 Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > Until now, only write operations were supported. Force two bytes read > operation when reading, which should fit most of the development > purposes. Of course, extended operations like buffered reads on > multiple channels or even temperature + voltage reads will not be read > entirely. Usually, just starting a new operation will work but in any > case a software reset (done through the debufs interface too) will > return the device in a usable state. > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. thanks, Jonathan > --- > drivers/iio/adc/max1027.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c > index 214883458582..6cdfe9ef73fc 100644 > --- a/drivers/iio/adc/max1027.c > +++ b/drivers/iio/adc/max1027.c > @@ -309,8 +309,11 @@ static int max1027_debugfs_reg_access(struct iio_dev *indio_dev, > struct max1027_state *st = iio_priv(indio_dev); > u8 *val = (u8 *)st->buffer; > > - if (readval != NULL) > - return -EINVAL; > + if (readval) { > + int ret = spi_read(st->spi, val, 2); > + *readval = be16_to_cpu(st->buffer[0]); > + return ret; > + } > > *val = (u8)writeval; > return spi_write(st->spi, val, 1);