diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-27 15:01:37 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-27 15:01:37 +0000 |
commit | fe77f5d92219c04614c22fd46d1c521dfe72cd7b (patch) | |
tree | c3e80a16d0b4070af1ea473d644981d1df410c54 /target/linux/generic/patches-3.2/861-04_spi_gpio_implement_spi_delay.patch | |
parent | 1ee6958324f44923ed309d2fa911fc432f514694 (diff) |
linux/3.2: R.I.P.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31905 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.2/861-04_spi_gpio_implement_spi_delay.patch')
-rw-r--r-- | target/linux/generic/patches-3.2/861-04_spi_gpio_implement_spi_delay.patch | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/target/linux/generic/patches-3.2/861-04_spi_gpio_implement_spi_delay.patch b/target/linux/generic/patches-3.2/861-04_spi_gpio_implement_spi_delay.patch deleted file mode 100644 index 7828869c5..000000000 --- a/target/linux/generic/patches-3.2/861-04_spi_gpio_implement_spi_delay.patch +++ /dev/null @@ -1,58 +0,0 @@ -Implement the SPI-GPIO delay function for busses that need speed limitation. - ---mb - - - ---- a/drivers/spi/spi-gpio.c -+++ b/drivers/spi/spi-gpio.c -@@ -22,6 +22,7 @@ - #include <linux/init.h> - #include <linux/platform_device.h> - #include <linux/gpio.h> -+#include <linux/delay.h> - - #include <linux/spi/spi.h> - #include <linux/spi/spi_bitbang.h> -@@ -70,6 +71,7 @@ struct spi_gpio { - * #define SPI_MOSI_GPIO 120 - * #define SPI_SCK_GPIO 121 - * #define SPI_N_CHIPSEL 4 -+ * #undef NEED_SPIDELAY - * #include "spi-gpio.c" - */ - -@@ -77,6 +79,7 @@ struct spi_gpio { - #define DRIVER_NAME "spi_gpio" - - #define GENERIC_BITBANG /* vs tight inlines */ -+#define NEED_SPIDELAY 1 - - /* all functions referencing these symbols must define pdata */ - #define SPI_MISO_GPIO ((pdata)->miso) -@@ -121,12 +124,20 @@ static inline int getmiso(const struct s - #undef pdata - - /* -- * NOTE: this clocks "as fast as we can". It "should" be a function of the -- * requested device clock. Software overhead means we usually have trouble -- * reaching even one Mbit/sec (except when we can inline bitops), so for now -- * we'll just assume we never need additional per-bit slowdowns. -+ * NOTE: to clock "as fast as we can", set spi_device.max_speed_hz -+ * and spi_transfer.speed_hz to 0. -+ * Otherwise this is a function of the requested device clock. -+ * Software overhead means we usually have trouble -+ * reaching even one Mbit/sec (except when we can inline bitops). So on small -+ * embedded devices with fast SPI slaves you usually don't need a delay. - */ --#define spidelay(nsecs) do {} while (0) -+static inline void spidelay(unsigned nsecs) -+{ -+#ifdef NEED_SPIDELAY -+ if (unlikely(nsecs)) -+ ndelay(nsecs); -+#endif /* NEED_SPIDELAY */ -+} - - #include "spi-bitbang-txrx.h" - |