Group modules into `device/registry`

This commit is contained in:
Ruihan Li 2025-11-28 21:52:40 +08:00 committed by Tate, Hongliang Tian
parent be01eef352
commit 0b664a012e
10 changed files with 28 additions and 13 deletions

View File

@ -28,7 +28,7 @@ use file::{
use ostd::sync::SpinLock;
use spin::Once;
use super::char::{acquire_major, register, unregister, MajorIdOwner};
use super::registry::char::{acquire_major, register, unregister, MajorIdOwner};
use crate::{
fs::{
device::{Device, DeviceType},

View File

@ -9,7 +9,7 @@ use ostd::{
Pod,
};
use super::char;
use super::registry::char;
use crate::{
current_userspace,
events::IoEvents,

View File

@ -27,7 +27,7 @@ use file::MemFile;
pub use file::{getrandom, geturandom};
use spin::Once;
use super::char::{acquire_major, register, MajorIdOwner};
use super::registry::char::{acquire_major, register, MajorIdOwner};
use crate::{
fs::{
device::{Device, DeviceType},

View File

@ -7,7 +7,7 @@
use device_id::MajorId;
use spin::Once;
use super::char::{acquire_major, MajorIdOwner};
use super::registry::char::{acquire_major, MajorIdOwner};
#[cfg(all(target_arch = "x86_64", feature = "cvm_guest"))]
pub mod tdxguest;
@ -19,6 +19,6 @@ pub(super) fn init_in_first_kthread() {
#[cfg(target_arch = "x86_64")]
ostd::if_tdx_enabled!({
super::char::register(tdxguest::TdxGuest::new()).unwrap();
super::registry::char::register(tdxguest::TdxGuest::new()).unwrap();
});
}

View File

@ -1,12 +1,11 @@
// SPDX-License-Identifier: MPL-2.0
mod char;
mod disk;
mod evdev;
mod fb;
mod mem;
pub mod misc;
mod pty;
mod registry;
mod shm;
pub mod tty;
@ -20,7 +19,7 @@ use crate::{
};
pub fn init_in_first_kthread() {
disk::init_in_first_kthread();
registry::init_in_first_kthread();
mem::init_in_first_kthread();
misc::init_in_first_kthread();
evdev::init_in_first_kthread();
@ -39,8 +38,7 @@ pub fn init_in_first_process(ctx: &Context) -> Result<()> {
tty::init_in_first_process()?;
pty::init_in_first_process(&fs_resolver, ctx)?;
shm::init_in_first_process(&fs_resolver, ctx)?;
char::init_in_first_process(&fs_resolver)?;
disk::init_in_first_process(&fs_resolver)?;
registry::init_in_first_process(&fs_resolver)?;
Ok(())
}
@ -48,7 +46,7 @@ pub fn init_in_first_process(ctx: &Context) -> Result<()> {
/// Looks up a device according to the device ID.
pub fn get_device(devid: DeviceId) -> Result<Arc<dyn Device>> {
// TODO: Add support for looking up block devices.
char::lookup(devid).ok_or_else(|| {
registry::char::lookup(devid).ok_or_else(|| {
Error::with_message(Errno::EINVAL, "the device ID is invalid or unsupported")
})
}

View File

@ -0,0 +1,17 @@
// SPDX-License-Identifier: MPL-2.0
use crate::{fs::fs_resolver::FsResolver, prelude::*};
mod block;
pub(super) mod char;
pub(super) fn init_in_first_kthread() {
block::init_in_first_kthread();
}
pub(super) fn init_in_first_process(fs_resolver: &FsResolver) -> Result<()> {
char::init_in_first_process(fs_resolver)?;
block::init_in_first_process(fs_resolver)?;
Ok(())
}

View File

@ -12,7 +12,7 @@ use spin::Once;
use super::n_tty::tty1_device;
use crate::{
device::{
char,
registry::char,
tty::{
n_tty::{hvc0_device, VtDriver},
Tty,

View File

@ -10,7 +10,7 @@ use spin::Once;
use super::{Tty, TtyDriver};
use crate::{
device::char,
device::registry::char,
events::IoEvents,
fs::{
inode_handle::FileIo,