diff options
| -rw-r--r-- | drivers/spi/spi-sc18is602.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/spi/spi-sc18is602.c b/drivers/spi/spi-sc18is602.c index 1edffed9e098..121c2e1dea36 100644 --- a/drivers/spi/spi-sc18is602.c +++ b/drivers/spi/spi-sc18is602.c | |||
| @@ -183,18 +183,11 @@ static int sc18is602_setup_transfer(struct sc18is602 *hw, u32 hz, u8 mode) | |||
| 183 | static int sc18is602_check_transfer(struct spi_device *spi, | 183 | static int sc18is602_check_transfer(struct spi_device *spi, |
| 184 | struct spi_transfer *t, int tlen) | 184 | struct spi_transfer *t, int tlen) |
| 185 | { | 185 | { |
| 186 | int bpw; | ||
| 187 | uint32_t hz; | 186 | uint32_t hz; |
| 188 | 187 | ||
| 189 | if (t && t->len + tlen > SC18IS602_BUFSIZ) | 188 | if (t && t->len + tlen > SC18IS602_BUFSIZ) |
| 190 | return -EINVAL; | 189 | return -EINVAL; |
| 191 | 190 | ||
| 192 | bpw = spi->bits_per_word; | ||
| 193 | if (t && t->bits_per_word) | ||
| 194 | bpw = t->bits_per_word; | ||
| 195 | if (bpw != 8) | ||
| 196 | return -EINVAL; | ||
| 197 | |||
| 198 | hz = spi->max_speed_hz; | 191 | hz = spi->max_speed_hz; |
| 199 | if (t && t->speed_hz) | 192 | if (t && t->speed_hz) |
| 200 | hz = t->speed_hz; | 193 | hz = t->speed_hz; |
| @@ -312,6 +305,7 @@ static int sc18is602_probe(struct i2c_client *client, | |||
| 312 | } | 305 | } |
| 313 | master->bus_num = client->adapter->nr; | 306 | master->bus_num = client->adapter->nr; |
| 314 | master->mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST; | 307 | master->mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST; |
| 308 | master->bits_per_word_mask = SPI_BPW_MASK(8); | ||
| 315 | master->setup = sc18is602_setup; | 309 | master->setup = sc18is602_setup; |
| 316 | master->transfer_one_message = sc18is602_transfer_one; | 310 | master->transfer_one_message = sc18is602_transfer_one; |
| 317 | master->dev.of_node = np; | 311 | master->dev.of_node = np; |
