mirror of https://gitee.com/openkylin/linux.git
spi/bitbang: initialize bits_per_word as specified by spi message
SPI protocol drivers can submit messages specifying needed bits_per_word parameter for a message transfer. The bitbang driver currently ignores bits_per_word given by a singe message and always uses master's bits_per_word parameter. Only use master's bits_per_word when a message didn't specify needed bits_per_word for ongoing transfer. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
parent
8b20c8cb89
commit
8c99268431
|
@ -68,7 +68,7 @@ static unsigned bitbang_txrx_8(
|
||||||
unsigned ns,
|
unsigned ns,
|
||||||
struct spi_transfer *t
|
struct spi_transfer *t
|
||||||
) {
|
) {
|
||||||
unsigned bits = spi->bits_per_word;
|
unsigned bits = t->bits_per_word ? : spi->bits_per_word;
|
||||||
unsigned count = t->len;
|
unsigned count = t->len;
|
||||||
const u8 *tx = t->tx_buf;
|
const u8 *tx = t->tx_buf;
|
||||||
u8 *rx = t->rx_buf;
|
u8 *rx = t->rx_buf;
|
||||||
|
@ -94,7 +94,7 @@ static unsigned bitbang_txrx_16(
|
||||||
unsigned ns,
|
unsigned ns,
|
||||||
struct spi_transfer *t
|
struct spi_transfer *t
|
||||||
) {
|
) {
|
||||||
unsigned bits = spi->bits_per_word;
|
unsigned bits = t->bits_per_word ? : spi->bits_per_word;
|
||||||
unsigned count = t->len;
|
unsigned count = t->len;
|
||||||
const u16 *tx = t->tx_buf;
|
const u16 *tx = t->tx_buf;
|
||||||
u16 *rx = t->rx_buf;
|
u16 *rx = t->rx_buf;
|
||||||
|
@ -120,7 +120,7 @@ static unsigned bitbang_txrx_32(
|
||||||
unsigned ns,
|
unsigned ns,
|
||||||
struct spi_transfer *t
|
struct spi_transfer *t
|
||||||
) {
|
) {
|
||||||
unsigned bits = spi->bits_per_word;
|
unsigned bits = t->bits_per_word ? : spi->bits_per_word;
|
||||||
unsigned count = t->len;
|
unsigned count = t->len;
|
||||||
const u32 *tx = t->tx_buf;
|
const u32 *tx = t->tx_buf;
|
||||||
u32 *rx = t->rx_buf;
|
u32 *rx = t->rx_buf;
|
||||||
|
|
Loading…
Reference in New Issue