diff --git a/drivers/gpu/drm/rvkms/rvkms.rs b/drivers/gpu/drm/rvkms/rvkms.rs
index 37addfd689f18a6adecea5fdcd37ce7026ab99a0..7ec9a16cdeb0a17930980c72437cd63860297320 100644
--- a/drivers/gpu/drm/rvkms/rvkms.rs
+++ b/drivers/gpu/drm/rvkms/rvkms.rs
@@ -18,7 +18,7 @@ use kernel::{
         self,
         drv,
         kms::{
-            Kms,
+            KmsDriver,
             ModeConfigInfo,
             UnregisteredKmsDevice,
             atomic::*,
@@ -72,26 +72,31 @@ impl drv::Driver for RvkmsDriver {
 }
 
 #[vtable]
-impl Kms for RvkmsDriver {
-    type Driver = Self;
+impl KmsDriver for RvkmsDriver {
     type Fbdev = FbdevShmem<Self>;
 
     fn mode_config_info(
         _dev: &device::Device,
-        _drm_data: <<Self::Driver as drv::Driver>::Data as kernel::types::ForeignOwnable>::Borrowed<'_>,
+        _drm_data: <Self::Data as kernel::types::ForeignOwnable>::Borrowed<'_>,
     ) -> Result<ModeConfigInfo> {
         Ok(MODE_CONFIG_INFO)
     }
 
-    fn create_objects(drm: &UnregisteredKmsDevice<'_, Self::Driver>) -> Result {
+    fn create_objects(drm: &UnregisteredKmsDevice<'_, Self>) -> Result
+    where
+        Self: Sized
+    {
         output::create_output(drm, 0)
     }
 
     fn atomic_commit_tail<'a>(
-        mut state: AtomicCommitTail<'a, Self::Driver>,
+        mut state: AtomicCommitTail<'a, Self>,
         modeset_token: ModesetsReadyToken<'_>,
         plane_update_token: PlaneUpdatesReadyToken<'_>,
-    ) -> CommittedAtomicState<'a, Self::Driver> {
+    ) -> CommittedAtomicState<'a, Self>
+    where
+        Self: Sized
+    {
         let modeset_token = state.commit_modeset_disables(modeset_token);
 
         let plane_update_token = state.commit_planes(plane_update_token, Default::default());