Lines Matching full:arc
16 sync::Arc,
99 pub struct Devres<T>(Arc<DevresInner<T>>);
102 fn new(dev: &Device, data: T, flags: Flags) -> Result<Arc<DevresInner<T>>> { in new()
103 let inner = Arc::pin_init( in new()
112 // Convert `Arc<DevresInner>` into a raw pointer and make devres own this reference until in new()
125 let _ = unsafe { Arc::from_raw(data) }; in new()
136 fn remove_action(this: &Arc<Self>) { in remove_action()
151 // SAFETY: We leaked an `Arc` reference to devm_add_action() in `DevresInner::new`; if in remove_action()
154 let _ = unsafe { Arc::from_raw(this.as_ptr()) }; in remove_action()
161 // Devres owned this memory; now that we received the callback, drop the `Arc` and hence the in devres_callback()
163 // SAFETY: Safe, since we leaked an `Arc` reference to devm_add_action() in in devres_callback()
165 let inner = unsafe { Arc::from_raw(ptr) }; in devres_callback()