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>
        unsigned                ns,
        struct spi_transfer     *t
 ) {
-       unsigned                bits = spi->bits_per_word;
+       unsigned                bits = t->bits_per_word ? : spi->bits_per_word;
        unsigned                count = t->len;
        const u8                *tx = t->tx_buf;
        u8                      *rx = t->rx_buf;
        unsigned                ns,
        struct spi_transfer     *t
 ) {
-       unsigned                bits = spi->bits_per_word;
+       unsigned                bits = t->bits_per_word ? : spi->bits_per_word;
        unsigned                count = t->len;
        const u16               *tx = t->tx_buf;
        u16                     *rx = t->rx_buf;
        unsigned                ns,
        struct spi_transfer     *t
 ) {
-       unsigned                bits = spi->bits_per_word;
+       unsigned                bits = t->bits_per_word ? : spi->bits_per_word;
        unsigned                count = t->len;
        const u32               *tx = t->tx_buf;
        u32                     *rx = t->rx_buf;