summaryrefslogtreecommitdiff
path: root/target/linux/generic-2.6/patches-2.6.29/920-04-spi-gpio-implement-spi-delay.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.29/920-04-spi-gpio-implement-spi-delay.patch')
-rw-r--r--target/linux/generic-2.6/patches-2.6.29/920-04-spi-gpio-implement-spi-delay.patch58
1 files changed, 0 insertions, 58 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.29/920-04-spi-gpio-implement-spi-delay.patch b/target/linux/generic-2.6/patches-2.6.29/920-04-spi-gpio-implement-spi-delay.patch
deleted file mode 100644
index 1903288..0000000
--- a/target/linux/generic-2.6/patches-2.6.29/920-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
-@@ -21,6 +21,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>
-@@ -69,6 +70,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"
- */
-
-@@ -76,6 +78,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)
-@@ -120,12 +123,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 */
-+}
-
- #define EXPAND_BITBANG_TXRX
- #include <linux/spi/spi_bitbang.h>