diff options
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi-imx.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c index 0ec8d816e033..12e5ef7beb0b 100644 --- a/drivers/spi/spi-imx.c +++ b/drivers/spi/spi-imx.c @@ -92,7 +92,6 @@ struct spi_imx_data { unsigned int speed_hz; unsigned int bits_per_word; - unsigned int bytes_per_word; unsigned int spi_drctl; unsigned int count; @@ -215,9 +214,7 @@ static bool spi_imx_can_dma(struct spi_master *master, struct spi_device *spi, if (!master->dma_rx) return false; - bpw = transfer->bits_per_word; - - bpw = spi_imx_bytes_per_word(bpw); + bpw = spi_imx_bytes_per_word(transfer->bits_per_word); if (bpw != 1 && bpw != 2 && bpw != 4) return false; @@ -833,15 +830,14 @@ static irqreturn_t spi_imx_isr(int irq, void *dev_id) return IRQ_HANDLED; } -static int spi_imx_dma_configure(struct spi_master *master, - int bytes_per_word) +static int spi_imx_dma_configure(struct spi_master *master) { int ret; enum dma_slave_buswidth buswidth; struct dma_slave_config rx = {}, tx = {}; struct spi_imx_data *spi_imx = spi_master_get_devdata(master); - switch (bytes_per_word) { + switch (spi_imx_bytes_per_word(spi_imx->bits_per_word)) { case 4: buswidth = DMA_SLAVE_BUSWIDTH_4_BYTES; break; @@ -875,8 +871,6 @@ static int spi_imx_dma_configure(struct spi_master *master, return ret; } - spi_imx->bytes_per_word = bytes_per_word; - return 0; } @@ -910,8 +904,7 @@ static int spi_imx_setupxfer(struct spi_device *spi, spi_imx->usedma = 0; if (spi_imx->usedma) { - ret = spi_imx_dma_configure(spi->master, - spi_imx_bytes_per_word(spi_imx->bits_per_word)); + ret = spi_imx_dma_configure(spi->master); if (ret) return ret; } |