spi_mpc83xx: much improved driver
commitc9bfcb3151040cff6714542d1da04ccd7e2d3efc
authorJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
Mon, 12 May 2008 21:02:30 +0000 (12 14:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 May 2008 15:02:25 +0000 (13 08:02 -0700)
treee3df8626f2b60d9373f8dfe125927f31d8381e1b
parentf4ed0deae8983591264d0e194e168ef65f4775f5
spi_mpc83xx: much improved driver

The current driver may cause glitches on SPI CLK line since one must disable
the SPI controller before changing any HW settings.  Fix this by implementing
a local spi_transfer function that won't change speed and/or word size while
CS is active.

While doing that heavy lifting a few other issues were addressed too:
 - Make word size 16 and 32 work too.
 - Honor bits_per_word and speed_hz in spi transaction.
 - Optimize the common path.

This also stops using the "bitbang" framework (except for a few constants).

[Roel Kluin <12o3l@tiscali.nl>: "irq" needs to be signed]
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
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/Kconfig
drivers/spi/spi_mpc83xx.c