spi: make IO* private