6914d44a3a254232cc4f4bc73c00f07202f92160
[openwrt.git] / target / linux / ipq806x / patches / 0068-spi-qup-Convert-ot-let-spi-core-handle-checking-tran.patch
1 From a4b122f945c564e47a42a9665b484785e86648de Mon Sep 17 00:00:00 2001
2 From: Axel Lin <axel.lin@ingics.com>
3 Date: Fri, 21 Feb 2014 09:34:16 +0800
4 Subject: [PATCH 068/182] spi: qup: Convert ot let spi core handle checking
5  transfer speed
6
7 Set master->max_speed_hz then spi core will handle checking transfer speed.
8 So we can remove the same checking in this driver.
9
10 Also remove checking spi->chip_select in spi_qup_setup(), the checking is done
11 by spi core.
12
13 Signed-off-by: Axel Lin <axel.lin@ingics.com>
14 Acked-by: Ivan T. Ivanov <iivanov@mm-sol.com>
15 Signed-off-by: Mark Brown <broonie@linaro.org>
16 ---
17  drivers/spi/spi-qup.c |   15 +--------------
18  1 file changed, 1 insertion(+), 14 deletions(-)
19
20 diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
21 index 5edc56f..dec339d 100644
22 --- a/drivers/spi/spi-qup.c
23 +++ b/drivers/spi/spi-qup.c
24 @@ -134,7 +134,6 @@ struct spi_qup {
25         struct clk              *cclk;  /* core clock */
26         struct clk              *iclk;  /* interface clock */
27         int                     irq;
28 -       u32                     max_speed_hz;
29         spinlock_t              lock;
30  
31         int                     in_fifo_sz;
32 @@ -517,18 +516,6 @@ static int spi_qup_setup(struct spi_device *spi)
33         struct spi_qup *controller = spi_master_get_devdata(spi->master);
34         struct spi_qup_device *chip = spi_get_ctldata(spi);
35  
36 -       if (spi->chip_select >= spi->master->num_chipselect) {
37 -               dev_err(controller->dev, "invalid chip_select %d\n",
38 -                       spi->chip_select);
39 -               return -EINVAL;
40 -       }
41 -
42 -       if (spi->max_speed_hz > controller->max_speed_hz) {
43 -               dev_err(controller->dev, "invalid max_speed_hz %d\n",
44 -                       spi->max_speed_hz);
45 -               return -EINVAL;
46 -       }
47 -
48         if (!chip) {
49                 /* First setup */
50                 chip = kzalloc(sizeof(*chip), GFP_KERNEL);
51 @@ -629,6 +616,7 @@ static int spi_qup_probe(struct platform_device *pdev)
52         master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
53         master->num_chipselect = SPI_NUM_CHIPSELECTS;
54         master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
55 +       master->max_speed_hz = max_freq;
56         master->setup = spi_qup_setup;
57         master->cleanup = spi_qup_cleanup;
58         master->set_cs = spi_qup_set_cs;
59 @@ -645,7 +633,6 @@ static int spi_qup_probe(struct platform_device *pdev)
60         controller->iclk = iclk;
61         controller->cclk = cclk;
62         controller->irq = irq;
63 -       controller->max_speed_hz = max_freq;
64  
65         spin_lock_init(&controller->lock);
66         init_completion(&controller->done);
67 -- 
68 1.7.10.4
69