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 46b8c5c..5a143b9 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);