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 Apple input driver runs its transactions. Use a flag to tell the SPI driver to avoid mtx_sleep.
For reference, OpenBSD doing the delay and keep:
https://github.com/openbsd/src/commit/fe92277574533ee44bdcd49cfe822a8841b6a825
TODO: add support blindly to all SPI controller drivers?