spi: sc18is602: Convert to use bits_per_word_mask
authorAxel Lin <axel.lin@ingics.com>
Fri, 17 Jan 2014 10:00:42 +0000 (18:00 +0800)
committerMark Brown <broonie@linaro.org>
Fri, 17 Jan 2014 15:55:54 +0000 (15:55 +0000)
Since commit 543bb25 "spi: add ability to validate xfer->bits_per_word in SPI
core", the driver can set bits_per_word_mask for the master then the SPI core
will reject transfers that attempt to use an unsupported bits_per_word value.
So we can remove the bits_per_word checking in sc18is602_check_transfer() and
let SPI core handle the checking.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-sc18is602.c

index c1a01d1ac3157211e0359a9a8b3235fae948db4f..c981d215b65bf27273dd7f63287f4cf981b999cd 100644 (file)
@@ -183,18 +183,11 @@ static int sc18is602_setup_transfer(struct sc18is602 *hw, u32 hz, u8 mode)
 static int sc18is602_check_transfer(struct spi_device *spi,
                                    struct spi_transfer *t, int tlen)
 {
-       int bpw;
        uint32_t hz;
 
        if (t && t->len + tlen > SC18IS602_BUFSIZ)
                return -EINVAL;
 
-       bpw = spi->bits_per_word;
-       if (t && t->bits_per_word)
-               bpw = t->bits_per_word;
-       if (bpw != 8)
-               return -EINVAL;
-
        hz = spi->max_speed_hz;
        if (t && t->speed_hz)
                hz = t->speed_hz;
@@ -315,6 +308,7 @@ static int sc18is602_probe(struct i2c_client *client,
        }
        master->bus_num = client->adapter->nr;
        master->mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST;
+       master->bits_per_word_mask = SPI_BPW_MASK(8);
        master->setup = sc18is602_setup;
        master->transfer_one_message = sc18is602_transfer_one;
        master->dev.of_node = np;