设备驱动模型:完善platform bus相关内容。并注册串口到sysfs (#403)

* 完成初始化platform bus
* 删除旧的sysfs
* 把uart驱动移动到tty/serial文件夹下
* 完成将串口挂载到sysfs
* 修复vfs系统调用未能follow symlink的问题
* 修复shell未能正确获取pwd的问题
This commit is contained in:
LoGin
2023-10-20 22:11:33 +08:00
committed by GitHub
parent 06d5e24726
commit a03c4f9dee
61 changed files with 2904 additions and 1325 deletions

View File

@ -0,0 +1,23 @@
use alloc::sync::Arc;
use crate::{
driver::base::device::{driver::Driver, Device},
syscall::SystemError,
};
use super::AcpiManager;
impl AcpiManager {
/// 通过acpi来匹配驱动
///
/// 参考 https://opengrok.ringotek.cn/xref/linux-6.1.9/drivers/acpi/bus.c#949
pub fn driver_match_device(
&self,
_driver: &Arc<dyn Driver>,
_device: &Arc<dyn Device>,
) -> Result<bool, SystemError> {
// todo:
return Ok(false);
}
}

View File

@ -14,6 +14,7 @@ use crate::{
},
};
pub mod bus;
mod c_adapter;
pub mod glue;
pub mod old;
@ -22,6 +23,11 @@ extern crate acpi;
static mut __ACPI_TABLE: Option<acpi::AcpiTables<AcpiHandlerImpl>> = None;
#[inline(always)]
pub fn acpi_manager() -> &'static AcpiManager {
&AcpiManager
}
#[derive(Debug)]
pub struct AcpiManager;