- apply the child's mode/speed
- implement suspend/resume support
- use RF_SHAREABLE interrupts
- use bus_delayed_attach_children since the transfer can use interrupts
- add support for newly added spibus features (cs_delay and flags)
Operation tested on Broadwell (Wildcat Point) MacBookPro12,1.
Attachment also tested on Kaby Lake (Sunrise Point) Pixelbook.
This is important because it's a prerequisite for supporting the input devices on modern Apple MacBooks.
(On the MacBookPro12,1, both USB and SPI are supported, but on other Broadwell-Skylake-Kaby Lake MacBooks, SPI is the *only* way to get keyboard and touchpad input. SPI is also used on "Apple Silicon" aarch64 MacBooks, so in the future when someone gets around to supporting that, my input driver would only have to gain FDT attachment. The generations between Kaby Lake and Apple Silicon — 2018-2020 "T2 chip" ones — are back to USB… except via a T2 virtual USB host controller really cursed thingy, if anyone wants to have some extra fun, go write a driver for that…)