linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] rust: replace `kernel::c_str!` with C-Strings
@ 2025-07-10 15:31 Tamir Duberstein
  2025-07-10 15:31 ` [PATCH 01/17] drivers: net: " Tamir Duberstein
                   ` (18 more replies)
  0 siblings, 19 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

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(-)
---
base-commit: 769e324b66b0d92d04f315d0c45a0f72737c7494
change-id: 20250710-core-cstr-cstrings-1faaa632f0fd
prerequisite-change-id: 20250704-core-cstr-prepare-9b9e6a7bd57e:v1
prerequisite-patch-id: 83b1239d1805f206711a5a936bbb61c83227d573
prerequisite-patch-id: a0355dd0efcc945b0565dc4e5a0f42b5a3d29c7e
prerequisite-patch-id: 8585bf441cfab705181f5606c63483c2e88d25aa
prerequisite-patch-id: 04ec344c0bc23f90dbeac10afe26df1a86ce53ec
prerequisite-patch-id: a2fc6cd05fce6d6da8d401e9f8a905bb5c0b2f27
prerequisite-patch-id: f14c099c87562069f25fb7aea6d9aae4086c49a8
prerequisite-message-id: 20250709-core-cstr-fanout-1-v1-0-64308e7203fc@gmail.com
prerequisite-patch-id: fa79c5d8fd2762b5e488ba017e13a5774d933f81
prerequisite-patch-id: c338aa49e1319e9e802de2ad8bb0fa688bce9d9c
prerequisite-patch-id: 589a352ba7f7c9aefefd84dfd3b6b20e290b0d14
prerequisite-patch-id: 29fc25261295349f6747d1bb409cf18130e9aa69
prerequisite-patch-id: 3d89601bba1fb01d190b0ba415b28ad9cbf1e209
prerequisite-patch-id: 10923aebf24011b727f60496c0f9e0ad57e0a967
prerequisite-patch-id: 56583fd829951fb4fac843c6b1874c643b726de0
prerequisite-patch-id: 9a7e8ba460358985147efd347658be31fbc78ba2
prerequisite-patch-id: 5821a23334e317cd0351b8e4404b9e3b36b72d67
prerequisite-message-id: 20250709-core-cstr-fanout-1-v1-0-fd793b3e58a2@gmail.com
prerequisite-patch-id: 0ccc3545ff9bf22a67b79a944705cef2fb9c2bbf
prerequisite-patch-id: b1866166714606d5c11a4d7506abe4c2f86dac8d
prerequisite-patch-id: 163b8ff1edaf8e48976fd5de3f64e68fc38c7277
prerequisite-patch-id: 8fee5e2daf0749362331dad4fc63d907a01b14e9
prerequisite-patch-id: 366ef1f93fb40b1d039768f2041ff79995e7e228
prerequisite-patch-id: 1d350291f9292f910081856d8f7d5e4d9545cfd1
prerequisite-patch-id: 9a6a60bd2b209126de64c16a77a3a1d229dd898c
prerequisite-patch-id: 08ae5855768ec3b4c68272b86d2a0e0667c9aa47
prerequisite-patch-id: f15b54927660a03b52ffb34fb7943ac3228b7803
prerequisite-patch-id: f0dbf0a55a27fe8e199e242d1f79ea800d1ddb66
prerequisite-change-id: 20250201-cstr-core-d4b9b69120cf:v14
prerequisite-patch-id: 83b1239d1805f206711a5a936bbb61c83227d573
prerequisite-patch-id: a0355dd0efcc945b0565dc4e5a0f42b5a3d29c7e
prerequisite-patch-id: 8585bf441cfab705181f5606c63483c2e88d25aa
prerequisite-patch-id: 04ec344c0bc23f90dbeac10afe26df1a86ce53ec
prerequisite-patch-id: a2fc6cd05fce6d6da8d401e9f8a905bb5c0b2f27
prerequisite-patch-id: f14c099c87562069f25fb7aea6d9aae4086c49a8
prerequisite-patch-id: 0ccc3545ff9bf22a67b79a944705cef2fb9c2bbf
prerequisite-patch-id: b1866166714606d5c11a4d7506abe4c2f86dac8d
prerequisite-patch-id: 163b8ff1edaf8e48976fd5de3f64e68fc38c7277
prerequisite-patch-id: 8fee5e2daf0749362331dad4fc63d907a01b14e9
prerequisite-patch-id: 366ef1f93fb40b1d039768f2041ff79995e7e228
prerequisite-patch-id: 1d350291f9292f910081856d8f7d5e4d9545cfd1
prerequisite-patch-id: 9a6a60bd2b209126de64c16a77a3a1d229dd898c
prerequisite-patch-id: 08ae5855768ec3b4c68272b86d2a0e0667c9aa47
prerequisite-patch-id: f15b54927660a03b52ffb34fb7943ac3228b7803
prerequisite-patch-id: f0dbf0a55a27fe8e199e242d1f79ea800d1ddb66
prerequisite-patch-id: fa79c5d8fd2762b5e488ba017e13a5774d933f81
prerequisite-patch-id: c338aa49e1319e9e802de2ad8bb0fa688bce9d9c
prerequisite-patch-id: 589a352ba7f7c9aefefd84dfd3b6b20e290b0d14
prerequisite-patch-id: 29fc25261295349f6747d1bb409cf18130e9aa69
prerequisite-patch-id: 3d89601bba1fb01d190b0ba415b28ad9cbf1e209
prerequisite-patch-id: 10923aebf24011b727f60496c0f9e0ad57e0a967
prerequisite-patch-id: 56583fd829951fb4fac843c6b1874c643b726de0
prerequisite-patch-id: 9a7e8ba460358985147efd347658be31fbc78ba2
prerequisite-patch-id: 5821a23334e317cd0351b8e4404b9e3b36b72d67
prerequisite-patch-id: 9c0a6624ed7b7e1d0373985c5c084a844e7c49ce
prerequisite-patch-id: 6d8dbdf864f79fc0c2820e702a7cb87753649ca0
prerequisite-patch-id: 2bc4afce0104c13c0dd4d50923b0db2f5cd11129
prerequisite-change-id: 20250704-cstr-include-aux-7847969762a8:v1
prerequisite-patch-id: 1f79f64dd9b8a092ff039e6c7fad1430afb8ea25

Best regards,
--  
Tamir Duberstein <tamird@gmail.com>


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [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

* [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

* [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

* 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

* 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

end of thread, other threads:[~2025-08-05 10:26 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 03/17] rust: auxiliary: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 04/17] rust: clk: " Tamir Duberstein
2025-07-25  1:21   ` Stephen Boyd
2025-07-10 15:31 ` [PATCH 05/17] rust: configfs: " Tamir Duberstein
2025-08-05 10:25   ` Andreas Hindborg
2025-07-10 15:31 ` [PATCH 06/17] rust: cpufreq: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 07/17] rust: device: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 08/17] rust: firmware: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 09/17] rust: kunit: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 10/17] rust: macros: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 11/17] rust: miscdevice: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 12/17] rust: net: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 13/17] rust: pci: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 14/17] rust: platform: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 15/17] rust: seq_file: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 16/17] rust: str: " Tamir Duberstein
2025-07-10 15:31 ` [PATCH 17/17] rust: sync: " Tamir Duberstein
2025-07-11 12:44 ` [PATCH 00/17] rust: " Benno Lossin
2025-07-14 11:20 ` Danilo Krummrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).