spi: kirkwood_spi.c: Some fixes and cleanup
authorStefan Roese <sr@denx.de>
Tue, 2 Sep 2014 12:02:51 +0000 (14:02 +0200)
committerJagannadha Sutradharudu Teki <jaganna@xilinx.com>
Wed, 24 Sep 2014 12:17:53 +0000 (17:47 +0530)
commitc032174f8218496a7768e4a27d1eb25b7e6f7a4d
tree9a3db3644e8990c18c7eefac7e4d721e5a953261
parent75f698e51c7e40048e4d96fdaaaebeaefc945538
spi: kirkwood_spi.c: Some fixes and cleanup

This patch introduces the clrsetbits_le32() accessor functions in the
kirkwood SPI driver. Note that it also includes a fix:

-  writel(~KWSPI_CSN_ACT | KWSPI_SMEMRDY, &spireg->ctrl);
+  writel(KWSPI_SMEMRDY, &spireg->ctrl);

Here the bit KWSPI_CSN_ACT (0x1) should have been cleared. Instead
0xfffffffe is written into this control register. This is the main
reason to use the clrsetbits() functions now. As they make clearing
bits much less error prone.

Additionally KWSPI_IRQUNMASK is not used in spi_cs_activate() and
spi_cs_deactivate() any more. Its the wrong macro but has the same
value as the correct one (KWSPI_CSN_ACT).

This is in preparation for use of this driver on the Marvell Armada XP
platform as well.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Tested-by: Luka Perkov <luka@openwrt.org>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
drivers/spi/kirkwood_spi.c