Lines Matching full:registration
62 //! # Driver Registration
67 //! This trait implementation can be used to create the actual registration with the common
68 //! [`Registration`] type.
71 //! creates a kernel module with exactly one [`Registration`] for the bus specific adapter.
111 /// The type that holds information about the registration. This is typically a struct defined
136 /// A [`Registration`] is a generic type that represents the registration of some driver type (e.g.
137 /// `bindings::pci_driver`). Therefore a [`Registration`] must be initialized with a type that
139 /// `T::unregister` calls result in the subsystem specific registration calls.
141 ///Once the `Registration` structure is dropped, the driver is unregistered.
143 pub struct Registration<T: RegistrationOps> { struct
148 // SAFETY: `Registration` has no fields or methods accessible via `&Registration`, so it is safe to argument
150 unsafe impl<T: RegistrationOps> Sync for Registration<T> {} implementation
152 // SAFETY: Both registration and unregistration are implemented in C and safe to be performed from
153 // any thread, so `Registration` is `Send`.
154 unsafe impl<T: RegistrationOps> Send for Registration<T> {} implementation
156 impl<T: RegistrationOps> Registration<T> { implementation
157 /// Creates a new instance of the registration object.
176 impl<T: RegistrationOps> PinnedDrop for Registration<T> { implementation
196 _driver: $crate::driver::Registration<Ops<$type>>,
204 _driver <- $crate::driver::Registration::new(