Refactoring SPI device driver support; allow multi-tasking.