summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/sdio_ops.h
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@csr.com>2007-08-08 14:24:21 +0100
committerPierre Ossman <drzeus@drzeus.cx>2007-09-23 21:21:32 +0200
commiteb6594689226663968ef0a9fd71ec5e1e4e04f9c (patch)
treed523962b81a2b5f4a55543d4342daaaebc5d5162 /drivers/mmc/core/sdio_ops.h
parent9a08f82b3cc522f727ace580a2aaee5402435bc8 (diff)
downloadlinux-stable-eb6594689226663968ef0a9fd71ec5e1e4e04f9c.tar.gz
linux-stable-eb6594689226663968ef0a9fd71ec5e1e4e04f9c.tar.bz2
linux-stable-eb6594689226663968ef0a9fd71ec5e1e4e04f9c.zip
sdio: extend sdio_readsb() and friends to handle any length of buffer
Extend sdio_readsb(), sdio_writesb(), sdio_memcpy_fromio(), and sdio_memcpy_toio() to handle any length of buffer by splitting the transfer into several IO_RW_EXTENDED commands. Typically, a transfer would be split into a single block mode transfer followed by a byte mode transfer for the remainder but we also handle lack of block mode support and the block size being greater than 512 (the maximum byte mode transfer size). host->max_seg_size <= host->max_req_size so there's no need to check both when determining the maximum data size for a single command. Signed-off-by: David Vrabel <david.vrabel@csr.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/core/sdio_ops.h')
-rw-r--r--drivers/mmc/core/sdio_ops.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/core/sdio_ops.h b/drivers/mmc/core/sdio_ops.h
index 1d42e4f366aa..e2e74b0d17d8 100644
--- a/drivers/mmc/core/sdio_ops.h
+++ b/drivers/mmc/core/sdio_ops.h
@@ -16,7 +16,7 @@ int mmc_send_io_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr);
int mmc_io_rw_direct(struct mmc_card *card, int write, unsigned fn,
unsigned addr, u8 in, u8* out);
int mmc_io_rw_extended(struct mmc_card *card, int write, unsigned fn,
- unsigned addr, int bang, u8 *data, unsigned size);
+ unsigned addr, int incr_addr, u8 *buf, unsigned blocks, unsigned blksz);
#endif