spi: handle TX-only/RX-only
authorDavid Brownell <dbrownell@users.sourceforge.net>
Tue, 22 Sep 2009 23:46:18 +0000 (16:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Sep 2009 14:39:44 +0000 (07:39 -0700)
commit568d0697f42771425ae9f1e9a3db769fef7e10b6
tree8f4d1178b88481e3d3daba3e049c700a3cef72e4
parent7869c0b9ed44404bbc675ef76f8ccb3be5496f39
spi: handle TX-only/RX-only

Support two new half-duplex SPI implementation restrictions, for links
that talk to TX-only or RX-only devices.  (Existing half-duplex flavors
support both transfer directions, just not at the same time.)

Move spi_async() into the spi.c core, and stop inlining it.  Then make
that function perform error checks and reject messages that demand more
than the underlying controller can support.

Based on a patch from Marek Szyprowski which did this only for the
bitbanged GPIO driver.

Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/spi/spi.c
include/linux/spi/spi.h