aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2014-01-17 05:00:42 -0500
committerMark Brown <broonie@linaro.org>2014-01-17 10:55:54 -0500
commit463654cec26466a03615974444d6900f1cd0eeb9 (patch)
tree85e6ce1653cf249b478749a4abfd77df0e2722e1 /drivers
parent15e0964dc2a097de3cf518badf2237b6b6adf7fe (diff)
spi: sc18is602: Convert to use bits_per_word_mask
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/spi/spi-sc18is602.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/spi/spi-sc18is602.c b/drivers/spi/spi-sc18is602.c
index c1a01d1ac315..c981d215b65b 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)
183static int sc18is602_check_transfer(struct spi_device *spi, 183static 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;
@@ -315,6 +308,7 @@ static int sc18is602_probe(struct i2c_client *client,
315 } 308 }
316 master->bus_num = client->adapter->nr; 309 master->bus_num = client->adapter->nr;
317 master->mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST; 310 master->mode_bits = SPI_CPHA | SPI_CPOL | SPI_LSB_FIRST;
311 master->bits_per_word_mask = SPI_BPW_MASK(8);
318 master->setup = sc18is602_setup; 312 master->setup = sc18is602_setup;
319 master->transfer_one_message = sc18is602_transfer_one; 313 master->transfer_one_message = sc18is602_transfer_one;
320 master->dev.of_node = np; 314 master->dev.of_node = np;