[PATCH 0/2] rust: usb: add initial USB abstractions
From: Daniel Almeida
Date: Mon Aug 25 2025 - 14:19:11 EST
This adds initial support for USB Rust drivers, not only because I see a
widespread use of module_usb_driver() in media (which is a subsystem I
aim to support) but also because I want to learn about USB in general
and this is a nice opportunity to start doing so.
I tried to keep things as consistent with pci.rs and platform.rs as
possible and tested it by manually binding a device (i.e.: my Logitech
mouse) to the sample driver via:
/sys/bus/usb/drivers/rust_driver_usb/new_id
This initial patch is therefore comprised of the same patterns that are
known to work for pci and platform already.
Physically disconnecting the device also worked, i.e.: nothing bad
showed up in dmesg.
Note that I did not touch MAINTAINERS at all. The objective is to
kickstart the discussion of what to do there here in v1.
---
Daniel Almeida (2):
rust: usb: add basic USB abstractions
samples: rust: add a USB driver sample
rust/bindings/bindings_helper.h | 1 +
rust/helpers/helpers.c | 1 +
rust/helpers/usb.c | 8 +
rust/kernel/lib.rs | 2 +
rust/kernel/usb.rs | 457 ++++++++++++++++++++++++++++++++++++++++
samples/rust/Kconfig | 11 +
samples/rust/Makefile | 1 +
samples/rust/rust_driver_usb.rs | 47 +++++
8 files changed, 528 insertions(+)
---
base-commit: 44d454fcffa8b08d6d66df132121c1d387fa85db
change-id: 20250825-b4-usb-dd0fe44fd78b
Best regards,
--
Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>