openwrt/target/linux/ar71xx/patches-3.3/460-spi-bitbang-export-spi_bitbang_bufs.patch
Gabor Juhos b77217d963 ar71xx: boost SPI flash read performance
mtd_speedtest results:
                           page read speed
                    old         new        delta
DB120            929 KiB/s   2597 KiB/s   +179.55%
TL-WR1043ND v1   754 KiB/s   2166 KiB/s   +187.27%
TL-WR703N v1     745 KiB/s   2176 KiB/s   +192.08%
TL-MR3220 v1     752 KiB/s   2154 KiB/s   +186.44%
TL-WR2543ND v1   564 KiB/s   2130 KiB/s   +277.66%
TL-WR741ND v2    525 KiB/s   1767 KiB/s   +236.57%
ALFA-AP96        702 KiB/s   1977 KiB/s   +181.62%
WNDR3700         697 KiB/s   1965 KiB/s   +181.92%

SVN-Revision: 31118
2012-03-27 19:38:17 +00:00

29 lines
1.0 KiB
Diff

--- a/drivers/spi/spi-bitbang.c
+++ b/drivers/spi/spi-bitbang.c
@@ -234,13 +234,14 @@ void spi_bitbang_cleanup(struct spi_devi
}
EXPORT_SYMBOL_GPL(spi_bitbang_cleanup);
-static int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t)
+int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t)
{
struct spi_bitbang_cs *cs = spi->controller_state;
unsigned nsecs = cs->nsecs;
return cs->txrx_bufs(spi, cs->txrx_word, nsecs, t);
}
+EXPORT_SYMBOL_GPL(spi_bitbang_bufs);
/*----------------------------------------------------------------------*/
--- a/include/linux/spi/spi_bitbang.h
+++ b/include/linux/spi/spi_bitbang.h
@@ -44,6 +44,7 @@ extern void spi_bitbang_cleanup(struct s
extern int spi_bitbang_transfer(struct spi_device *spi, struct spi_message *m);
extern int spi_bitbang_setup_transfer(struct spi_device *spi,
struct spi_transfer *t);
+extern int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t);
/* start or stop queue processing */
extern int spi_bitbang_start(struct spi_bitbang *spi);