mirror of
https://github.com/torvalds/linux.git
synced 2025-12-01 07:26:02 +07:00
rust: usb: keep usb::Device private for now
The USB abstractions target to support USB interface drivers. While internally the abstraction has to deal with the interface's parent USB device, there shouldn't be a need for users to deal with the parent USB device directly. Functions, such as for preparing and sending USB URBs, can be implemented for the usb::Interface structure directly. Whether this internal implementation has to deal with the parent USB device can remain transparent to USB interface drivers. Hence, keep the usb::Device structure private for now, in order to avoid confusion for users and to make it less likely to accidentally expose APIs with unnecessary indirections. Should we start supporting USB device drivers, or need it for any other reason we do not foresee yet, it should be trivial to make it public again. Signed-off-by: Danilo Krummrich <dakr@kernel.org> Link: https://lore.kernel.org/r/20250925190400.144699-2-dakr@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f12140f21a
commit
22d693e45d
@@ -386,7 +386,7 @@ unsafe impl Sync for Interface {}
|
||||
///
|
||||
/// [`struct usb_device`]: https://www.kernel.org/doc/html/latest/driver-api/usb/usb.html#c.usb_device
|
||||
#[repr(transparent)]
|
||||
pub struct Device<Ctx: device::DeviceContext = device::Normal>(
|
||||
struct Device<Ctx: device::DeviceContext = device::Normal>(
|
||||
Opaque<bindings::usb_device>,
|
||||
PhantomData<Ctx>,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user