The spi_xchange() function exchanges data between a specific device and the SPI master. The prototype for this function is:
int spi_xchange( int fd, uint32_t device, void *wbuf, void *rbuf, int len );
The arguments are:
The function returns the number of bytes of data that it successfully exchanged between the device and the SPI master. If an error occurred, the function returns -1 and sets errno:
An SPI driver typically considers it to be an error if the number of bytes returned by this function isn't the same as the number of bytes it asked the function to exchange.