Lines Matching refs:Arc

4     sync::{Arc, Weak},
63 pub static ref CHARDEVS: Arc<LockedDevsMap> = Arc::new(LockedDevsMap::default());
66 pub static ref BLOCKDEVS: Arc<LockedDevsMap> = Arc::new(LockedDevsMap::default());
69 pub static ref DEVMAP: Arc<LockedKObjMap> = Arc::new(LockedKObjMap::default());
74 static mut DEVICES_KSET_INSTANCE: Option<Arc<KSet>> = None;
76 static mut DEV_KSET_INSTANCE: Option<Arc<KSet>> = None;
78 static mut DEV_BLOCK_KSET_INSTANCE: Option<Arc<KSet>> = None;
80 static mut DEV_CHAR_KSET_INSTANCE: Option<Arc<KSet>> = None;
83 static mut DEVICES_VIRTUAL_KSET_INSTANCE: Option<Arc<KSet>> = None;
87 pub fn sys_devices_kset() -> Arc<KSet> { in sys_devices_kset()
93 pub(super) fn sys_dev_kset() -> Arc<KSet> { in sys_dev_kset()
100 pub fn sys_dev_block_kset() -> Arc<KSet> { in sys_dev_block_kset()
106 pub fn sys_dev_char_kset() -> Arc<KSet> { in sys_dev_char_kset()
110 unsafe fn set_sys_dev_block_kset(kset: Arc<KSet>) { in set_sys_dev_block_kset()
114 unsafe fn set_sys_dev_char_kset(kset: Arc<KSet>) { in set_sys_dev_char_kset()
119 pub fn sys_devices_virtual_kset() -> Arc<KSet> { in sys_devices_virtual_kset()
123 unsafe fn set_sys_devices_virtual_kset(kset: Arc<KSet>) { in set_sys_devices_virtual_kset()
170 fn class(&self) -> Option<Arc<dyn Class>> { in class()
180 fn driver(&self) -> Option<Arc<dyn Driver>>; in driver()
420 fn release(&self, kobj: Arc<dyn KObject>) { in release()
452 kobj: Arc<dyn KObject>, in store()
461 kobj: Arc<dyn KObject>, in show()
482 pub fn register(&self, device: Arc<dyn Device>) -> Result<(), SystemError> { in register()
497 pub fn add_device(&self, device: Arc<dyn Device>) -> Result<(), SystemError> { in add_device()
518 device.set_parent(Some(Arc::downgrade(&kobject_parent))); in add_device()
521 KObjectManager::add_kobj(device.clone() as Arc<dyn KObject>, None).map_err(|e| { in add_device()
569 class: Arc<dyn Class>, in class_dir_create_and_add()
570 kobject_parent: Arc<dyn KObject>, in class_dir_create_and_add()
571 ) -> Arc<dyn KObject> { in class_dir_create_and_add()
582 let class_dir: Arc<ClassDir> = ClassDir::new(); in class_dir_create_and_add()
586 class_dir.set_parent(Some(Arc::downgrade(&kobject_parent))); in class_dir_create_and_add()
588 KObjectManager::add_kobj(class_dir.clone() as Arc<dyn KObject>, None) in class_dir_create_and_add()
610 device: &Arc<dyn Device>, in get_device_parent()
611 device_parent: Option<Arc<dyn Device>>, in get_device_parent()
612 ) -> Result<Option<Arc<dyn KObject>>, SystemError> { in get_device_parent()
615 let kobject_parent: Arc<dyn KObject>; in get_device_parent()
618 return Ok(Some(dp.clone() as Arc<dyn KObject>)); in get_device_parent()
620 kobject_parent = dp.clone() as Arc<dyn KObject>; in get_device_parent()
623 kobject_parent = sys_devices_virtual_kset() as Arc<dyn KObject>; in get_device_parent()
638 return Ok(Some(root as Arc<dyn KObject>)); in get_device_parent()
644 return Ok(Some(device_parent as Arc<dyn KObject>)); in get_device_parent()
663 pub fn remove(&self, _dev: &Arc<dyn Device>) { in remove()
672 pub fn find_device_by_idtable(&self, _id_table: &IdTable) -> Option<Arc<dyn Device>> { in find_device_by_idtable()
676 fn device_platform_notify(&self, dev: &Arc<dyn Device>) { in device_platform_notify()
682 fn add_class_symlinks(&self, dev: &Arc<dyn Device>) -> Result<(), SystemError> { in add_class_symlinks()
690 let err_remove_device = |dev_kobj: &Arc<dyn KObject>| { in add_class_symlinks()
694 let err_remove_subsystem = |dev_kobj: &Arc<dyn KObject>| { in add_class_symlinks()
699 let dev_kobj = dev.clone() as Arc<dyn KObject>; in add_class_symlinks()
700 let subsys_kobj = class.subsystem().subsys() as Arc<dyn KObject>; in add_class_symlinks()
704 let parent_kobj = dev_parent.clone() as Arc<dyn KObject>; in add_class_symlinks()
727 fn add_attrs(&self, dev: &Arc<dyn Device>) -> Result<(), SystemError> { in add_attrs()
729 let err_remove_class_groups = |dev: &Arc<dyn Device>| { in add_attrs()
736 let err_remove_kobj_type_groups = |dev: &Arc<dyn Device>| { in add_attrs()
777 dev: &Arc<dyn Device>, in add_groups()
780 let kobj = dev.clone() as Arc<dyn KObject>; in add_groups()
792 dev: &Arc<dyn Device>, in remove_groups()
795 let kobj = dev.clone() as Arc<dyn KObject>; in remove_groups()
807 dev: &Arc<dyn Device>, in create_file()
829 let kobj = dev.clone() as Arc<dyn KObject>; in create_file()
835 fn create_sys_dev_entry(&self, dev: &Arc<dyn Device>) -> Result<(), SystemError> { in create_sys_dev_entry()
838 let current_kobj = dev.clone() as Arc<dyn KObject>; in create_sys_dev_entry()
844 fn remove_sys_dev_entry(&self, dev: &Arc<dyn Device>) { in remove_sys_dev_entry()
857 fn device_to_dev_kobj(&self, _dev: &Arc<dyn Device>) -> Arc<dyn KObject> { in device_to_dev_kobj()
864 pub fn device_links_force_bind(&self, _dev: &Arc<dyn Device>) { in device_links_force_bind()
871 pub fn device_default_initialize(&self, dev: &Arc<dyn Device>) { in device_default_initialize()
880 _driver: &Arc<dyn Driver>, in device_driver_attach()
881 _dev: &Arc<dyn Device>, in device_driver_attach()
887 pub fn device_driver_detach(&self, _dev: &Arc<dyn Device>) { in device_driver_detach()
895 pub fn device_register<T: Device>(device: Arc<T>) -> Result<(), SystemError> { in device_register()
902 pub fn device_unregister<T: Device>(_device: Arc<T>) { in device_unregister()
928 fn show(&self, kobj: Arc<dyn KObject>, buf: &mut [u8]) -> Result<usize, SystemError> { in show()
961 fn match_device(&self, device: &Arc<dyn Device>, data: T) -> bool; in match_device()
970 fn match_device(&self, device: &Arc<dyn Device>, data: &str) -> bool { in match_device()
984 pub fn new(data: Option<&'static str>, allocated: Option<String>) -> Option<Arc<Self>> { in new()
994 return Some(Arc::new(Self { data, allocated })); in new()
1030 …static ref CLASS_DIR_KSET_INSTANCE: RwLock<BTreeMap<String, Arc<ClassDir>>> = RwLock::new(BTreeMap…
1045 fn new() -> Arc<Self> { in new()
1046 return Arc::new(Self { in new()
1065 fn set_inode(&self, inode: Option<Arc<KernFSInode>>) { in set_inode()
1069 fn inode(&self) -> Option<Arc<KernFSInode>> { in inode()
1081 fn kset(&self) -> Option<Arc<KSet>> { in kset()
1085 fn set_kset(&self, kset: Option<Arc<KSet>>) { in set_kset()