These feature are required for an upcoming Apple MacBook topcase (HID over SPI) driver:
A delay after toggling CS is required to avoid anomalies like an extra junk byte in front of the message.
Keeping CS asserted is required to be able to read a status report after writing a command. (The device won't return the status if CS was deasserted.)
Sleep is not allowed in the interrupt context where the input driver runs its transactions. Most SPI drivers don't sleep, but intelspi did use `mtx_sleep` for waiting for an interrupt of its own.
Now polling will be the default behavior for intelspi, and an `ALLOW_SLEEP` flag allows the previous behavior as an opt-in.
---
For reference, OpenBSD doing the delay and keep:
https://github.com/openbsd/src/commit/fe92277574533ee44bdcd49cfe822a8841b6a825
---
TODO: add support blindly to all SPI controller drivers?