Files
osdev5/kernel/src/dev/mod.rs
T

29 lines
609 B
Rust

//! Module for device interfaces and drivers
use libsys::error::Errno;
// Device classes
pub mod fdt;
pub mod gpio;
pub mod irq;
pub mod pci;
pub mod rtc;
pub mod sd;
pub mod serial;
pub mod timer;
pub mod tty;
/// Generic device trait
pub trait Device {
/// Returns device type/driver name
fn name(&self) -> &'static str;
/// Performs device initialization logic.
///
/// # Safety
///
/// Marked unsafe as it may cause direct hardware-specific side-effects.
/// Additionally, may be called twice with undefined results.
unsafe fn enable(&self) -> Result<(), Errno>;
}