pub trait DeviceDriver: Send + Sync {
// Required methods
fn name(&self) -> &'static str;
fn match_table(&self) -> Vec<&'static str>;
fn probe(&self, device: &dyn DeviceInfo) -> Result<(), &'static str>;
fn remove(&self, device: &dyn DeviceInfo) -> Result<(), &'static str>;
}Expand description
Device driver trait.
This trait defines the interface for device drivers in the kernel. It includes methods for getting the driver’s name, matching the driver to devices, and handling device probing and removal.
All device drivers must be Send + Sync to be stored in global DeviceManager.