* [PATCH 01/17] drivers: net: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 02/17] gpu: nova-core: " Tamir Duberstein
` (17 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
drivers/net/phy/ax88796b_rust.rs | 7 +++----
drivers/net/phy/qt2025.rs | 5 ++---
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/net/phy/ax88796b_rust.rs b/drivers/net/phy/ax88796b_rust.rs
index bc73ebccc2aa..2d24628a4e58 100644
--- a/drivers/net/phy/ax88796b_rust.rs
+++ b/drivers/net/phy/ax88796b_rust.rs
@@ -5,7 +5,6 @@
//!
//! C version of this driver: [`drivers/net/phy/ax88796b.c`](./ax88796b.c)
use kernel::{
- c_str,
net::phy::{self, reg::C22, DeviceId, Driver},
prelude::*,
uapi,
@@ -41,7 +40,7 @@ fn asix_soft_reset(dev: &mut phy::Device) -> Result {
#[vtable]
impl Driver for PhyAX88772A {
const FLAGS: u32 = phy::flags::IS_INTERNAL;
- const NAME: &'static CStr = c_str!("Asix Electronics AX88772A");
+ const NAME: &'static CStr = c"Asix Electronics AX88772A";
const PHY_DEVICE_ID: DeviceId = DeviceId::new_with_exact_mask(0x003b1861);
// AX88772A is not working properly with some old switches (NETGEAR EN 108TP):
@@ -105,7 +104,7 @@ fn link_change_notify(dev: &mut phy::Device) {
#[vtable]
impl Driver for PhyAX88772C {
const FLAGS: u32 = phy::flags::IS_INTERNAL;
- const NAME: &'static CStr = c_str!("Asix Electronics AX88772C");
+ const NAME: &'static CStr = c"Asix Electronics AX88772C";
const PHY_DEVICE_ID: DeviceId = DeviceId::new_with_exact_mask(0x003b1881);
fn suspend(dev: &mut phy::Device) -> Result {
@@ -125,7 +124,7 @@ fn soft_reset(dev: &mut phy::Device) -> Result {
#[vtable]
impl Driver for PhyAX88796B {
- const NAME: &'static CStr = c_str!("Asix Electronics AX88796B");
+ const NAME: &'static CStr = c"Asix Electronics AX88796B";
const PHY_DEVICE_ID: DeviceId = DeviceId::new_with_model_mask(0x003b1841);
fn soft_reset(dev: &mut phy::Device) -> Result {
diff --git a/drivers/net/phy/qt2025.rs b/drivers/net/phy/qt2025.rs
index 0b9400dcb4c1..9ccc75f70219 100644
--- a/drivers/net/phy/qt2025.rs
+++ b/drivers/net/phy/qt2025.rs
@@ -9,7 +9,6 @@
//!
//! The QT2025 PHY integrates an Intel 8051 micro-controller.
-use kernel::c_str;
use kernel::error::code;
use kernel::firmware::Firmware;
use kernel::net::phy::{
@@ -36,7 +35,7 @@
#[vtable]
impl Driver for PhyQT2025 {
- const NAME: &'static CStr = c_str!("QT2025 10Gpbs SFP+");
+ const NAME: &'static CStr = c"QT2025 10Gpbs SFP+";
const PHY_DEVICE_ID: phy::DeviceId = phy::DeviceId::new_with_exact_mask(0x0043a400);
fn probe(dev: &mut phy::Device) -> Result<()> {
@@ -69,7 +68,7 @@ fn probe(dev: &mut phy::Device) -> Result<()> {
// The micro-controller will start running from the boot ROM.
dev.write(C45::new(Mmd::PCS, 0xe854), 0x00c0)?;
- let fw = Firmware::request(c_str!("qt2025-2.0.3.3.fw"), dev.as_ref())?;
+ let fw = Firmware::request(c"qt2025-2.0.3.3.fw", dev.as_ref())?;
if fw.data().len() > SZ_16K + SZ_8K {
return Err(code::EFBIG);
}
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 02/17] gpu: nova-core: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
2025-07-10 15:31 ` [PATCH 01/17] drivers: net: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 03/17] rust: auxiliary: " Tamir Duberstein
` (16 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
drivers/gpu/drm/nova/driver.rs | 10 +++++-----
drivers/gpu/nova-core/driver.rs | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/nova/driver.rs b/drivers/gpu/drm/nova/driver.rs
index b28b2e05cc15..87480ee8dbae 100644
--- a/drivers/gpu/drm/nova/driver.rs
+++ b/drivers/gpu/drm/nova/driver.rs
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
-use kernel::{auxiliary, c_str, device::Core, drm, drm::gem, drm::ioctl, prelude::*, types::ARef};
+use kernel::{auxiliary, device::Core, drm, drm::gem, drm::ioctl, prelude::*, types::ARef};
use crate::file::File;
use crate::gem::NovaObject;
@@ -22,12 +22,12 @@ pub(crate) struct NovaData {
major: 0,
minor: 0,
patchlevel: 0,
- name: c_str!("nova"),
- desc: c_str!("Nvidia Graphics"),
+ name: c"nova",
+ desc: c"Nvidia Graphics",
};
-const NOVA_CORE_MODULE_NAME: &CStr = c_str!("NovaCore");
-const AUXILIARY_NAME: &CStr = c_str!("nova-drm");
+const NOVA_CORE_MODULE_NAME: &CStr = c"NovaCore";
+const AUXILIARY_NAME: &CStr = c"nova-drm";
kernel::auxiliary_device_table!(
AUX_TABLE,
diff --git a/drivers/gpu/nova-core/driver.rs b/drivers/gpu/nova-core/driver.rs
index a0e435dc4656..16cd7e36662c 100644
--- a/drivers/gpu/nova-core/driver.rs
+++ b/drivers/gpu/nova-core/driver.rs
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
-use kernel::{auxiliary, bindings, c_str, device::Core, pci, prelude::*};
+use kernel::{auxiliary, bindings, device::Core, pci, prelude::*};
use crate::gpu::Gpu;
@@ -34,14 +34,14 @@ fn probe(pdev: &pci::Device<Core>, _info: &Self::IdInfo) -> Result<Pin<KBox<Self
pdev.enable_device_mem()?;
pdev.set_master();
- let bar = pdev.iomap_region_sized::<BAR0_SIZE>(0, c_str!("nova-core/bar0"))?;
+ let bar = pdev.iomap_region_sized::<BAR0_SIZE>(0, c"nova-core/bar0")?;
let this = KBox::pin_init(
try_pin_init!(Self {
gpu <- Gpu::new(pdev, bar)?,
_reg: auxiliary::Registration::new(
pdev.as_ref(),
- c_str!("nova-drm"),
+ c"nova-drm",
0, // TODO: Once it lands, use XArray; for now we don't use the ID.
crate::MODULE_NAME
)?,
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 03/17] rust: auxiliary: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
2025-07-10 15:31 ` [PATCH 01/17] drivers: net: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 02/17] gpu: nova-core: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 04/17] rust: clk: " Tamir Duberstein
` (15 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
samples/rust/rust_driver_auxiliary.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/samples/rust/rust_driver_auxiliary.rs b/samples/rust/rust_driver_auxiliary.rs
index f2a820683fc3..7c916eb11b64 100644
--- a/samples/rust/rust_driver_auxiliary.rs
+++ b/samples/rust/rust_driver_auxiliary.rs
@@ -5,13 +5,13 @@
//! To make this driver probe, QEMU must be run with `-device pci-testdev`.
use kernel::{
- auxiliary, bindings, c_str, device::Core, driver, error::Error, pci, prelude::*, InPlaceModule,
+ auxiliary, bindings, device::Core, driver, error::Error, pci, prelude::*, InPlaceModule,
};
use pin_init::PinInit;
const MODULE_NAME: &CStr = <LocalModule as kernel::ModuleMetadata>::NAME;
-const AUXILIARY_NAME: &CStr = c_str!("auxiliary");
+const AUXILIARY_NAME: &CStr = c"auxiliary";
struct AuxiliaryDriver;
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 04/17] rust: clk: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (2 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 03/17] rust: auxiliary: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-25 1:21 ` Stephen Boyd
2025-07-10 15:31 ` [PATCH 05/17] rust: configfs: " Tamir Duberstein
` (14 subsequent siblings)
18 siblings, 1 reply; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/clk.rs | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/rust/kernel/clk.rs b/rust/kernel/clk.rs
index 34a19bc99990..fb0f259cf231 100644
--- a/rust/kernel/clk.rs
+++ b/rust/kernel/clk.rs
@@ -100,13 +100,12 @@ mod common_clk {
/// The following example demonstrates how to obtain and configure a clock for a device.
///
/// ```
- /// use kernel::c_str;
/// use kernel::clk::{Clk, Hertz};
/// use kernel::device::Device;
/// use kernel::error::Result;
///
/// fn configure_clk(dev: &Device) -> Result {
- /// let clk = Clk::get(dev, Some(c_str!("apb_clk")))?;
+ /// let clk = Clk::get(dev, Some(c"apb_clk"))?;
///
/// clk.prepare_enable()?;
///
@@ -272,13 +271,12 @@ fn drop(&mut self) {
/// device. The code functions correctly whether or not the clock is available.
///
/// ```
- /// use kernel::c_str;
/// use kernel::clk::{OptionalClk, Hertz};
/// use kernel::device::Device;
/// use kernel::error::Result;
///
/// fn configure_clk(dev: &Device) -> Result {
- /// let clk = OptionalClk::get(dev, Some(c_str!("apb_clk")))?;
+ /// let clk = OptionalClk::get(dev, Some(c"apb_clk"))?;
///
/// clk.prepare_enable()?;
///
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 04/17] rust: clk: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 ` [PATCH 04/17] rust: clk: " Tamir Duberstein
@ 2025-07-25 1:21 ` Stephen Boyd
0 siblings, 0 replies; 22+ messages in thread
From: Stephen Boyd @ 2025-07-25 1:21 UTC (permalink / raw)
To: Alex Gaynor, Alice Ryhl, Andreas Hindborg, Andrew Lunn,
Arnd Bergmann, Benno Lossin, Bjorn Helgaas, Björn Roy Baron,
Boqun Feng, Brendan Higgins, Breno Leitao, Danilo Krummrich,
Dave Ertman, David Airlie, David Gow, David S. Miller,
Eric Dumazet, FUJITA Tomonori, Gary Guo, Greg Kroah-Hartman,
Heiner Kallweit, Ira Weiny, Jakub Kicinski, Jens Axboe,
Krzysztof Wilczyński, Leon Romanovsky, Luis Chamberlain,
Maarten Lankhorst, Maxime Ripard, Michael Turquette, Miguel Ojeda,
Paolo Abeni, Rae Moar, Rafael J. Wysocki, Russ Weight,
Russell King, Simona Vetter, Tamir Duberstein, Thomas Zimmermann,
Trevor Gross, Viresh Kumar
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
Quoting Tamir Duberstein (2025-07-10 08:31:07)
> 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@linuxfoundation.org>
> Reviewed-by: Alice Ryhl <aliceryhl@google.com>
> Signed-off-by: Tamir Duberstein <tamird@gmail.com>
> ---
Acked-by: Stephen Boyd <sboyd@kernel.org>
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 05/17] rust: configfs: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (3 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 04/17] rust: clk: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-08-05 10:25 ` Andreas Hindborg
2025-07-10 15:31 ` [PATCH 06/17] rust: cpufreq: " Tamir Duberstein
` (13 subsequent siblings)
18 siblings, 1 reply; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/configfs.rs | 5 ++---
samples/rust/rust_configfs.rs | 5 ++---
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/rust/kernel/configfs.rs b/rust/kernel/configfs.rs
index d4797c41ba77..9e7308e4d4ce 100644
--- a/rust/kernel/configfs.rs
+++ b/rust/kernel/configfs.rs
@@ -21,7 +21,6 @@
//!
//! ```ignore
//! use kernel::alloc::flags;
-//! use kernel::c_str;
//! use kernel::configfs_attrs;
//! use kernel::configfs;
//! use kernel::new_mutex;
@@ -50,7 +49,7 @@
//!
//! try_pin_init!(Self {
//! config <- configfs::Subsystem::new(
-//! c_str!("rust_configfs"), item_type, Configuration::new()
+//! c"rust_configfs", item_type, Configuration::new()
//! ),
//! })
//! }
@@ -66,7 +65,7 @@
//! impl Configuration {
//! fn new() -> impl PinInit<Self, Error> {
//! try_pin_init!(Self {
-//! message: c_str!("Hello World\n"),
+//! message: c"Hello World\n",
//! bar <- new_mutex!((KBox::new([0; PAGE_SIZE], flags::GFP_KERNEL)?, 0)),
//! })
//! }
diff --git a/samples/rust/rust_configfs.rs b/samples/rust/rust_configfs.rs
index 5005453f874d..ea84c23b784b 100644
--- a/samples/rust/rust_configfs.rs
+++ b/samples/rust/rust_configfs.rs
@@ -3,7 +3,6 @@
//! Rust configfs sample.
use kernel::alloc::flags;
-use kernel::c_str;
use kernel::configfs;
use kernel::configfs_attrs;
use kernel::new_mutex;
@@ -35,7 +34,7 @@ struct Configuration {
impl Configuration {
fn new() -> impl PinInit<Self, Error> {
try_pin_init!(Self {
- message: c_str!("Hello World\n"),
+ message: c"Hello World\n",
bar <- new_mutex!((KBox::new([0; PAGE_SIZE], flags::GFP_KERNEL)?, 0)),
})
}
@@ -61,7 +60,7 @@ fn init(_module: &'static ThisModule) -> impl PinInit<Self, Error> {
try_pin_init!(Self {
config <- configfs::Subsystem::new(
- c_str!("rust_configfs"), item_type, Configuration::new()
+ c"rust_configfs", item_type, Configuration::new()
),
})
}
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 05/17] rust: configfs: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 ` [PATCH 05/17] rust: configfs: " Tamir Duberstein
@ 2025-08-05 10:25 ` Andreas Hindborg
0 siblings, 0 replies; 22+ messages in thread
From: Andreas Hindborg @ 2025-08-05 10:25 UTC (permalink / raw)
To: Tamir Duberstein, Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda,
Alex Gaynor, Boqun Feng, Gary Guo, Björn Roy Baron,
Benno Lossin, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
"Tamir Duberstein" <tamird@gmail.com> writes:
> 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@linuxfoundation.org>
> Reviewed-by: Alice Ryhl <aliceryhl@google.com>
> Signed-off-by: Tamir Duberstein <tamird@gmail.com>
Acked-by: Andreas Hindborg <a.hindborg@kernel.org>
Best regards,
Andreas Hindborg
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 06/17] rust: cpufreq: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (4 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 05/17] rust: configfs: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 07/17] rust: device: " Tamir Duberstein
` (12 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
drivers/cpufreq/rcpufreq_dt.rs | 5 ++---
rust/kernel/cpufreq.rs | 3 +--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/cpufreq/rcpufreq_dt.rs b/drivers/cpufreq/rcpufreq_dt.rs
index 4608d2286fa1..0b4feb27b4f4 100644
--- a/drivers/cpufreq/rcpufreq_dt.rs
+++ b/drivers/cpufreq/rcpufreq_dt.rs
@@ -3,7 +3,6 @@
//! Rust based implementation of the cpufreq-dt driver.
use kernel::{
- c_str,
clk::Clk,
cpu, cpufreq,
cpumask::CpumaskVar,
@@ -55,7 +54,7 @@ impl opp::ConfigOps for CPUFreqDTDriver {}
#[vtable]
impl cpufreq::Driver for CPUFreqDTDriver {
- const NAME: &'static CStr = c_str!("cpufreq-dt");
+ const NAME: &'static CStr = c"cpufreq-dt";
const FLAGS: u16 = cpufreq::flags::NEED_INITIAL_FREQ_CHECK | cpufreq::flags::IS_COOLING_DEV;
const BOOST_ENABLED: bool = true;
@@ -200,7 +199,7 @@ fn register_em(policy: &mut cpufreq::Policy) {
OF_TABLE,
MODULE_OF_TABLE,
<CPUFreqDTDriver as platform::Driver>::IdInfo,
- [(of::DeviceId::new(c_str!("operating-points-v2")), ())]
+ [(of::DeviceId::new(c"operating-points-v2"), ())]
);
impl platform::Driver for CPUFreqDTDriver {
diff --git a/rust/kernel/cpufreq.rs b/rust/kernel/cpufreq.rs
index 71d601f7c261..0f316dfeb5dd 100644
--- a/rust/kernel/cpufreq.rs
+++ b/rust/kernel/cpufreq.rs
@@ -841,7 +841,6 @@ fn register_em(_policy: &mut Policy) {
/// ```
/// use kernel::{
/// cpufreq,
-/// c_str,
/// device::{Core, Device},
/// macros::vtable,
/// of, platform,
@@ -854,7 +853,7 @@ fn register_em(_policy: &mut Policy) {
///
/// #[vtable]
/// impl cpufreq::Driver for SampleDriver {
-/// const NAME: &'static CStr = c_str!("cpufreq-sample");
+/// const NAME: &'static CStr = c"cpufreq-sample";
/// const FLAGS: u16 = cpufreq::flags::NEED_INITIAL_FREQ_CHECK | cpufreq::flags::IS_COOLING_DEV;
/// const BOOST_ENABLED: bool = true;
///
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 07/17] rust: device: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (5 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 06/17] rust: cpufreq: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 08/17] rust: firmware: " Tamir Duberstein
` (11 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/device.rs | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/rust/kernel/device.rs b/rust/kernel/device.rs
index b34173536230..ff300e1d014b 100644
--- a/rust/kernel/device.rs
+++ b/rust/kernel/device.rs
@@ -11,8 +11,6 @@
};
use core::{marker::PhantomData, ptr};
-#[cfg(CONFIG_PRINTK)]
-use crate::c_str;
use crate::str::CStrExt as _;
/// A reference-counted device.
@@ -198,7 +196,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>(),
)
};
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 08/17] rust: firmware: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (6 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 07/17] rust: device: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 09/17] rust: kunit: " Tamir Duberstein
` (10 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/firmware.rs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/rust/kernel/firmware.rs b/rust/kernel/firmware.rs
index 4adcf39b475e..d07849333991 100644
--- a/rust/kernel/firmware.rs
+++ b/rust/kernel/firmware.rs
@@ -51,13 +51,13 @@ fn request_nowarn() -> Self {
/// # Examples
///
/// ```no_run
-/// # use kernel::{c_str, device::Device, firmware::Firmware};
+/// # use kernel::{device::Device, firmware::Firmware};
///
/// # fn no_run() -> Result<(), Error> {
/// # // SAFETY: *NOT* safe, just for the example to get an `ARef<Device>` instance
/// # let dev = unsafe { Device::get_device(core::ptr::null_mut()) };
///
-/// let fw = Firmware::request(c_str!("path/to/firmware.bin"), &dev)?;
+/// let fw = Firmware::request(c"path/to/firmware.bin", &dev)?;
/// let blob = fw.data();
///
/// # Ok(())
@@ -204,7 +204,7 @@ macro_rules! module_firmware {
($($builder:tt)*) => {
const _: () = {
const __MODULE_FIRMWARE_PREFIX: &'static $crate::str::CStr = if cfg!(MODULE) {
- $crate::c_str!("")
+ c""
} else {
<LocalModule as $crate::ModuleMetadata>::NAME
};
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 09/17] rust: kunit: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (7 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 08/17] rust: firmware: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 10/17] rust: macros: " Tamir Duberstein
` (9 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/kunit.rs | 11 ++++-------
rust/macros/kunit.rs | 10 +++++-----
scripts/rustdoc_test_gen.rs | 4 ++--
3 files changed, 11 insertions(+), 14 deletions(-)
diff --git a/rust/kernel/kunit.rs b/rust/kernel/kunit.rs
index a8eff46040ea..66e1781cd583 100644
--- a/rust/kernel/kunit.rs
+++ b/rust/kernel/kunit.rs
@@ -9,9 +9,6 @@
use crate::fmt;
use crate::prelude::*;
-#[cfg(CONFIG_PRINTK)]
-use crate::c_str;
-
/// Prints a KUnit error-level message.
///
/// Public but hidden since it should only be used from KUnit generated code.
@@ -22,7 +19,7 @@ pub fn err(args: fmt::Arguments<'_>) {
#[cfg(CONFIG_PRINTK)]
unsafe {
bindings::_printk(
- c_str!("\x013%pA").as_char_ptr(),
+ c"\x013%pA".as_char_ptr(),
core::ptr::from_ref(&args).cast::<c_void>(),
);
}
@@ -38,7 +35,7 @@ pub fn info(args: fmt::Arguments<'_>) {
#[cfg(CONFIG_PRINTK)]
unsafe {
bindings::_printk(
- c_str!("\x016%pA").as_char_ptr(),
+ c"\x016%pA".as_char_ptr(),
core::ptr::from_ref(&args).cast::<c_void>(),
);
}
@@ -60,7 +57,7 @@ macro_rules! kunit_assert {
break 'out;
}
- static FILE: &'static $crate::str::CStr = $crate::c_str!($file);
+ static FILE: &'static $crate::str::CStr = $file;
static LINE: i32 = ::core::line!() as i32 - $diff;
static CONDITION: &'static $crate::str::CStr = $crate::c_str!(stringify!($condition));
@@ -249,7 +246,7 @@ pub const fn kunit_case_null() -> kernel::bindings::kunit_case {
/// }
///
/// static mut KUNIT_TEST_CASES: [kernel::bindings::kunit_case; 2] = [
-/// kernel::kunit::kunit_case(kernel::c_str!("name"), test_fn),
+/// kernel::kunit::kunit_case(c"name", test_fn),
/// kernel::kunit::kunit_case_null(),
/// ];
/// kernel::kunit_unsafe_test_suite!(suite_name, KUNIT_TEST_CASES);
diff --git a/rust/macros/kunit.rs b/rust/macros/kunit.rs
index 81d18149a0cc..c64df1a01b9d 100644
--- a/rust/macros/kunit.rs
+++ b/rust/macros/kunit.rs
@@ -89,8 +89,8 @@ pub(crate) fn kunit_tests(attr: TokenStream, ts: TokenStream) -> TokenStream {
// unsafe extern "C" fn kunit_rust_wrapper_bar(_test: *mut ::kernel::bindings::kunit) { bar(); }
//
// static mut TEST_CASES: [::kernel::bindings::kunit_case; 3] = [
- // ::kernel::kunit::kunit_case(::kernel::c_str!("foo"), kunit_rust_wrapper_foo),
- // ::kernel::kunit::kunit_case(::kernel::c_str!("bar"), kunit_rust_wrapper_bar),
+ // ::kernel::kunit::kunit_case(c"foo", kunit_rust_wrapper_foo),
+ // ::kernel::kunit::kunit_case(c"bar", kunit_rust_wrapper_bar),
// ::kernel::kunit::kunit_case_null(),
// ];
//
@@ -109,7 +109,7 @@ pub(crate) fn kunit_tests(attr: TokenStream, ts: TokenStream) -> TokenStream {
writeln!(kunit_macros, "{kunit_wrapper}").unwrap();
writeln!(
test_cases,
- " ::kernel::kunit::kunit_case(::kernel::c_str!(\"{test}\"), {kunit_wrapper_fn_name}),"
+ " ::kernel::kunit::kunit_case(c\"{test}\", {kunit_wrapper_fn_name}),"
)
.unwrap();
writeln!(
@@ -119,7 +119,7 @@ pub(crate) fn kunit_tests(attr: TokenStream, ts: TokenStream) -> TokenStream {
#[allow(unused)]
macro_rules! assert {{
($cond:expr $(,)?) => {{{{
- kernel::kunit_assert!("{test}", "{path}", 0, $cond);
+ kernel::kunit_assert!("{test}", c"{path}", 0, $cond);
}}}}
}}
@@ -127,7 +127,7 @@ macro_rules! assert {{
#[allow(unused)]
macro_rules! assert_eq {{
($left:expr, $right:expr $(,)?) => {{{{
- kernel::kunit_assert_eq!("{test}", "{path}", 0, $left, $right);
+ kernel::kunit_assert_eq!("{test}", c"{path}", 0, $left, $right);
}}}}
}}
"#
diff --git a/scripts/rustdoc_test_gen.rs b/scripts/rustdoc_test_gen.rs
index 507d36875196..0e86bdf1b5b1 100644
--- a/scripts/rustdoc_test_gen.rs
+++ b/scripts/rustdoc_test_gen.rs
@@ -173,7 +173,7 @@ pub extern "C" fn {kunit_name}(__kunit_test: *mut ::kernel::bindings::kunit) {{
macro_rules! assert {{
($cond:expr $(,)?) => {{{{
::kernel::kunit_assert!(
- "{kunit_name}", "{real_path}", __DOCTEST_ANCHOR - {line}, $cond
+ "{kunit_name}", c"{real_path}", __DOCTEST_ANCHOR - {line}, $cond
);
}}}}
}}
@@ -183,7 +183,7 @@ macro_rules! assert {{
macro_rules! assert_eq {{
($left:expr, $right:expr $(,)?) => {{{{
::kernel::kunit_assert_eq!(
- "{kunit_name}", "{real_path}", __DOCTEST_ANCHOR - {line}, $left, $right
+ "{kunit_name}", c"{real_path}", __DOCTEST_ANCHOR - {line}, $left, $right
);
}}}}
}}
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 10/17] rust: macros: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (8 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 09/17] rust: kunit: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 11/17] rust: miscdevice: " Tamir Duberstein
` (8 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/macros/module.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rust/macros/module.rs b/rust/macros/module.rs
index 5dd276a2e5cb..532342a38b6f 100644
--- a/rust/macros/module.rs
+++ b/rust/macros/module.rs
@@ -228,7 +228,7 @@ pub(crate) fn module(ts: TokenStream) -> TokenStream {
type LocalModule = {type_};
impl ::kernel::ModuleMetadata for {type_} {{
- const NAME: &'static ::kernel::str::CStr = ::kernel::c_str!(\"{name}\");
+ const NAME: &'static ::kernel::str::CStr = c\"{name}\";
}}
// Double nested modules, since then nobody can access the public items inside.
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 11/17] rust: miscdevice: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (9 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 10/17] rust: macros: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 12/17] rust: net: " Tamir Duberstein
` (7 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
samples/rust/rust_misc_device.rs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/samples/rust/rust_misc_device.rs b/samples/rust/rust_misc_device.rs
index c881fd6dbd08..12b64296e912 100644
--- a/samples/rust/rust_misc_device.rs
+++ b/samples/rust/rust_misc_device.rs
@@ -98,7 +98,6 @@
use core::pin::Pin;
use kernel::{
- c_str,
device::Device,
fs::File,
ioctl::{_IO, _IOC_SIZE, _IOR, _IOW},
@@ -133,7 +132,7 @@ fn init(_module: &'static ThisModule) -> impl PinInit<Self, Error> {
pr_info!("Initialising Rust Misc Device Sample\n");
let options = MiscDeviceOptions {
- name: c_str!("rust-misc-device"),
+ name: c"rust-misc-device",
};
try_pin_init!(Self {
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 12/17] rust: net: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (10 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 11/17] rust: miscdevice: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 13/17] rust: pci: " Tamir Duberstein
` (6 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/net/phy.rs | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/rust/kernel/net/phy.rs b/rust/kernel/net/phy.rs
index c420e5ecab4b..236ea516a134 100644
--- a/rust/kernel/net/phy.rs
+++ b/rust/kernel/net/phy.rs
@@ -781,7 +781,6 @@ const fn as_int(&self) -> u32 {
///
/// ```
/// # mod module_phy_driver_sample {
-/// use kernel::c_str;
/// use kernel::net::phy::{self, DeviceId};
/// use kernel::prelude::*;
///
@@ -800,7 +799,7 @@ const fn as_int(&self) -> u32 {
///
/// #[vtable]
/// impl phy::Driver for PhySample {
-/// const NAME: &'static CStr = c_str!("PhySample");
+/// const NAME: &'static CStr = c"PhySample";
/// const PHY_DEVICE_ID: phy::DeviceId = phy::DeviceId::new_with_exact_mask(0x00000001);
/// }
/// # }
@@ -809,7 +808,6 @@ const fn as_int(&self) -> u32 {
/// This expands to the following code:
///
/// ```ignore
-/// use kernel::c_str;
/// use kernel::net::phy::{self, DeviceId};
/// use kernel::prelude::*;
///
@@ -829,7 +827,7 @@ const fn as_int(&self) -> u32 {
///
/// #[vtable]
/// impl phy::Driver for PhySample {
-/// const NAME: &'static CStr = c_str!("PhySample");
+/// const NAME: &'static CStr = c"PhySample";
/// const PHY_DEVICE_ID: phy::DeviceId = phy::DeviceId::new_with_exact_mask(0x00000001);
/// }
///
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 13/17] rust: pci: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (11 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 12/17] rust: net: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 14/17] rust: platform: " Tamir Duberstein
` (5 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
samples/rust/rust_driver_pci.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/samples/rust/rust_driver_pci.rs b/samples/rust/rust_driver_pci.rs
index 15147e4401b2..4ba5fcd2b357 100644
--- a/samples/rust/rust_driver_pci.rs
+++ b/samples/rust/rust_driver_pci.rs
@@ -4,7 +4,7 @@
//!
//! To make this driver probe, QEMU must be run with `-device pci-testdev`.
-use kernel::{bindings, c_str, device::Core, devres::Devres, pci, prelude::*, types::ARef};
+use kernel::{bindings, device::Core, devres::Devres, pci, prelude::*, types::ARef};
struct Regs;
@@ -73,7 +73,7 @@ fn probe(pdev: &pci::Device<Core>, info: &Self::IdInfo) -> Result<Pin<KBox<Self>
pdev.enable_device_mem()?;
pdev.set_master();
- let bar = pdev.iomap_region_sized::<{ Regs::END }>(0, c_str!("rust_driver_pci"))?;
+ let bar = pdev.iomap_region_sized::<{ Regs::END }>(0, c"rust_driver_pci")?;
let drvdata = KBox::new(
Self {
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 14/17] rust: platform: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (12 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 13/17] rust: pci: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 15/17] rust: seq_file: " Tamir Duberstein
` (4 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/platform.rs | 4 ++--
samples/rust/rust_driver_faux.rs | 4 ++--
samples/rust/rust_driver_platform.rs | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/rust/kernel/platform.rs b/rust/kernel/platform.rs
index 0a6a6be732b2..99ad0b132ab6 100644
--- a/rust/kernel/platform.rs
+++ b/rust/kernel/platform.rs
@@ -125,7 +125,7 @@ macro_rules! module_platform_driver {
/// # Examples
///
///```
-/// # use kernel::{bindings, c_str, device::Core, of, platform};
+/// # use kernel::{bindings, device::Core, of, platform};
///
/// struct MyDriver;
///
@@ -134,7 +134,7 @@ macro_rules! module_platform_driver {
/// MODULE_OF_TABLE,
/// <MyDriver as platform::Driver>::IdInfo,
/// [
-/// (of::DeviceId::new(c_str!("test,device")), ())
+/// (of::DeviceId::new(c"test,device"), ())
/// ]
/// );
///
diff --git a/samples/rust/rust_driver_faux.rs b/samples/rust/rust_driver_faux.rs
index ecc9fd378cbd..23add3160693 100644
--- a/samples/rust/rust_driver_faux.rs
+++ b/samples/rust/rust_driver_faux.rs
@@ -2,7 +2,7 @@
//! Rust faux device sample.
-use kernel::{c_str, faux, prelude::*, Module};
+use kernel::{faux, prelude::*, Module};
module! {
type: SampleModule,
@@ -20,7 +20,7 @@ impl Module for SampleModule {
fn init(_module: &'static ThisModule) -> Result<Self> {
pr_info!("Initialising Rust Faux Device Sample\n");
- let reg = faux::Registration::new(c_str!("rust-faux-sample-device"), None)?;
+ let reg = faux::Registration::new(c"rust-faux-sample-device", None)?;
dev_info!(reg.as_ref(), "Hello from faux device!\n");
diff --git a/samples/rust/rust_driver_platform.rs b/samples/rust/rust_driver_platform.rs
index 8b42b3cfb363..e6487a970a59 100644
--- a/samples/rust/rust_driver_platform.rs
+++ b/samples/rust/rust_driver_platform.rs
@@ -2,7 +2,7 @@
//! Rust Platform driver sample.
-use kernel::{c_str, device::Core, of, platform, prelude::*, types::ARef};
+use kernel::{device::Core, of, platform, prelude::*, types::ARef};
struct SampleDriver {
pdev: ARef<platform::Device>,
@@ -14,7 +14,7 @@ struct SampleDriver {
OF_TABLE,
MODULE_OF_TABLE,
<SampleDriver as platform::Driver>::IdInfo,
- [(of::DeviceId::new(c_str!("test,rust-device")), Info(42))]
+ [(of::DeviceId::new(c"test,rust-device"), Info(42))]
);
impl platform::Driver for SampleDriver {
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 15/17] rust: seq_file: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (13 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 14/17] rust: platform: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 16/17] rust: str: " Tamir Duberstein
` (3 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/seq_file.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/rust/kernel/seq_file.rs b/rust/kernel/seq_file.rs
index 855e533813a6..518265558d66 100644
--- a/rust/kernel/seq_file.rs
+++ b/rust/kernel/seq_file.rs
@@ -4,7 +4,7 @@
//!
//! C header: [`include/linux/seq_file.h`](srctree/include/linux/seq_file.h)
-use crate::{bindings, c_str, fmt, str::CStrExt as _, types::NotThreadSafe, types::Opaque};
+use crate::{bindings, fmt, str::CStrExt as _, types::NotThreadSafe, types::Opaque};
/// A utility for generating the contents of a seq file.
#[repr(transparent)]
@@ -36,7 +36,7 @@ pub fn call_printf(&self, args: fmt::Arguments<'_>) {
unsafe {
bindings::seq_printf(
self.inner.get(),
- c_str!("%pA").as_char_ptr(),
+ c"%pA".as_char_ptr(),
core::ptr::from_ref(&args).cast::<crate::ffi::c_void>(),
);
}
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 16/17] rust: str: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (14 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 15/17] rust: seq_file: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-10 15:31 ` [PATCH 17/17] rust: sync: " Tamir Duberstein
` (2 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
rust/kernel/str.rs | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/rust/kernel/str.rs b/rust/kernel/str.rs
index 61ebaacddc23..26bb3d916ba6 100644
--- a/rust/kernel/str.rs
+++ b/rust/kernel/str.rs
@@ -266,15 +266,14 @@ impl fmt::Display for CStr {
/// Formats printable ASCII characters, escaping the rest.
///
/// ```
- /// # use kernel::c_str;
/// # use kernel::prelude::fmt;
/// # use kernel::str::CStr;
/// # use kernel::str::CString;
- /// let penguin = c_str!("🐧");
+ /// let penguin = c"🐧";
/// let s = CString::try_from_fmt(fmt!("{penguin}"))?;
/// assert_eq!(s.to_bytes_with_nul(), "\\xf0\\x9f\\x90\\xa7\0".as_bytes());
///
- /// let ascii = c_str!("so \"cool\"");
+ /// let ascii = c"so \"cool\"";
/// let s = CString::try_from_fmt(fmt!("{ascii}"))?;
/// assert_eq!(s.to_bytes_with_nul(), "so \"cool\"\0".as_bytes());
/// # Ok::<(), kernel::error::Error>(())
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 17/17] rust: sync: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (15 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 16/17] rust: str: " Tamir Duberstein
@ 2025-07-10 15:31 ` Tamir Duberstein
2025-07-11 12:44 ` [PATCH 00/17] rust: " Benno Lossin
2025-07-14 11:20 ` Danilo Krummrich
18 siblings, 0 replies; 22+ messages in thread
From: Tamir Duberstein @ 2025-07-10 15:31 UTC (permalink / raw)
To: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block, Tamir Duberstein
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@linuxfoundation.org>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
drivers/block/rnull.rs | 2 +-
rust/kernel/sync.rs | 5 ++---
rust/kernel/sync/completion.rs | 2 +-
rust/kernel/workqueue.rs | 8 ++++----
4 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/drivers/block/rnull.rs b/drivers/block/rnull.rs
index 6366da12c5a5..9aa79b862b63 100644
--- a/drivers/block/rnull.rs
+++ b/drivers/block/rnull.rs
@@ -55,7 +55,7 @@ fn init(_module: &'static ThisModule) -> impl PinInit<Self, Error> {
})();
try_pin_init!(Self {
- _disk <- new_mutex!(disk?, "nullb:disk"),
+ _disk <- new_mutex!(disk?, c"nullb:disk"),
})
}
}
diff --git a/rust/kernel/sync.rs b/rust/kernel/sync.rs
index 63c99e015ad6..9a6d2753937d 100644
--- a/rust/kernel/sync.rs
+++ b/rust/kernel/sync.rs
@@ -43,7 +43,6 @@ impl LockClassKey {
///
/// # Examples
/// ```
- /// # use kernel::c_str;
/// # use kernel::alloc::KBox;
/// # use kernel::types::ForeignOwnable;
/// # use kernel::sync::{LockClassKey, SpinLock};
@@ -55,7 +54,7 @@ impl LockClassKey {
/// {
/// stack_pin_init!(let num: SpinLock<u32> = SpinLock::new(
/// 0,
- /// c_str!("my_spinlock"),
+ /// c"my_spinlock",
/// // SAFETY: `key_ptr` is returned by the above `into_foreign()`, whose
/// // `from_foreign()` has not yet been called.
/// unsafe { <Pin<KBox<LockClassKey>> as ForeignOwnable>::borrow(key_ptr) }
@@ -111,6 +110,6 @@ macro_rules! optional_name {
$crate::c_str!(::core::concat!(::core::file!(), ":", ::core::line!()))
};
($name:literal) => {
- $crate::c_str!($name)
+ $name
};
}
diff --git a/rust/kernel/sync/completion.rs b/rust/kernel/sync/completion.rs
index c50012a940a3..97d39c248793 100644
--- a/rust/kernel/sync/completion.rs
+++ b/rust/kernel/sync/completion.rs
@@ -34,7 +34,7 @@
/// impl MyTask {
/// fn new() -> Result<Arc<Self>> {
/// let this = Arc::pin_init(pin_init!(MyTask {
-/// work <- new_work!("MyTask::work"),
+/// work <- new_work!(c"MyTask::work"),
/// done <- Completion::new(),
/// }), GFP_KERNEL)?;
///
diff --git a/rust/kernel/workqueue.rs b/rust/kernel/workqueue.rs
index cce23684af24..432624c69c72 100644
--- a/rust/kernel/workqueue.rs
+++ b/rust/kernel/workqueue.rs
@@ -51,7 +51,7 @@
//! fn new(value: i32) -> Result<Arc<Self>> {
//! Arc::pin_init(pin_init!(MyStruct {
//! value,
-//! work <- new_work!("MyStruct::work"),
+//! work <- new_work!(c"MyStruct::work"),
//! }), GFP_KERNEL)
//! }
//! }
@@ -98,8 +98,8 @@
//! Arc::pin_init(pin_init!(MyStruct {
//! value_1,
//! value_2,
-//! work_1 <- new_work!("MyStruct::work_1"),
-//! work_2 <- new_work!("MyStruct::work_2"),
+//! work_1 <- new_work!(c"MyStruct::work_1"),
+//! work_2 <- new_work!(c"MyStruct::work_2"),
//! }), GFP_KERNEL)
//! }
//! }
@@ -215,7 +215,7 @@ pub fn try_spawn<T: 'static + Send + FnOnce()>(
func: T,
) -> Result<(), AllocError> {
let init = pin_init!(ClosureWork {
- work <- new_work!("Queue::try_spawn"),
+ work <- new_work!(c"Queue::try_spawn"),
func: Some(func),
});
--
2.50.0
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (16 preceding siblings ...)
2025-07-10 15:31 ` [PATCH 17/17] rust: sync: " Tamir Duberstein
@ 2025-07-11 12:44 ` Benno Lossin
2025-07-14 11:20 ` Danilo Krummrich
18 siblings, 0 replies; 22+ messages in thread
From: Benno Lossin @ 2025-07-11 12:44 UTC (permalink / raw)
To: Tamir Duberstein, Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda,
Alex Gaynor, Boqun Feng, Gary Guo, Björn Roy Baron,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, FUJITA Tomonori, Andrew Lunn, Heiner Kallweit,
Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Michael Turquette, Stephen Boyd, Breno Leitao,
Greg Kroah-Hartman, Luis Chamberlain, Russ Weight, Dave Ertman,
Ira Weiny, Leon Romanovsky, Bjorn Helgaas,
Krzysztof Wilczyński, Arnd Bergmann, Brendan Higgins,
David Gow, Rae Moar, Jens Axboe
Cc: linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block
On Thu Jul 10, 2025 at 5:31 PM CEST, Tamir Duberstein wrote:
> This series depends on step 3[0] which depends on steps 2a[1] and 2b[2]
> which both depend on step 1[3].
>
> This series also has a minor merge conflict with a small change[4] that
> was taken through driver-core-testing. This series is marked as
> depending on that change; as such it contains the post-conflict patch.
>
> Subsystem maintainers: I would appreciate your `Acked-by`s so that this
> can be taken through Miguel's tree (where the previous series must go).
>
> Link https://lore.kernel.org/all/20250710-cstr-core-v14-0-ca7e0ca82c82@gmail.com/ [0]
> Link: https://lore.kernel.org/all/20250709-core-cstr-fanout-1-v1-0-64308e7203fc@gmail.com/ [1]
> Link: https://lore.kernel.org/all/20250709-core-cstr-fanout-1-v1-0-fd793b3e58a2@gmail.com/ [2]
> Link: https://lore.kernel.org/all/20250704-core-cstr-prepare-v1-0-a91524037783@gmail.com/ [3]
> Link: https://lore.kernel.org/all/20250704-cstr-include-aux-v1-1-e1a404ae92ac@gmail.com/ [4]
>
> Signed-off-by: Tamir Duberstein <tamird@gmail.com>
> ---
> Tamir Duberstein (17):
> drivers: net: replace `kernel::c_str!` with C-Strings
> gpu: nova-core: replace `kernel::c_str!` with C-Strings
> rust: auxiliary: replace `kernel::c_str!` with C-Strings
> rust: clk: replace `kernel::c_str!` with C-Strings
> rust: configfs: replace `kernel::c_str!` with C-Strings
> rust: cpufreq: replace `kernel::c_str!` with C-Strings
> rust: device: replace `kernel::c_str!` with C-Strings
> rust: firmware: replace `kernel::c_str!` with C-Strings
> rust: kunit: replace `kernel::c_str!` with C-Strings
> rust: macros: replace `kernel::c_str!` with C-Strings
> rust: miscdevice: replace `kernel::c_str!` with C-Strings
> rust: net: replace `kernel::c_str!` with C-Strings
> rust: pci: replace `kernel::c_str!` with C-Strings
> rust: platform: replace `kernel::c_str!` with C-Strings
> rust: seq_file: replace `kernel::c_str!` with C-Strings
> rust: str: replace `kernel::c_str!` with C-Strings
> rust: sync: replace `kernel::c_str!` with C-Strings
>
> drivers/block/rnull.rs | 2 +-
> drivers/cpufreq/rcpufreq_dt.rs | 5 ++---
> drivers/gpu/drm/nova/driver.rs | 10 +++++-----
> drivers/gpu/nova-core/driver.rs | 6 +++---
> drivers/net/phy/ax88796b_rust.rs | 7 +++----
> drivers/net/phy/qt2025.rs | 5 ++---
> rust/kernel/clk.rs | 6 ++----
> rust/kernel/configfs.rs | 5 ++---
> rust/kernel/cpufreq.rs | 3 +--
> rust/kernel/device.rs | 4 +---
> rust/kernel/firmware.rs | 6 +++---
> rust/kernel/kunit.rs | 11 ++++-------
> rust/kernel/net/phy.rs | 6 ++----
> rust/kernel/platform.rs | 4 ++--
> rust/kernel/seq_file.rs | 4 ++--
> rust/kernel/str.rs | 5 ++---
> rust/kernel/sync.rs | 5 ++---
> rust/kernel/sync/completion.rs | 2 +-
> rust/kernel/workqueue.rs | 8 ++++----
> rust/macros/kunit.rs | 10 +++++-----
> rust/macros/module.rs | 2 +-
> samples/rust/rust_configfs.rs | 5 ++---
> samples/rust/rust_driver_auxiliary.rs | 4 ++--
> samples/rust/rust_driver_faux.rs | 4 ++--
> samples/rust/rust_driver_pci.rs | 4 ++--
> samples/rust/rust_driver_platform.rs | 4 ++--
> samples/rust/rust_misc_device.rs | 3 +--
> scripts/rustdoc_test_gen.rs | 4 ++--
> 28 files changed, 63 insertions(+), 81 deletions(-)
For the entire series:
Reviewed-by: Benno Lossin <lossin@kernel.org>
---
Cheers,
Benno
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings
2025-07-10 15:31 [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings Tamir Duberstein
` (17 preceding siblings ...)
2025-07-11 12:44 ` [PATCH 00/17] rust: " Benno Lossin
@ 2025-07-14 11:20 ` Danilo Krummrich
18 siblings, 0 replies; 22+ messages in thread
From: Danilo Krummrich @ 2025-07-14 11:20 UTC (permalink / raw)
To: Tamir Duberstein
Cc: Rafael J. Wysocki, Viresh Kumar, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
FUJITA Tomonori, Andrew Lunn, Heiner Kallweit, Russell King,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Michael Turquette, Stephen Boyd, Breno Leitao, Greg Kroah-Hartman,
Luis Chamberlain, Russ Weight, Dave Ertman, Ira Weiny,
Leon Romanovsky, Bjorn Helgaas, Krzysztof Wilczyński,
Arnd Bergmann, Brendan Higgins, David Gow, Rae Moar, Jens Axboe,
linux-pm, linux-kernel, rust-for-linux, nouveau, dri-devel,
netdev, linux-clk, linux-pci, linux-kselftest, kunit-dev,
linux-block
On Thu Jul 10, 2025 at 5:31 PM CEST, Tamir Duberstein wrote:
> This series depends on step 3[0] which depends on steps 2a[1] and 2b[2]
> which both depend on step 1[3].
For nova-core, auxiliary, device, firmware, PCI and platform,
Acked-by: Danilo Krummrich <dakr@kernel.org>
(Note that there is quite some new stuff queued up in various trees that will
need those changes as well.)
^ permalink raw reply [flat|nested] 22+ messages in thread