The flags argument to drm_dev_register() is only passed to the deprecated .load() callback. Rust DRM drivers always set this callback to NULL, so the argument has no effect.
Remove the argument from drm::Registration::new(), pass zero to drm_dev_register(), and update the Nova and Tyr callers. Signed-off-by: Danilo Krummrich <[email protected]> --- drivers/gpu/drm/nova/driver.rs | 2 +- drivers/gpu/drm/tyr/driver.rs | 1 - rust/kernel/drm/driver.rs | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nova/driver.rs b/drivers/gpu/drm/nova/driver.rs index 50537efe8d94..5fe98f646082 100644 --- a/drivers/gpu/drm/nova/driver.rs +++ b/drivers/gpu/drm/nova/driver.rs @@ -79,7 +79,7 @@ fn probe<'bound>( // SAFETY: `reg` is stored in `Self::Data` and dropped when the driver is unbound; // it is never forgotten. - unsafe { drm::Registration::new(adev.as_ref(), drm, reg_data, 0) } + unsafe { drm::Registration::new(adev.as_ref(), drm, reg_data) } }, drm: reg.device().into(), }) diff --git a/drivers/gpu/drm/tyr/driver.rs b/drivers/gpu/drm/tyr/driver.rs index 6e1008290b5f..c2b99d67369f 100644 --- a/drivers/gpu/drm/tyr/driver.rs +++ b/drivers/gpu/drm/tyr/driver.rs @@ -183,7 +183,6 @@ fn probe<'bound>( iomem, gpu_info, }), - 0, )}, _: { dev_dbg!(pdev, "Tyr initialized correctly.") }, })) diff --git a/rust/kernel/drm/driver.rs b/rust/kernel/drm/driver.rs index 13aa609350b1..f6db91e81e79 100644 --- a/rust/kernel/drm/driver.rs +++ b/rust/kernel/drm/driver.rs @@ -169,7 +169,6 @@ pub unsafe fn new<E>( dev: &'a device::Device<device::Bound>, drm: drm::UnregisteredDevice<T>, data: impl PinInit<T::RegistrationData<'a>, E>, - flags: usize, ) -> impl PinInit<Self, Error> where Error: From<E>, @@ -196,7 +195,7 @@ pub unsafe fn new<E>( unsafe { *drm.registration_data.get() = ptr }; // SAFETY: `drm` is a valid, initialized but not yet registered DRM device. - let ret = unsafe { bindings::drm_dev_register(drm.as_raw(), flags) }; + let ret = unsafe { bindings::drm_dev_register(drm.as_raw(), 0) }; to_result(ret).inspect_err(|_| { // SAFETY: `drm_dev_register()` synchronizes SRCU on failure, so no // concurrent access to `registration_data` is possible at this point. -- 2.55.0
