From 1bef7abb69a1d82092ac4d0e3b5b9b33b5d1fd4e Mon Sep 17 00:00:00 2001 From: Lyude Paul <lyude@redhat.com> Date: Mon, 25 Nov 2024 18:47:51 -0500 Subject: [PATCH] fixup! rust: drm/kms: Add bindings for drm_encoder --- rust/kernel/drm/kms/encoder.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/rust/kernel/drm/kms/encoder.rs b/rust/kernel/drm/kms/encoder.rs index 71fae45d2d651..ec4379f6ff10f 100644 --- a/rust/kernel/drm/kms/encoder.rs +++ b/rust/kernel/drm/kms/encoder.rs @@ -3,6 +3,7 @@ //! drm_encoder abstractions for rust use crate::{ + alloc::KBox, drm::{ device::Device, drv::Driver, @@ -204,7 +205,7 @@ impl<T: DriverEncoder> Encoder<T> { name: Option<&CStr>, args: T::Args, ) -> Result<&'b Self> { - let this: Pin<Box<Self>> = Box::try_pin_init( + let this: Pin<KBox<Self>> = KBox::try_pin_init( try_pin_init!(Self { encoder: Opaque::new(bindings::drm_encoder { helper_private: &T::OPS.helper_funcs, @@ -231,7 +232,7 @@ impl<T: DriverEncoder> Encoder<T> { // Convert the box into a raw pointer, we'll re-assemble it in encoder_destroy_callback() // SAFETY: We don't move anything - Ok(unsafe { &*Box::into_raw(Pin::into_inner_unchecked(this)) }) + Ok(unsafe { &*KBox::into_raw(Pin::into_inner_unchecked(this)) }) } } @@ -299,5 +300,5 @@ unsafe extern "C" fn encoder_destroy_callback<T: DriverEncoder>( // SAFETY: // - DRM guarantees we are now the only one with access to this [`drm_encoder`]. // - This cast is safe via `DriverEncoder`s type invariants. - unsafe { drop(Box::from_raw(encoder as *mut Encoder<T>)) }; + unsafe { drop(KBox::from_raw(encoder as *mut Encoder<T>)) }; } -- GitLab