I believe in general for input drivers the Haiku architecture could be improved to pull out some of the HID stuff which is common between protocols. Though for now to get SPI going you may just want to cut and paste from the USB driver. Though that may be copy number three at least with USB and I2C I think. I don’t know about Bluetooth as it might not be far enough along but eventually it would also need this.
There is some mention of this in the I2C thread here: Using new driver API - #78 by PulkoMandy
You may find the whole thread interesting, there is also some discussion of the new driver model.