summaryrefslogtreecommitdiffstats
path: root/include/linux/spi/spi_bitbang.h
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-05-20 00:03:38 -0400
committerJeff Garzik <jeff@garzik.org>2006-05-20 00:03:38 -0400
commitbadc48e6605ddeeb2484afae5993c859494decaa (patch)
tree7da638f9bb53b1812b71e40ad6deca91d59ad301 /include/linux/spi/spi_bitbang.h
parent753a6c4ff4c371a3e4e3408aaba4d03f3cfde73a (diff)
parent2f880b65fdbc2d4915bddc59d75a176329570fdd (diff)
Merge branch 'master' into upstream
Diffstat (limited to 'include/linux/spi/spi_bitbang.h')
-rw-r--r--include/linux/spi/spi_bitbang.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/spi/spi_bitbang.h b/include/linux/spi/spi_bitbang.h
index c961fe9bf3e..16ce178f54d 100644
--- a/include/linux/spi/spi_bitbang.h
+++ b/include/linux/spi/spi_bitbang.h
@@ -30,6 +30,12 @@ struct spi_bitbang {
struct spi_master *master;
+ /* setup_transfer() changes clock and/or wordsize to match settings
+ * for this transfer; zeroes restore defaults from spi_device.
+ */
+ int (*setup_transfer)(struct spi_device *spi,
+ struct spi_transfer *t);
+
void (*chipselect)(struct spi_device *spi, int is_on);
#define BITBANG_CS_ACTIVE 1 /* normally nCS, active low */
#define BITBANG_CS_INACTIVE 0
@@ -51,6 +57,8 @@ struct spi_bitbang {
extern int spi_bitbang_setup(struct spi_device *spi);
extern void spi_bitbang_cleanup(const struct spi_device *spi);
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);
/* start or stop queue processing */
extern int spi_bitbang_start(struct spi_bitbang *spi);