use crate::*; pub trait DeviceBus { fn read(&mut self, port: u8) -> u8; fn write(&mut self, port: u8, value: u8) -> Option; fn wake(&mut self) -> bool; } pub trait Device { fn read(&mut self, port: u8) -> u8; fn write(&mut self, port: u8, value: u8) -> Option; fn wake(&mut self) -> bool; } impl Device for () { fn read(&mut self, _: u8) -> u8 { 0 } fn write(&mut self, _: u8, _: u8) -> Option { None } fn wake(&mut self) -> bool { false } }