aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches/0068-spi-qup-Convert-ot-let-spi-core-handle-checking-tran.patch
blob: 6914d44a3a254232cc4f4bc73c00f07202f92160 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
From a4b122f945c564e47a42a9665b484785e86648de Mon Sep 17 00:00:00 2001
From: Axel Lin <axel.lin@ingics.com>
Date: Fri, 21 Feb 2014 09:34:16 +0800
Subject: [PATCH 068/182] 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>
---
 drivers/spi/spi-qup.c |   15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
index 5edc56f..dec339d 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -134,7 +134,6 @@ struct spi_qup {
 	struct clk		*cclk;	/* core clock */
 	struct clk		*iclk;	/* interface clock */
 	int			irq;
-	u32			max_speed_hz;
 	spinlock_t		lock;
 
 	int			in_fifo_sz;
@@ -517,18 +516,6 @@ static int spi_qup_setup(struct spi_device *spi)
 	struct spi_qup *controller = spi_master_get_devdata(spi->master);
 	struct spi_qup_device *chip = spi_get_ctldata(spi);
 
-	if (spi->chip_select >= spi->master->num_chipselect) {
-		dev_err(controller->dev, "invalid chip_select %d\n",
-			spi->chip_select);
-		return -EINVAL;
-	}
-
-	if (spi->max_speed_hz > controller->max_speed_hz) {
-		dev_err(controller->dev, "invalid max_speed_hz %d\n",
-			spi->max_speed_hz);
-		return -EINVAL;
-	}
-
 	if (!chip) {
 		/* First setup */
 		chip = kzalloc(sizeof(*chip), GFP_KERNEL);
@@ -629,6 +616,7 @@ static int spi_qup_probe(struct platform_device *pdev)
 	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
 	master->num_chipselect = SPI_NUM_CHIPSELECTS;
 	master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
+	master->max_speed_hz = max_freq;
 	master->setup = spi_qup_setup;
 	master->cleanup = spi_qup_cleanup;
 	master->set_cs = spi_qup_set_cs;
@@ -645,7 +633,6 @@ static int spi_qup_probe(struct platform_device *pdev)
 	controller->iclk = iclk;
 	controller->cclk = cclk;
 	controller->irq = irq;
-	controller->max_speed_hz = max_freq;
 
 	spin_lock_init(&controller->lock);
 	init_completion(&controller->done);
-- 
1.7.10.4