X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/ccc47d58dbccaea2c76a188b2f7ff5c626f260cf..f9626b56d535667990d566ffeb3a3397a58deed2:/target/linux/ar71xx/patches-3.2/207-spi-ath79-make-chipselect-logic-more-flexible.patch diff --git a/target/linux/ar71xx/patches-3.2/207-spi-ath79-make-chipselect-logic-more-flexible.patch b/target/linux/ar71xx/patches-3.2/207-spi-ath79-make-chipselect-logic-more-flexible.patch index cada123cb..af96f5573 100644 --- a/target/linux/ar71xx/patches-3.2/207-spi-ath79-make-chipselect-logic-more-flexible.patch +++ b/target/linux/ar71xx/patches-3.2/207-spi-ath79-make-chipselect-logic-more-flexible.patch @@ -77,9 +77,9 @@ Signed-off-by: Gabor Juhos } 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; @@ -112,16 +112,15 @@ Signed-off-by: Gabor Juhos } 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 */ @@ -132,7 +131,7 @@ Signed-off-by: Gabor Juhos } } -@@ -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; @@ -143,7 +142,7 @@ Signed-off-by: Gabor Juhos 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);