spi: convert drivers to use bits_per_word_mask
[deliverable/linux.git] / drivers / spi / spi-fsl-espi.c
index 24610ca8955da2544e9a55cce30edf6081804f2b..0ef05f198f222941c6c2c2e5b4ebdd01de9bb536 100644 (file)
@@ -144,10 +144,6 @@ static int fsl_espi_setup_transfer(struct spi_device *spi,
        if (!bits_per_word)
                bits_per_word = spi->bits_per_word;
 
-       /* Make sure its a bit width we support [4..16] */
-       if ((bits_per_word < 4) || (bits_per_word > 16))
-               return -EINVAL;
-
        if (!hz)
                hz = spi->max_speed_hz;
 
@@ -157,12 +153,10 @@ static int fsl_espi_setup_transfer(struct spi_device *spi,
        cs->get_tx = mpc8xxx_spi_tx_buf_u32;
        if (bits_per_word <= 8) {
                cs->rx_shift = 8 - bits_per_word;
-       } else if (bits_per_word <= 16) {
+       } else
                cs->rx_shift = 16 - bits_per_word;
                if (spi->mode & SPI_LSB_FIRST)
                        cs->get_tx = fsl_espi_tx_buf_lsb;
-       } else {
-               return -EINVAL;
        }
 
        mpc8xxx_spi->rx_shift = cs->rx_shift;
@@ -609,6 +603,7 @@ static struct spi_master * fsl_espi_probe(struct device *dev,
        if (ret)
                goto err_probe;
 
+       master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16);
        master->setup = fsl_espi_setup;
 
        mpc8xxx_spi = spi_master_get_devdata(master);
This page took 0.028918 seconds and 5 git commands to generate.