diff options
Diffstat (limited to 'drivers/spi/spi-omap-100k.c')
-rw-r--r-- | drivers/spi/spi-omap-100k.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/spi/spi-omap-100k.c b/drivers/spi/spi-omap-100k.c index 78d29a18dcc4..ee25670f8cfd 100644 --- a/drivers/spi/spi-omap-100k.c +++ b/drivers/spi/spi-omap-100k.c | |||
@@ -298,12 +298,6 @@ static int omap1_spi100k_setup(struct spi_device *spi) | |||
298 | struct omap1_spi100k *spi100k; | 298 | struct omap1_spi100k *spi100k; |
299 | struct omap1_spi100k_cs *cs = spi->controller_state; | 299 | struct omap1_spi100k_cs *cs = spi->controller_state; |
300 | 300 | ||
301 | if (spi->bits_per_word < 4 || spi->bits_per_word > 32) { | ||
302 | dev_dbg(&spi->dev, "setup: unsupported %d bit words\n", | ||
303 | spi->bits_per_word); | ||
304 | return -EINVAL; | ||
305 | } | ||
306 | |||
307 | spi100k = spi_master_get_devdata(spi->master); | 301 | spi100k = spi_master_get_devdata(spi->master); |
308 | 302 | ||
309 | if (!cs) { | 303 | if (!cs) { |
@@ -451,10 +445,7 @@ static int omap1_spi100k_transfer(struct spi_device *spi, struct spi_message *m) | |||
451 | unsigned len = t->len; | 445 | unsigned len = t->len; |
452 | 446 | ||
453 | if (t->speed_hz > OMAP1_SPI100K_MAX_FREQ | 447 | if (t->speed_hz > OMAP1_SPI100K_MAX_FREQ |
454 | || (len && !(rx_buf || tx_buf)) | 448 | || (len && !(rx_buf || tx_buf))) { |
455 | || (t->bits_per_word && | ||
456 | ( t->bits_per_word < 4 | ||
457 | || t->bits_per_word > 32))) { | ||
458 | dev_dbg(&spi->dev, "transfer: %d Hz, %d %s%s, %d bpw\n", | 449 | dev_dbg(&spi->dev, "transfer: %d Hz, %d %s%s, %d bpw\n", |
459 | t->speed_hz, | 450 | t->speed_hz, |
460 | len, | 451 | len, |
@@ -509,8 +500,9 @@ static int omap1_spi100k_probe(struct platform_device *pdev) | |||
509 | master->cleanup = NULL; | 500 | master->cleanup = NULL; |
510 | master->num_chipselect = 2; | 501 | master->num_chipselect = 2; |
511 | master->mode_bits = MODEBITS; | 502 | master->mode_bits = MODEBITS; |
503 | master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); | ||
512 | 504 | ||
513 | dev_set_drvdata(&pdev->dev, master); | 505 | platform_set_drvdata(pdev, master); |
514 | 506 | ||
515 | spi100k = spi_master_get_devdata(master); | 507 | spi100k = spi_master_get_devdata(master); |
516 | spi100k->master = master; | 508 | spi100k->master = master; |
@@ -569,7 +561,7 @@ static int omap1_spi100k_remove(struct platform_device *pdev) | |||
569 | unsigned long flags; | 561 | unsigned long flags; |
570 | int status = 0; | 562 | int status = 0; |
571 | 563 | ||
572 | master = dev_get_drvdata(&pdev->dev); | 564 | master = platform_get_drvdata(pdev); |
573 | spi100k = spi_master_get_devdata(master); | 565 | spi100k = spi_master_get_devdata(master); |
574 | 566 | ||
575 | spin_lock_irqsave(&spi100k->lock, flags); | 567 | spin_lock_irqsave(&spi100k->lock, flags); |