• L
    spi: Add a spi_w8r16be() helper · 05071aa8
    Lars-Peter Clausen 提交于
    This patch adds a new spi_w8r16be() helper, which is similar to spi_w8r16()
    except that it converts the read data word from big endian to native endianness
    before returning it. The reason for introducing this new helper is that for SPI
    slave devices it is quite common that the read 16 bit data word is in big
    endian. So users of spi_w8r16() have to convert the result to native endianness
    manually. A second reason is that in this case the endianness of the return
    value of spi_w8r16() depends on its sign. If it is negative (i.e. a error code)
    it is already in native endianness, if it is positive it is in big endian. The
    sparse code checker doesn't like this kind of mixed endianness and special
    annotations are necessary to keep it quiet (E.g. casting to be16 using __force).
    Doing the conversion to native endianness in the helper function does not
    require such annotations since we are not mixing different endiannesses in the
    same variable.
    Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: NMark Brown <broonie@linaro.org>
    05071aa8
spi.h 35.5 KB