diff --git a/rust/kernel/drm/kms/encoder.rs b/rust/kernel/drm/kms/encoder.rs index 4cb0c8f39df0bfb1bb79894033f7773adb0c301a..2b966d70aec56ebd7cbabfae6121a8a51d8b3e30 100644 --- a/rust/kernel/drm/kms/encoder.rs +++ b/rust/kernel/drm/kms/encoder.rs @@ -245,6 +245,8 @@ impl<T: DriverEncoder> Encoder<T> { // SAFETY: We don't move anything Ok(unsafe { &*KBox::into_raw(Pin::into_inner_unchecked(this)) }) } + + super::impl_from_opaque_mode_obj!(Encoder, DriverEncoder, encoder, OpaqueEncoder); } /// A [`struct drm_encoder`] without a known [`DriverEncoder`] implementation. @@ -253,8 +255,6 @@ impl<T: DriverEncoder> Encoder<T> { /// for a [`struct drm_encoder`] automatically. It is identical to [`Encoder`], except that it does not /// provide access to the driver's private data. /// -/// TODO: Add functions for upcasting. -/// /// # Invariants /// /// Same as [`Encoder`].