OSDN Git Service

spi/bcm63xx: convert to the pump message infrastructure
authorFlorian Fainelli <florian@openwrt.org>
Fri, 20 Apr 2012 13:37:33 +0000 (15:37 +0200)
committerGrant Likely <grant.likely@secretlab.ca>
Fri, 27 Apr 2012 17:15:41 +0000 (11:15 -0600)
commitcde4384e1037c15e5dd04c68d19c75798b6281dd
treed3b9865bdb5d064c9f047310acd6588091f6d8cd
parentd4b9b578cba7231c1fbafbe901a2e8f38654e056
spi/bcm63xx: convert to the pump message infrastructure

This patch converts the bcm63xx SPI driver to use the SPI infrastructure
pump message queue. Since we were previously sleeping in the SPI
driver's transfer() function (which is not allowed) this is now fixed as well.

To complete that conversion a certain number of changes have been made:
- the transfer len is split into multiple hardware transfers in case its
  size is bigger than the hardware FIFO size
- the FIFO refill is no longer done in the interrupt context, which was a
  bad idea leading to quick interrupt handler re-entrancy

Tested-by: Tanguy Bouzeloc <tanguy.bouzeloc@efixo.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/spi/spi-bcm63xx.c