There is no need to keep tx_buf around, it is only used for the conversion. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> --- drivers/iio/adc/ti-ads8344.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/iio/adc/ti-ads8344.c b/drivers/iio/adc/ti-ads8344.c index 6da50ea35217..9b2d3a8ea6bd 100644 --- a/drivers/iio/adc/ti-ads8344.c +++ b/drivers/iio/adc/ti-ads8344.c @@ -22,13 +22,7 @@ struct ads8344 { struct spi_device *spi; struct regulator *reg; - /* - * Lock protecting access to adc->tx_buff and rx_buff, - * especially from concurrent read on sysfs file. - */ - struct mutex lock; - - u8 tx_buf ____cacheline_aligned; + struct mutex lock; /* protect from concurrent conversions */ }; #define ADS8344_VOLTAGE_CHANNEL(chan, si) \ @@ -77,13 +71,13 @@ static int ads8344_adc_conversion(struct ads8344 *adc, int channel, int ret; u8 buf[3]; - adc->tx_buf = ADS8344_START; + buf[0] = ADS8344_START; if (!differential) - adc->tx_buf |= ADS8344_SINGLE_END; - adc->tx_buf |= ADS8344_CHANNEL(channel); - adc->tx_buf |= ADS8344_CLOCK_INTERNAL; + buf[0] |= ADS8344_SINGLE_END; + buf[0] |= ADS8344_CHANNEL(channel); + buf[0] |= ADS8344_CLOCK_INTERNAL; - ret = spi_write(spi, &adc->tx_buf, 1); + ret = spi_write(spi, buf, 1); if (ret) return ret; -- 2.25.2