[PATCH v2 07/19] rust: device: replace `kernel::c_str!` with C-Strings

From: Tamir Duberstein
Date: Wed Aug 13 2025 - 12:10:58 EST


C-String literals were added in Rust 1.77. Replace instances of
`kernel::c_str!` with C-String literals where possible.

Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Reviewed-by: Benno Lossin <lossin@xxxxxxxxxx>
Acked-by: Danilo Krummrich <dakr@xxxxxxxxxx>
Signed-off-by: Tamir Duberstein <tamird@xxxxxxxxx>
---
rust/kernel/device.rs | 4 +---
rust/kernel/device/property.rs | 6 +++---
2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/rust/kernel/device.rs b/rust/kernel/device.rs
index 449776474044..ba83cf3624fd 100644
--- a/rust/kernel/device.rs
+++ b/rust/kernel/device.rs
@@ -10,8 +10,6 @@
};
use core::{marker::PhantomData, ptr};

-#[cfg(CONFIG_PRINTK)]
-use crate::c_str;
use crate::str::CStrExt as _;

pub mod property;
@@ -265,7 +263,7 @@ unsafe fn printk(&self, klevel: &[u8], msg: fmt::Arguments<'_>) {
bindings::_dev_printk(
klevel.as_ptr().cast::<crate::ffi::c_char>(),
self.as_raw(),
- c_str!("%pA").as_char_ptr(),
+ c"%pA".as_char_ptr(),
core::ptr::from_ref(&msg).cast::<crate::ffi::c_void>(),
)
};
diff --git a/rust/kernel/device/property.rs b/rust/kernel/device/property.rs
index 3a332a8c53a9..3eb3f36d66d0 100644
--- a/rust/kernel/device/property.rs
+++ b/rust/kernel/device/property.rs
@@ -178,11 +178,11 @@ pub fn property_count_elem<T: PropertyInt>(&self, name: &CStr) -> Result<usize>
/// # Examples
///
/// ```
- /// # use kernel::{c_str, device::{Device, property::FwNode}, str::CString};
+ /// # use kernel::{device::{Device, property::FwNode}, str::CString};
/// fn examples(dev: &Device) -> Result {
/// let fwnode = dev.fwnode().ok_or(ENOENT)?;
- /// let b: u32 = fwnode.property_read(c_str!("some-number")).required_by(dev)?;
- /// if let Some(s) = fwnode.property_read::<CString>(c_str!("some-str")).optional() {
+ /// let b: u32 = fwnode.property_read(c"some-number").required_by(dev)?;
+ /// if let Some(s) = fwnode.property_read::<CString>(c"some-str").optional() {
/// // ...
/// }
/// Ok(())

--
2.50.1