Home
last modified time | relevance | path

Searched refs:bus (Results 1 – 25 of 50) sorted by relevance

12

/DragonOS/kernel/src/driver/base/device/
H A Dbus.rs266 let bus = dev.bus().and_then(|bus| bus.upgrade()); in add_device() localVariable
267 if let Some(bus) = bus { in add_device()
268 device_manager().add_groups(dev, bus.dev_groups())?; in add_device()
271 let bus_devices_kset = bus in add_device()
284 &bus.subsystem().subsys().as_kobject(), in add_device()
287 bus.subsystem().add_device_to_vec(dev)?; in add_device()
296 let bus = driver in add_driver() localVariable
297 .bus() in add_driver()
298 .and_then(|bus| bus.upgrade()) in add_driver()
300 debug!("bus '{}' add driver '{}'", bus.name(), driver.name()); in add_driver()
[all …]
H A Ddd.rs20 bus::BusNotifyEvent,
91 let bus = dev in do_device_attach() localVariable
92 .bus() in do_device_attach()
93 .and_then(|bus| bus.upgrade()) in do_device_attach()
97 for driver in bus.subsystem().drivers().iter() { in do_device_attach()
152 if let Some(bus) = driver.bus().and_then(|bus| bus.upgrade()) { in do_device_attach_driver()
153 let r = bus.match_device(&data.dev, driver); in do_device_attach_driver()
211 } else if let Some(bus) = dev.bus().and_then(|bus| bus.upgrade()) { in device_bind_driver()
212 bus.subsystem().bus_notifier().call_chain( in device_bind_driver()
289 let bus = driver in driver_attach() localVariable
[all …]
H A Ddriver.rs2 bus::{bus_manager, Bus},
7 device::{bus::BusNotifyEvent, dd::DeviceAttrCoredump, device_manager},
97 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
101 fn set_bus(&self, bus: Option<Weak<dyn Bus>>); in set_bus()
120 pub bus: Option<Weak<dyn Bus>>, field
196 let bus = driver.bus().and_then(|bus| bus.upgrade()).ok_or_else(|| { in register() localVariable
205 let other = bus.find_driver_by_name(&drv_name); in register()
235 if let Some(bus) = dev.bus().and_then(|bus| bus.upgrade()) { in driver_sysfs_add()
236 bus.subsystem() in driver_sysfs_add()
H A Dmod.rs34 bus::{bus_add_device, bus_probe_device, Bus},
48 pub mod bus; module
158 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
167 fn set_bus(&self, bus: Option<Weak<dyn Bus>>); in set_bus()
220 pub bus: Option<Weak<dyn Bus>>, field
231 bus: None, in default()
246 driver_base_macros::get_weak_or_clear!(self.bus) in get_bus_weak_or_clear()
541 if let Some(bus) = device.bus().and_then(|bus| bus.upgrade()) { in add_device()
542 bus.subsystem().bus_notifier().call_chain( in add_device()
543 bus::BusNotifyEvent::AddDevice, in add_device()
[all …]
/DragonOS/docs/kernel/filesystem/
H A Dsysfs.md91 &emsp;&emsp;对于bus设备而言,需要调用bus_register,将bus注册进系统,并在sysfs中可视化。
94 /// @brief: 总线注册,将总线加入全局总线管理器中,并根据id table在sys/bus和sys/devices下生成文件夹
95 /// @parameter bus: Bus设备实体
97 pub fn bus_register<T: Bus>(bus: Arc<T>) -> Result<(), DeviceError> {
98 BUS_MANAGER.add_bus(bus.get_id_table(), bus.clone());
99 match sys_bus_register(&bus.get_id_table().to_name()) {
102 return device_register(bus);
109 &emsp;&emsp;通过bus_register源码可知,该函数不仅在sysfs/bus下生成总线文件夹,同时内部调用device_register,该函数将总线加入设备管理器中,同时在sys/…
/DragonOS/kernel/src/driver/base/
H A Dsubsys.rs21 bus::{Bus, BusNotifyEvent},
36 bus: SpinLock<Option<Weak<dyn Bus>>>, field
68 bus: Option<Weak<dyn Bus>>, in new()
77 bus: SpinLock::new(bus), in new()
96 pub fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
97 return self.bus.lock().clone(); in bus()
100 pub fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
101 *self.bus.lock() = bus; in set_bus()
206 fn bus(&self) -> Option<Weak<dyn Bus>>; in bus() method
207 fn set_bus(&self, bus: Option<Weak<dyn Bus>>); in set_bus()
H A Dcpu.rs19 bus::{subsystem_manager, Bus},
64 let bus = Arc::new(Self { in new() localVariable
67 bus.subsystem() in new()
68 .set_bus(Some(Arc::downgrade(&(bus.clone() as Arc<dyn Bus>)))); in new()
69 return bus; in new()
150 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
151 self.inner.write().device_common.bus = bus; in set_bus()
154 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
155 self.inner.read().device_common.bus.clone() in bus()
/DragonOS/kernel/src/driver/acpi/
H A Dbus.rs3 bus::{bus_manager, Bus},
53 let bus = Arc::new(Self { in new() localVariable
56 bus.subsystem() in new()
57 .set_bus(Some(Arc::downgrade(&(bus.clone() as Arc<dyn Bus>)))); in new()
58 return bus; in new()
/DragonOS/kernel/src/driver/input/serio/i8042/
H A Di8042_driver.rs10 device::{bus::Bus, driver::Driver, Device, IdTable},
41 bus: None, in new()
60 bus: Option<Weak<dyn Bus>>, field
125 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
126 self.inner.lock().bus = bus; in set_bus()
129 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
130 self.inner.lock().bus.clone() in bus()
H A Di8042_ports.rs11 device::{bus::Bus, driver::Driver, Device, DeviceCommonData, DeviceType, IdTable},
65 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
66 self.inner().device_common.bus.clone() in bus()
69 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
70 self.inner().device_common.bus = bus; in set_bus()
H A Di8042_device.rs10 bus::Bus, driver::Driver, Device, DeviceCommonData, DeviceState, DeviceType, IdTable,
69 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
70 self.inner().device_common.bus.clone() in bus()
73 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
74 self.inner().device_common.bus = bus; in set_bus()
/DragonOS/kernel/src/driver/input/serio/
H A Dsubsys.rs13 device::{bus::Bus, driver::Driver, Device},
35 let bus = Arc::new(Self { private }); in new() localVariable
36 bus.subsystem() in new()
37 .set_bus(Some(Arc::downgrade(&(bus.clone() as Arc<dyn Bus>)))); in new()
39 return bus; in new()
/DragonOS/kernel/src/driver/base/platform/
H A Dsubsys.rs15 device::{bus::Bus, driver::Driver, Device},
36 let bus = Arc::new(Self { private }); in new() localVariable
37 bus.subsystem() in new()
38 .set_bus(Some(Arc::downgrade(&(bus.clone() as Arc<dyn Bus>)))); in new()
40 return bus; in new()
H A Dplatform_device.rs11 bus::{Bus, BusState},
284 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
285 self.inner().device_common.bus.clone() in bus()
288 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
289 self.inner().device_common.bus = bus; in set_bus()
/DragonOS/kernel/src/driver/pci/test/
H A Dpt_driver.rs11 bus::Bus,
106 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
107 self.driver_data.write().bus = bus; in set_bus()
110 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
111 self.driver_data.read().bus.clone() in bus()
H A Dpt_device.rs13 device::{bus::Bus, driver::Driver, Device, DeviceCommonData, DeviceType, IdTable},
80 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
81 self.device_data.read().bus.clone() in bus()
114 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
115 self.device_data.write().bus = bus in set_bus()
/DragonOS/kernel/src/driver/serial/serial8250/
H A Dmod.rs18 bus::Bus, device_manager, device_number::DeviceNumber, driver::Driver, Device,
214 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
215 self.inner.read().device_common.bus.clone() in bus()
218 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
219 self.inner.write().device_common.bus = bus; in set_bus()
347 bus: Option<Weak<dyn Bus>>, field
358 bus: None, in new()
457 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
458 self.inner.read().bus.clone() in bus()
461 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
[all …]
/DragonOS/kernel/src/driver/pci/
H A Ddevice.rs10 bus::Bus, device_manager, driver::Driver, Device, DeviceCommonData, DeviceType, IdTable,
193 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
194 self.inner().device_common.bus.clone() in bus()
197 fn set_bus(&self, bus: Option<alloc::sync::Weak<dyn Bus>>) { in set_bus()
198 self.inner().device_common.bus = bus in set_bus()
H A Draw_device.rs11 device::{bus::Bus, driver::Driver, Device, DeviceCommonData, DeviceType, IdTable},
90 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
91 self.inner.read().device_common.bus.clone() in bus()
124 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
125 self.inner.write().device_common.bus = bus; in set_bus()
H A Dsubsys.rs12 bus::{bus_register, Bus},
38 pub(super) fn set_pci_bus(bus: Arc<PciBus>) { in set_pci_bus()
40 PCI_BUS = Some(bus); in set_pci_bus()
68 let bus = Arc::new(Self { private }); in new() localVariable
69 bus in new()
/DragonOS/kernel/src/arch/x86_64/pci/
H A Dpci.rs23 fn read_config_early(bus: u8, slot: u8, func: u8, offset: u8) -> u8 { in read_config_early()
28 | ((bus as u32) << 16) in read_config_early()
42 let address = ((bus_device_function.bus as u32) << 16) in read_config()
56 let address = ((bus_device_function.bus as u32) << 16) in write_config()
/DragonOS/kernel/src/driver/input/ps2_mouse/
H A Dps_mouse_driver.rs14 device::{bus::Bus, driver::Driver, Device, DeviceId, IdTable},
91 bus: None, in new()
122 bus: Option<Weak<dyn Bus>>, field
150 fn set_bus(&self, bus: Option<alloc::sync::Weak<dyn Bus>>) { in set_bus()
151 self.inner.lock().bus = bus; in set_bus()
154 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
155 self.inner.lock().bus.clone() in bus()
/DragonOS/kernel/src/driver/virtio/
H A Dsysfs.rs15 bus::{bus_manager, Bus},
53 let bus = Arc::new(Self { private }); in new() localVariable
54 bus.subsystem() in new()
55 .set_bus(Some(Arc::downgrade(&(bus.clone() as Arc<dyn Bus>)))); in new()
57 return bus; in new()
153 let bus = VirtIOBus::new(); in virtio_init() localVariable
155 VIRTIO_BUS = Some(bus.clone()); in virtio_init()
158 .register(bus) in virtio_init()
H A Dvirtio.rs4 use crate::driver::base::device::bus::Bus;
46 let bus = pci_bus() as Arc<dyn Bus>; in virtio_probe_pci() localVariable
48 let pci_raw_device = bus.find_device_by_name(name.as_str()); in virtio_probe_pci()
/DragonOS/kernel/src/driver/rtc/
H A Drtc_cmos.rs18 bus::Bus,
140 fn set_bus(&self, bus: Option<Weak<dyn Bus>>) { in set_bus()
141 self.inner().driver_common.bus = bus; in set_bus()
144 fn bus(&self) -> Option<Weak<dyn Bus>> { in bus() method
145 self.inner().driver_common.bus.clone() in bus()

12