| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- 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"
 
-  
 
 
  |