> And drop passing is_spi argument to SDCardClass::init function. > "spi" property could be set while SD card is in IDLE state. It defaults to > "false".
Why? This isn't something that should be under user or board control. The SD card object is an implementation detail. It's something that's part of the host controller. i.e. ether an SD host controller or an SPI bus device. Do you have an example of why you would need to defer this decision? If you want to separate instantiation of the SD card from the controller (e.g. to implement sdio devices) then you need a SD bus, plus an sd card device. Something like we do for spi connected cards. Paul