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:
TODO: add support blindly to all SPI controller drivers?