s3cmci: Support transfers which are not multiple of 32 bits.
authorChrister Weinigel <christer@weinigel.se>
Tue, 14 Oct 2008 23:17:17 +0000 (00:17 +0100)
committerPierre Ossman <drzeus@drzeus.cx>
Wed, 15 Oct 2008 16:05:14 +0000 (18:05 +0200)
commit088a78af978d0c8e339071a9b2bca1f4cb368f30
treed9f3359292c7682f5c926722e0045eafd443cfca
parentf87e6d00fbd367f2d61fd600b5f8bd6e39d63f3f
s3cmci: Support transfers which are not multiple of 32 bits.

To be able to do SDIO the s3cmci driver has to support non-word-sized
transfers.  Change pio_words into pio_bytes and fix up all the places
where it is used.

This variant of the patch will not overrun the buffer when reading an
odd number of bytes.  When writing, this variant will still read past
the end of the buffer, but since the driver can't support non-word-
aligned transfers anyway, this should not be a problem, since a
word-aligned transfer will never cross a page boundary.

This has been tested with a CSR SDIO Bluetooth Type A device on a
Samsung S3C24A0 processor.

Signed-off-by: Christer Weinigel <christer@weinigel.se>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
drivers/mmc/host/s3cmci.c
drivers/mmc/host/s3cmci.h