The multi-slave stuff is really a question / feature request for 3.0. I have a project that would need it but it should be doable by using pal instead.
Slave support is pretty much all I wanted to get working as it gives me a very convenient way of testing the driver. That's now done and ...
The current SPI driver model does not support a slave mode, that kind of enhancement is necessarily a non-standard extension. I think a separate slave SPI driver model should be created but this is a task for ChibiOS 3.0.
Actually the changes required to support slave mode on the AVR are really ...
The risk with pointers to registers is to increase the code size, each access would have to go through a pointer, loading a pointer requires several instructions.
That's a very good point, thanks. I did do a quick test though, and in this particular case it did not seem to make a difference ...
There is no rush. I'd like to get a few fundamental things right in the core though, because it will get harder to change that later. I was thinking about things like the best way of handling MCUs with multiple timers, serial ports, etc. without too much code duplication.