struct ath79_spi {
struct spi_bitbang bitbang;
u32 ioc_base;
-@@ -62,6 +64,7 @@ static void ath79_spi_chipselect(struct
+@@ -62,6 +64,7 @@ static void ath79_spi_chipselect(struct
{
struct ath79_spi *sp = ath79_spidev_to_sp(spi);
int cs_high = (spi->mode & SPI_CS_HIGH) ? is_active : !is_active;
if (is_active) {
/* set initial clock polarity */
-@@ -73,20 +76,21 @@ static void ath79_spi_chipselect(struct
+@@ -73,20 +76,21 @@ static void ath79_spi_chipselect(struct
ath79_spi_wr(sp, AR71XX_SPI_REG_IOC, sp->ioc_base);
}
}
static void ath79_spi_enable(struct ath79_spi *sp)
-@@ -114,24 +118,30 @@ static int ath79_spi_setup_cs(struct spi
+@@ -113,24 +117,30 @@ static void ath79_spi_disable(struct ath
+ static int ath79_spi_setup_cs(struct spi_device *spi)
{
- struct ath79_spi *sp = ath79_spidev_to_sp(spi);
struct ath79_spi_controller_data *cdata;
+ unsigned long flags;
int status;
}
return status;
-@@ -139,11 +149,15 @@ static int ath79_spi_setup_cs(struct spi
+@@ -138,9 +148,15 @@ static int ath79_spi_setup_cs(struct spi
static void ath79_spi_cleanup_cs(struct spi_device *spi)
{
-- struct ath79_spi *sp = ath79_spidev_to_sp(spi);
-+ struct ath79_spi_controller_data *cdata = spi->controller_data;
-
- if (spi->chip_select) {
- struct ath79_spi_controller_data *cdata = spi->controller_data;
- gpio_free(cdata->gpio);
++ struct ath79_spi_controller_data *cdata = spi->controller_data;
++
+ switch (cdata->cs_type) {
+ case ATH79_SPI_CS_TYPE_INTERNAL:
+ /* nothing to do */
}
}
-@@ -209,6 +223,10 @@ static __devinit int ath79_spi_probe(str
+@@ -206,6 +222,10 @@ static __devinit int ath79_spi_probe(str
struct resource *r;
int ret;
master = spi_alloc_master(&pdev->dev, sizeof(*sp));
if (master == NULL) {
dev_err(&pdev->dev, "failed to allocate spi master\n");
-@@ -218,17 +236,10 @@ static __devinit int ath79_spi_probe(str
+@@ -215,17 +235,10 @@ static __devinit int ath79_spi_probe(str
sp = spi_master_get_devdata(master);
platform_set_drvdata(pdev, sp);