mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-29 01:26:15 +02:00
38 lines
969 B
Diff
38 lines
969 B
Diff
|
--- /opt/Projects/linux-2.6/drivers/spi/spi_gpio.c 2009-09-03 11:56:54.000000000 +0200
|
||
|
+++ ./spi_gpio.c 2009-08-24 17:00:21.000000000 +0200
|
||
|
@@ -254,9 +254,11 @@
|
||
|
if (value)
|
||
|
goto done;
|
||
|
|
||
|
- value = spi_gpio_alloc(SPI_MISO_GPIO, label, true);
|
||
|
- if (value)
|
||
|
- goto free_mosi;
|
||
|
+ if (SPI_MISO_GPIO != SPI_MOSI_GPIO) {
|
||
|
+ value = spi_gpio_alloc(SPI_MISO_GPIO, label, true);
|
||
|
+ if (value)
|
||
|
+ goto free_mosi;
|
||
|
+ }
|
||
|
|
||
|
value = spi_gpio_alloc(SPI_SCK_GPIO, label, false);
|
||
|
if (value)
|
||
|
@@ -319,7 +321,8 @@
|
||
|
if (status < 0) {
|
||
|
spi_master_put(spi_gpio->bitbang.master);
|
||
|
gpio_free:
|
||
|
- gpio_free(SPI_MISO_GPIO);
|
||
|
+ if (SPI_MISO_GPIO != SPI_MOSI_GPIO)
|
||
|
+ gpio_free(SPI_MISO_GPIO);
|
||
|
gpio_free(SPI_MOSI_GPIO);
|
||
|
gpio_free(SPI_SCK_GPIO);
|
||
|
spi_master_put(master);
|
||
|
@@ -343,7 +346,8 @@
|
||
|
|
||
|
platform_set_drvdata(pdev, NULL);
|
||
|
|
||
|
- gpio_free(SPI_MISO_GPIO);
|
||
|
+ if (SPI_MISO_GPIO != SPI_MOSI_GPIO)
|
||
|
+ gpio_free(SPI_MISO_GPIO);
|
||
|
gpio_free(SPI_MOSI_GPIO);
|
||
|
gpio_free(SPI_SCK_GPIO);
|
||
|
|