fn len(&mut self) -> Result<usize, SpiError>
fn read(&mut self, address: usize, buf: &mut [u8]) -> Result<usize, SpiError>
fn erase(&mut self, address: usize) -> Result<(), SpiError>
fn write(&mut self, address: usize, buf: &[u8]) -> Result<usize, SpiError>