Re: [PATCH v2 1/2] iio: adc: ti-ads8344: properly byte swap value
From: Alexandre Belloni
Date: Fri Apr 17 2020 - 10:23:49 EST
On 17/04/2020 16:45:05+0300, Andy Shevchenko wrote:
> On Thu, Apr 16, 2020 at 11:55 PM Alexandre Belloni
> <alexandre.belloni@xxxxxxxxxxx> wrote:
> >
> > The first received byte is the MSB, followed by the LSB so the value needs
> > to be byte swapped.
> >
> > Also, the ADC actually has a delay of one clock on the SPI bus. Read three
> > bytes to get the last bit.
>
> > + return adc->rx_buf[0] << 9 | adc->rx_buf[1] << 1 | adc->rx_buf[2] >> 7;
>
> I just realize, isn't it an open coded variant of ror() / rol()?
>
No, this byteswaps and rotates.
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com