mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
rust: device: add device name method
Add a name() method to the `Device` type, which returns a CStr that contains the device name. Signed-off-by: Timur Tabi <ttabi@nvidia.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Gary Guo <gary@garyguo.net> Tested-by: John Hubbard <jhubbard@nvidia.com> Tested-by: Eliot Courtney <ecourtney@nvidia.com> Link: https://patch.msgid.link/20260319212658.2541610-2-ttabi@nvidia.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
651c27d6a7
commit
d35ae50c5f
|
|
@ -25,3 +25,8 @@ __rust_helper void rust_helper_dev_set_drvdata(struct device *dev, void *data)
|
|||
{
|
||||
dev_set_drvdata(dev, data);
|
||||
}
|
||||
|
||||
__rust_helper const char *rust_helper_dev_name(const struct device *dev)
|
||||
{
|
||||
return dev_name(dev);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -489,6 +489,17 @@ pub fn fwnode(&self) -> Option<&property::FwNode> {
|
|||
// defined as a `#[repr(transparent)]` wrapper around `fwnode_handle`.
|
||||
Some(unsafe { &*fwnode_handle.cast() })
|
||||
}
|
||||
|
||||
/// Returns the name of the device.
|
||||
///
|
||||
/// This is the kobject name of the device, or its initial name if the kobject is not yet
|
||||
/// available.
|
||||
#[inline]
|
||||
pub fn name(&self) -> &CStr {
|
||||
// SAFETY: By its type invariant `self.as_raw()` is a valid pointer to a `struct device`.
|
||||
// The returned string is valid for the lifetime of the device.
|
||||
unsafe { CStr::from_char_ptr(bindings::dev_name(self.as_raw())) }
|
||||
}
|
||||
}
|
||||
|
||||
// SAFETY: `Device` is a transparent wrapper of a type that doesn't depend on `Device`'s generic
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user