Hi
Am 08.09.26 um 19:54 schrieb Klara Modin:
When the commit b67d2d039f64 ("drm/gem: Add callback for when handle
count goes to 0") added the handle_free callback, it did not update the
rust abstraction, which will cause a build failure when that is enabled.
Rather than just adding another None initializer, use
..pin_init::zeroed() to make all unlisted callbacks None, and remove the
existing None-initializations.
Fixes: b67d2d039f64 ("drm/gem: Add callback for when handle count goes to 0")
Reported-by: Thorsten Leemhuis <[email protected]>
Closes:
https://lore.kernel.org/all/[email protected]
Suggested-by: Gary Guo <[email protected]>
Signed-off-by: Klara Modin <[email protected]>
Please see my bug report at [1]. This patch fixes half of it. I still get
error[E0063]: missing field `handle_free` in initializer of
`drm_gem_object_funcs`
--> /home/tzimmermann/Projekte/linux/rust/kernel/drm/gem/shmem.rs:130:52
|
130 | const VTABLE: bindings::drm_gem_object_funcs =
bindings::drm_gem_object_funcs {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `handle_free`
error: aborting due to 1 previous error
[1]
https://lore.kernel.org/dri-devel/caniq72muw5d1doqdgpyjukouazai-im7j3v30wd4ktdznmm...@mail.gmail.com/T/#r8f10eefc91d3bbce58869433b8258882c2d19ff5
Best regards
Thomas
---
rust/kernel/drm/gem/mod.rs | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/rust/kernel/drm/gem/mod.rs b/rust/kernel/drm/gem/mod.rs
index 80d8f524f9d5..af8274134a71 100644
--- a/rust/kernel/drm/gem/mod.rs
+++ b/rust/kernel/drm/gem/mod.rs
@@ -266,18 +266,8 @@ impl<T: DriverObject, Ctx: DeviceContext> Object<T, Ctx> {
free: Some(Self::free_callback),
open: Some(open_callback::<T>),
close: Some(close_callback::<T>),
- print_info: None,
- export: None,
- pin: None,
- unpin: None,
- get_sg_table: None,
- vmap: None,
- vunmap: None,
- mmap: None,
- status: None,
vm_ops: core::ptr::null_mut(),
- evict: None,
- rss: None,
+ ..pin_init::zeroed()
};
/// Returns the `Device` that owns this GEM object.
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, (HRB 36809, AG Nürnberg)