Commit 863cb2f7 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown

spi: dw: remove bits_per_word member of struct chip_data

There is no need to carry over spi->bits_per_word and Co from ->setup() in
struct chip_data since ->transfer_one() will anyway take the transfer
parameters from struct spi_transfer. This is since SPI core validates both
bits_per_word transfer parameter and defaults to spi->bits_per_word in case
that per transfer parameter is not set.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4adb1f8f
...@@ -31,17 +31,14 @@ ...@@ -31,17 +31,14 @@
/* Slave spi_dev related */ /* Slave spi_dev related */
struct chip_data { struct chip_data {
u8 cs; /* chip select pin */ u8 cs; /* chip select pin */
u8 n_bytes; /* current is a 1/2/4 byte op */
u8 tmode; /* TR/TO/RO/EEPROM */ u8 tmode; /* TR/TO/RO/EEPROM */
u8 type; /* SPI/SSP/MicroWire */ u8 type; /* SPI/SSP/MicroWire */
u8 poll_mode; /* 1 means use poll mode */ u8 poll_mode; /* 1 means use poll mode */
u32 dma_width;
u32 rx_threshold; u32 rx_threshold;
u32 tx_threshold; u32 tx_threshold;
u8 enable_dma; u8 enable_dma;
u8 bits_per_word;
u16 clk_div; /* baud rate divider */ u16 clk_div; /* baud rate divider */
u32 speed_hz; /* baud rate */ u32 speed_hz; /* baud rate */
void (*cs_control)(u32 command); void (*cs_control)(u32 command);
...@@ -294,8 +291,6 @@ static int dw_spi_transfer_one(struct spi_master *master, ...@@ -294,8 +291,6 @@ static int dw_spi_transfer_one(struct spi_master *master,
int ret; int ret;
dws->dma_mapped = 0; dws->dma_mapped = 0;
dws->n_bytes = chip->n_bytes;
dws->dma_width = chip->dma_width;
dws->tx = (void *)transfer->tx_buf; dws->tx = (void *)transfer->tx_buf;
dws->tx_end = dws->tx + transfer->len; dws->tx_end = dws->tx + transfer->len;
...@@ -324,6 +319,8 @@ static int dw_spi_transfer_one(struct spi_master *master, ...@@ -324,6 +319,8 @@ static int dw_spi_transfer_one(struct spi_master *master,
} else if (transfer->bits_per_word == 16) { } else if (transfer->bits_per_word == 16) {
dws->n_bytes = 2; dws->n_bytes = 2;
dws->dma_width = 2; dws->dma_width = 2;
} else {
return -EINVAL;
} }
/* Default SPI mode is SCPOL = 0, SCPH = 0 */ /* Default SPI mode is SCPOL = 0, SCPH = 0 */
cr0 = (transfer->bits_per_word - 1) cr0 = (transfer->bits_per_word - 1)
...@@ -437,15 +434,6 @@ static int dw_spi_setup(struct spi_device *spi) ...@@ -437,15 +434,6 @@ static int dw_spi_setup(struct spi_device *spi)
chip->tx_threshold = 0; chip->tx_threshold = 0;
} }
if (spi->bits_per_word == 8) {
chip->n_bytes = 1;
chip->dma_width = 1;
} else if (spi->bits_per_word == 16) {
chip->n_bytes = 2;
chip->dma_width = 2;
}
chip->bits_per_word = spi->bits_per_word;
chip->tmode = 0; /* Tx & Rx */ chip->tmode = 0; /* Tx & Rx */
if (gpio_is_valid(spi->cs_gpio)) { if (gpio_is_valid(spi->cs_gpio)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment