Xilinx: SPI: Fix bits_per_word for transfers
authorJohn Linn <john.linn@xilinx.com>
Mon, 14 Sep 2009 08:17:05 +0000 (08:17 +0000)
committerGrant Likely <grant.likely@secretlab.ca>
Wed, 4 Nov 2009 23:42:47 +0000 (16:42 -0700)
The bits_per_word value can be set for each transfer, or can
be set to zero in each transfer in which case it should default
to the value in the driver.

The driver was fixed to properly check the bits_per_word in
the transfer that is passed in.

Signed-off-by: John Linn <john.linn@xilinx.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/spi/xilinx_spi.c

index 46b8c5c2f45e3c08a1ce4600005a3397852a2cba..5a143b9f63611278da3e00ea51894f22df558a61 100644 (file)
@@ -148,7 +148,8 @@ static int xilinx_spi_setup_transfer(struct spi_device *spi,
 {
        u8 bits_per_word;
 
-       bits_per_word = (t) ? t->bits_per_word : spi->bits_per_word;
+       bits_per_word = (t && t->bits_per_word)
+                        ? t->bits_per_word : spi->bits_per_word;
        if (bits_per_word != 8) {
                dev_err(&spi->dev, "%s, unsupported bits_per_word=%d\n",
                        __func__, bits_per_word);