Struct kernel::driver::Registration
source · pub struct Registration<T: RegistrationOps> { /* private fields */ }Expand description
A Registration is a generic type that represents the registration of some driver type (e.g.
bindings::pci_driver). Therefore a Registration must be initialized with a type that
implements the RegistrationOps trait, such that the generic T::register and
T::unregister calls result in the subsystem specific registration calls.
Once the Registration structure is dropped, the driver is unregistered.
Implementations§
source§impl<T: RegistrationOps> Registration<T>
impl<T: RegistrationOps> Registration<T>
sourcepub fn project<'__pin>(
self: Pin<&'__pin mut Self>
) -> RegistrationProjection<'__pin, T>
pub fn project<'__pin>( self: Pin<&'__pin mut Self> ) -> RegistrationProjection<'__pin, T>
Pin-projects all fields of Self.
These fields are structurally pinned:
reg
These fields are not structurally pinned:
source§impl<T: RegistrationOps> Registration<T>
impl<T: RegistrationOps> Registration<T>
Trait Implementations§
source§impl<T: RegistrationOps> Drop for Registration<T>
impl<T: RegistrationOps> Drop for Registration<T>
source§impl<T: RegistrationOps> HasPinData for Registration<T>
impl<T: RegistrationOps> HasPinData for Registration<T>
type PinData = __ThePinData<T>
unsafe fn __pin_data() -> Self::PinData
source§impl<T: RegistrationOps> PinnedDrop for Registration<T>
impl<T: RegistrationOps> PinnedDrop for Registration<T>
impl<T: RegistrationOps> Send for Registration<T>
impl<T: RegistrationOps> Sync for Registration<T>
Auto Trait Implementations§
impl<T> !Freeze for Registration<T>
impl<T> !RefUnwindSafe for Registration<T>
impl<T> UnwindSafe for Registration<T>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> PinInit<T> for T
impl<T> PinInit<T> for T
source§unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
Initializes
slot. Read more