aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-qup.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2014-02-20 20:34:16 -0500
committerMark Brown <broonie@linaro.org>2014-02-22 22:28:28 -0500
commitcb64ca54076243b1d88b0a8430504d0a4cf3a5fa (patch)
tree235b3fcd5043ac5950ec042c9b86a1d32cb1072b /drivers/spi/spi-qup.c
parent81b045fe72f957ad24ab97f999ea8ca14359d941 (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.c15
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);