Lines Matching defs:Self

69         release: Some(Self::release),
92 fops: &Self::GEM_FOPS,
98 pub fn new(dev: &device::Device, data: impl PinInit<T::Data, Error>) -> Result<ARef<Self>> {
101 let layout = Kmalloc::aligned_layout(Layout::new::<Self>());
106 let raw_drm: *mut Self = unsafe {
109 &Self::VTABLE,
111 mem::offset_of!(Self, dev),
117 // SAFETY: `raw_drm` is a valid pointer to `Self`.
124 // SAFETY: `raw_drm` is a valid pointer to `Self`, given that `__drm_dev_alloc` was
126 let drm_dev = unsafe { Self::into_drm_device(raw_drm) };
144 /// `ptr` must be a valid pointer to a `struct device` embedded in `Self`.
145 unsafe fn from_drm_device(ptr: *const bindings::drm_device) -> *mut Self {
147 // `struct drm_device` embedded in `Self`.
148 unsafe { crate::container_of!(Opaque::cast_from(ptr), Self, dev) }.cast_mut()
153 /// `ptr` must be a valid pointer to `Self`.
154 unsafe fn into_drm_device(ptr: NonNull<Self>) -> *mut bindings::drm_device {
155 // SAFETY: By the safety requirements of this function, `ptr` is a valid pointer to `Self`.
169 /// embedded in `Self`.
171 pub unsafe fn from_raw<'a>(ptr: *const bindings::drm_device) -> &'a Self {
173 // `struct drm_device` embedded in `Self`.
174 let ptr = unsafe { Self::from_drm_device(ptr) };
181 // SAFETY: `ptr` is a valid pointer to a `struct drm_device` and embedded in `Self`.
182 let this = unsafe { Self::from_drm_device(ptr) };
194 fn deref(&self) -> &Self::Target {
207 unsafe fn dec_ref(obj: NonNull<Self>) {
208 // SAFETY: `obj` is a valid pointer to `Self`.
209 let drm_dev = unsafe { Self::into_drm_device(obj) };