diff options
Diffstat (limited to 'target/linux')
3 files changed, 19 insertions, 15 deletions
diff --git a/target/linux/ar71xx/patches-3.2/205-spi-ath79-introduce-ath79_spi_-en-dis-able-helpers.patch b/target/linux/ar71xx/patches-3.2/205-spi-ath79-introduce-ath79_spi_-en-dis-able-helpers.patch index 1324f18dc..ce98ad8e4 100644 --- a/target/linux/ar71xx/patches-3.2/205-spi-ath79-introduce-ath79_spi_-en-dis-able-helpers.patch +++ b/target/linux/ar71xx/patches-3.2/205-spi-ath79-introduce-ath79_spi_-en-dis-able-helpers.patch @@ -27,7 +27,7 @@ Subject: [PATCH 5/7] spi/ath79: introduce ath79_spi_{en,dis}able helpers   	/* enable GPIO mode */   	ath79_spi_wr(sp, AR71XX_SPI_REG_FS, AR71XX_SPI_FS_GPIO); -@@ -108,6 +100,25 @@ static int ath79_spi_setup_cs(struct spi +@@ -108,6 +100,24 @@ static int ath79_spi_setup_cs(struct spi   	/* TODO: setup speed? */   	ath79_spi_wr(sp, AR71XX_SPI_REG_CTRL, 0x43); @@ -43,7 +43,6 @@ Subject: [PATCH 5/7] spi/ath79: introduce ath79_spi_{en,dis}able helpers  +  +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;  +	int status;  + @@ -53,7 +52,13 @@ Subject: [PATCH 5/7] spi/ath79: introduce ath79_spi_{en,dis}able helpers   	status = 0;   	if (spi->chip_select) { -@@ -134,11 +145,6 @@ static void ath79_spi_cleanup_cs(struct +@@ -128,17 +138,10 @@ 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); +- + 	if (spi->chip_select) {   		struct ath79_spi_controller_data *cdata = spi->controller_data;   		gpio_free(cdata->gpio);   	} @@ -65,7 +70,7 @@ Subject: [PATCH 5/7] spi/ath79: introduce ath79_spi_{en,dis}able helpers   }   static int ath79_spi_setup(struct spi_device *spi) -@@ -242,13 +248,15 @@ static __devinit int ath79_spi_probe(str +@@ -242,13 +245,15 @@ static __devinit int ath79_spi_probe(str   		goto err_put_master;   	} @@ -83,7 +88,7 @@ Subject: [PATCH 5/7] spi/ath79: introduce ath79_spi_{en,dis}able helpers   	iounmap(sp->base);   err_put_master:   	platform_set_drvdata(pdev, NULL); -@@ -262,6 +270,7 @@ static __devexit int ath79_spi_remove(st +@@ -262,6 +267,7 @@ static __devexit int ath79_spi_remove(st   	struct ath79_spi *sp = platform_get_drvdata(pdev);   	spi_bitbang_stop(&sp->bitbang); diff --git a/target/linux/ar71xx/patches-3.2/206-spi-ath79-add-shutdown-handler.patch b/target/linux/ar71xx/patches-3.2/206-spi-ath79-add-shutdown-handler.patch index 555d6fd79..5ba3037b5 100644 --- a/target/linux/ar71xx/patches-3.2/206-spi-ath79-add-shutdown-handler.patch +++ b/target/linux/ar71xx/patches-3.2/206-spi-ath79-add-shutdown-handler.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>  --- a/drivers/spi/spi-ath79.c  +++ b/drivers/spi/spi-ath79.c -@@ -265,7 +265,7 @@ err_put_master: +@@ -262,7 +262,7 @@ err_put_master:   	return ret;   } @@ -19,7 +19,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>   {   	struct ath79_spi *sp = platform_get_drvdata(pdev); -@@ -274,13 +274,23 @@ static __devexit int ath79_spi_remove(st +@@ -271,13 +271,23 @@ static __devexit int ath79_spi_remove(st   	iounmap(sp->base);   	platform_set_drvdata(pdev, NULL);   	spi_master_put(sp->bitbang.master); 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 <juhosg@openwrt.org>   }   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 <juhosg@openwrt.org>   	}   	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 <juhosg@openwrt.org>   	}   } -@@ -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 <juhosg@openwrt.org>   	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);  | 
