aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorAlban Bedel <albeu@free.fr>2019-01-16 13:55:47 -0500
committerMark Brown <broonie@kernel.org>2019-01-17 07:34:55 -0500
commitf1b2c1c84f7f04d91749e1550f24510c6b6eac73 (patch)
tree6b53db5724b248728e90d6921946bb2be24810ae /drivers/spi
parentb172fd0c898022c47161a99cb40be5304b0d3fd0 (diff)
spi: ath79: Remove now useless code
The custom setup/cleanup routines included in the ath79 driver only take care of setting the initial CS state. However that is already handled by the bitbang code, so this code can be removed. Signed-off-by: Alban Bedel <albeu@free.fr> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-ath79.c43
1 files changed, 2 insertions, 41 deletions
diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c
index 09c4fb7fcf7a..847f354ebef1 100644
--- a/drivers/spi/spi-ath79.c
+++ b/drivers/spi/spi-ath79.c
@@ -109,44 +109,6 @@ static void ath79_spi_disable(struct ath79_spi *sp)
109 ath79_spi_wr(sp, AR71XX_SPI_REG_FS, 0); 109 ath79_spi_wr(sp, AR71XX_SPI_REG_FS, 0);
110} 110}
111 111
112static int ath79_spi_setup_cs(struct spi_device *spi)
113{
114 struct ath79_spi *sp = ath79_spidev_to_sp(spi);
115
116 if (!spi->cs_gpiod) {
117 u32 cs_bit = AR71XX_SPI_IOC_CS(spi->chip_select);
118
119 if (spi->mode & SPI_CS_HIGH)
120 sp->ioc_base &= ~cs_bit;
121 else
122 sp->ioc_base |= cs_bit;
123
124 ath79_spi_wr(sp, AR71XX_SPI_REG_IOC, sp->ioc_base);
125 }
126
127 return 0;
128}
129
130static int ath79_spi_setup(struct spi_device *spi)
131{
132 int status = 0;
133
134 if (!spi->controller_state) {
135 status = ath79_spi_setup_cs(spi);
136 if (status)
137 return status;
138 }
139
140 status = spi_bitbang_setup(spi);
141
142 return status;
143}
144
145static void ath79_spi_cleanup(struct spi_device *spi)
146{
147 spi_bitbang_cleanup(spi);
148}
149
150static u32 ath79_spi_txrx_mode0(struct spi_device *spi, unsigned int nsecs, 112static u32 ath79_spi_txrx_mode0(struct spi_device *spi, unsigned int nsecs,
151 u32 word, u8 bits, unsigned flags) 113 u32 word, u8 bits, unsigned flags)
152{ 114{
@@ -199,8 +161,8 @@ static int ath79_spi_probe(struct platform_device *pdev)
199 161
200 master->use_gpio_descriptors = true; 162 master->use_gpio_descriptors = true;
201 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32); 163 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
202 master->setup = ath79_spi_setup; 164 master->setup = spi_bitbang_setup;
203 master->cleanup = ath79_spi_cleanup; 165 master->cleanup = spi_bitbang_cleanup;
204 if (pdata) { 166 if (pdata) {
205 master->bus_num = pdata->bus_num; 167 master->bus_num = pdata->bus_num;
206 master->num_chipselect = pdata->num_chipselect; 168 master->num_chipselect = pdata->num_chipselect;
@@ -209,7 +171,6 @@ static int ath79_spi_probe(struct platform_device *pdev)
209 sp->bitbang.master = master; 171 sp->bitbang.master = master;
210 sp->bitbang.chipselect = ath79_spi_chipselect; 172 sp->bitbang.chipselect = ath79_spi_chipselect;
211 sp->bitbang.txrx_word[SPI_MODE_0] = ath79_spi_txrx_mode0; 173 sp->bitbang.txrx_word[SPI_MODE_0] = ath79_spi_txrx_mode0;
212 sp->bitbang.setup_transfer = spi_bitbang_setup_transfer;
213 sp->bitbang.flags = SPI_CS_HIGH; 174 sp->bitbang.flags = SPI_CS_HIGH;
214 175
215 r = platform_get_resource(pdev, IORESOURCE_MEM, 0); 176 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);