diff options
author | Axel Lin <axel.lin@ingics.com> | 2014-02-20 20:34:16 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-02-22 22:28:28 -0500 |
commit | cb64ca54076243b1d88b0a8430504d0a4cf3a5fa (patch) | |
tree | 235b3fcd5043ac5950ec042c9b86a1d32cb1072b /drivers/spi/spi-qup.c | |
parent | 81b045fe72f957ad24ab97f999ea8ca14359d941 (diff) |
spi: qup: Convert ot let spi core handle checking transfer speed
Set master->max_speed_hz then spi core will handle checking transfer speed.
So we can remove the same checking in this driver.
Also remove checking spi->chip_select in spi_qup_setup(), the checking is done
by spi core.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Ivan T. Ivanov <iivanov@mm-sol.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi/spi-qup.c')
-rw-r--r-- | drivers/spi/spi-qup.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c index 5edc56f5c887..dec339d51fc8 100644 --- a/drivers/spi/spi-qup.c +++ b/drivers/spi/spi-qup.c | |||
@@ -134,7 +134,6 @@ struct spi_qup { | |||
134 | struct clk *cclk; /* core clock */ | 134 | struct clk *cclk; /* core clock */ |
135 | struct clk *iclk; /* interface clock */ | 135 | struct clk *iclk; /* interface clock */ |
136 | int irq; | 136 | int irq; |
137 | u32 max_speed_hz; | ||
138 | spinlock_t lock; | 137 | spinlock_t lock; |
139 | 138 | ||
140 | int in_fifo_sz; | 139 | int in_fifo_sz; |
@@ -517,18 +516,6 @@ static int spi_qup_setup(struct spi_device *spi) | |||
517 | struct spi_qup *controller = spi_master_get_devdata(spi->master); | 516 | struct spi_qup *controller = spi_master_get_devdata(spi->master); |
518 | struct spi_qup_device *chip = spi_get_ctldata(spi); | 517 | struct spi_qup_device *chip = spi_get_ctldata(spi); |
519 | 518 | ||
520 | if (spi->chip_select >= spi->master->num_chipselect) { | ||
521 | dev_err(controller->dev, "invalid chip_select %d\n", | ||
522 | spi->chip_select); | ||
523 | return -EINVAL; | ||
524 | } | ||
525 | |||
526 | if (spi->max_speed_hz > controller->max_speed_hz) { | ||
527 | dev_err(controller->dev, "invalid max_speed_hz %d\n", | ||
528 | spi->max_speed_hz); | ||
529 | return -EINVAL; | ||
530 | } | ||
531 | |||
532 | if (!chip) { | 519 | if (!chip) { |
533 | /* First setup */ | 520 | /* First setup */ |
534 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); | 521 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); |
@@ -629,6 +616,7 @@ static int spi_qup_probe(struct platform_device *pdev) | |||
629 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP; | 616 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP; |
630 | master->num_chipselect = SPI_NUM_CHIPSELECTS; | 617 | master->num_chipselect = SPI_NUM_CHIPSELECTS; |
631 | master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); | 618 | master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); |
619 | master->max_speed_hz = max_freq; | ||
632 | master->setup = spi_qup_setup; | 620 | master->setup = spi_qup_setup; |
633 | master->cleanup = spi_qup_cleanup; | 621 | master->cleanup = spi_qup_cleanup; |
634 | master->set_cs = spi_qup_set_cs; | 622 | master->set_cs = spi_qup_set_cs; |
@@ -645,7 +633,6 @@ static int spi_qup_probe(struct platform_device *pdev) | |||
645 | controller->iclk = iclk; | 633 | controller->iclk = iclk; |
646 | controller->cclk = cclk; | 634 | controller->cclk = cclk; |
647 | controller->irq = irq; | 635 | controller->irq = irq; |
648 | controller->max_speed_hz = max_freq; | ||
649 | 636 | ||
650 | spin_lock_init(&controller->lock); | 637 | spin_lock_init(&controller->lock); |
651 | init_completion(&controller->done); | 638 | init_completion(&controller->done); |