xref: /DragonOS/kernel/src/driver/base/init.rs (revision fae6e9ade46a52976ad5d099643d51cc20876448)
1d8e29bffSR0ronoa use crate::driver::input::serio::serio_bus_init;
291e9d4abSLoGin use system_error::SystemError;
306d5e247SLoGin 
406d5e247SLoGin use super::{
506d5e247SLoGin     class::classes_init,
6*fae6e9adSlinfeng     cpu::CpuDeviceManager,
706d5e247SLoGin     device::{bus::buses_init, init::devices_init},
806d5e247SLoGin     firmware::firmware_init,
906d5e247SLoGin     hypervisor::hypervisor_init,
1006d5e247SLoGin     platform::platform_bus_init,
1106d5e247SLoGin };
1206d5e247SLoGin 
135b59005fSLoGin /// 初始化设备驱动模型
145b59005fSLoGin #[inline(never)]
driver_init() -> Result<(), SystemError>155b59005fSLoGin pub fn driver_init() -> Result<(), SystemError> {
1606d5e247SLoGin     devices_init()?;
1706d5e247SLoGin     buses_init()?;
1806d5e247SLoGin     classes_init()?;
1906d5e247SLoGin     firmware_init()?;
2006d5e247SLoGin     hypervisor_init()?;
2106d5e247SLoGin     platform_bus_init()?;
22d8e29bffSR0ronoa     serio_bus_init()?;
23*fae6e9adSlinfeng     CpuDeviceManager::init()?;
24c566df45SLoGin 
25a03c4f9dSLoGin     // 至此,已完成设备驱动模型的初始化
2691e9d4abSLoGin     return Ok(());
2791e9d4abSLoGin }
28