Skip to main content

BusDriver

Trait BusDriver 

Source
pub trait BusDriver: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn compatible(&self) -> &[&str];
    fn init(&mut self, base: usize) -> Result<(), BusError>;
    fn shutdown(&mut self) -> Result<(), BusError>;
    fn read_reg(&self, offset: usize) -> Result<u32, BusError>;
    fn write_reg(&mut self, offset: usize, value: u32) -> Result<(), BusError>;

    // Provided methods
    fn suspend(&mut self) -> Result<(), BusError> { ... }
    fn resume(&mut self) -> Result<(), BusError> { ... }
    fn error_count(&self) -> u64 { ... }
    fn children(&self) -> Vec<BusChild> { ... }
    fn handle_irq(&mut self) -> bool { ... }
}

Required Methods§

Source

fn name(&self) -> &str

Performs the name operation.

Source

fn compatible(&self) -> &[&str]

Performs the compatible operation.

Source

fn init(&mut self, base: usize) -> Result<(), BusError>

Performs the init operation.

Source

fn shutdown(&mut self) -> Result<(), BusError>

Performs the shutdown operation.

Source

fn read_reg(&self, offset: usize) -> Result<u32, BusError>

Reads reg.

Source

fn write_reg(&mut self, offset: usize, value: u32) -> Result<(), BusError>

Writes reg.

Provided Methods§

Source

fn suspend(&mut self) -> Result<(), BusError>

Performs the suspend operation.

Source

fn resume(&mut self) -> Result<(), BusError>

Performs the resume operation.

Source

fn error_count(&self) -> u64

Performs the error count operation.

Source

fn children(&self) -> Vec<BusChild>

Performs the children operation.

Source

fn handle_irq(&mut self) -> bool

Handles irq.

Implementors§