| From fccfb9ce70ed4ea7a145f77b86de62e38178517f Mon Sep 17 00:00:00 2001 |
| From: Dragos Bogdan <dragos.bogdan@analog.com> |
| Date: Tue, 19 Mar 2019 12:47:00 +0200 |
| Subject: iio: ad_sigma_delta: select channel when reading register |
| |
| From: Dragos Bogdan <dragos.bogdan@analog.com> |
| |
| commit fccfb9ce70ed4ea7a145f77b86de62e38178517f upstream. |
| |
| The desired channel has to be selected in order to correctly fill the |
| buffer with the corresponding data. |
| The `ad_sd_write_reg()` already does this, but for the |
| `ad_sd_read_reg_raw()` this was omitted. |
| |
| Fixes: af3008485ea03 ("iio:adc: Add common code for ADI Sigma Delta devices") |
| Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com> |
| Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com> |
| Cc: <Stable@vger.kernel.org> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/iio/adc/ad_sigma_delta.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/iio/adc/ad_sigma_delta.c |
| +++ b/drivers/iio/adc/ad_sigma_delta.c |
| @@ -121,6 +121,7 @@ static int ad_sd_read_reg_raw(struct ad_ |
| if (sigma_delta->info->has_registers) { |
| data[0] = reg << sigma_delta->info->addr_shift; |
| data[0] |= sigma_delta->info->read_mask; |
| + data[0] |= sigma_delta->comm; |
| spi_message_add_tail(&t[0], &m); |
| } |
| spi_message_add_tail(&t[1], &m); |