A misc device is generally the best place to start with your first Rust driver, so having abstractions for miscdevice in Rust will be important for our ability to teach Rust to kernel developers. I intend to add a sample driver using these abstractions, and I also intend to use it in Rust Binder to handle the case where binderfs is turned off. I know that the patchset is still a bit rough. It could use some work on the file position aspect. But I'm sending this out now to get feedback on the overall approach. This patchset depends on files [1] and vma [2]. Link: https://lore.kernel.org/all/20240915-alice-file-v10-0-88484f7a3dcf@xxxxxxxxxx/ [1] Link: https://lore.kernel.org/all/20240806-vma-v5-1-04018f05de2b@xxxxxxxxxx/ [2] Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx> --- Alice Ryhl (3): rust: types: add Opaque::try_ffi_init rust: file: add f_pos and set_f_pos rust: miscdevice: add abstraction for defining miscdevices rust/bindings/bindings_helper.h | 1 + rust/kernel/fs/file.rs | 20 ++ rust/kernel/lib.rs | 1 + rust/kernel/miscdevice.rs | 401 ++++++++++++++++++++++++++++++++++++++++ rust/kernel/types.rs | 16 ++ 5 files changed, 439 insertions(+) --- base-commit: a6266fcab443f4b6ae31016bd6c3872f8200d5e1 change-id: 20240926-b4-miscdevice-29a0fd8438b1 Best regards, -- Alice Ryhl <aliceryhl@xxxxxxxxxx>