summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-02-12 14:01:38 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2026-02-12 14:01:38 -0800
commit8c0901b6f9c807a6aa33dccedc548bf10c17a85c (patch)
tree084369782705aa0e471a2c40220d63b0625345b8
parent136114e0abf03005e182d75761ab694648e6d388 (diff)
parent6363844fdbbb76afe1d44d678fe0746390204a5f (diff)
Merge tag 'configfs-for-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux
Pull configfs updates from Andreas Hindborg: - Switch the configfs rust bindings to use c string literals provided by the compiler, rather than a macro - A follow up on constifying `configfs_item_operations`, applying the change to the configfs sample * tag 'configfs-for-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux: samples: configfs: Constify struct configfs_item_operations and configfs_group_operations rust: configfs: replace `kernel::c_str!` with C-Strings
-rw-r--r--drivers/block/rnull/configfs.rs1
-rw-r--r--rust/kernel/configfs.rs9
-rw-r--r--samples/configfs/configfs_sample.c8
-rw-r--r--samples/rust/rust_configfs.rs5
4 files changed, 11 insertions, 12 deletions
diff --git a/drivers/block/rnull/configfs.rs b/drivers/block/rnull/configfs.rs
index 158f38bbbb8b..7c2eb5c0b722 100644
--- a/drivers/block/rnull/configfs.rs
+++ b/drivers/block/rnull/configfs.rs
@@ -3,7 +3,6 @@
use super::{NullBlkDevice, THIS_MODULE};
use kernel::{
block::mq::gen_disk::{GenDisk, GenDiskBuilder},
- c_str,
configfs::{self, AttributeOperations},
configfs_attrs,
fmt::{self, Write as _},
diff --git a/rust/kernel/configfs.rs b/rust/kernel/configfs.rs
index 466fb7f40762..2339c6467325 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)),
//! })
//! }
@@ -1000,7 +999,9 @@ macro_rules! configfs_attrs {
static [< $data:upper _ $name:upper _ATTR >]:
$crate::configfs::Attribute<$attr, $data, $data> =
unsafe {
- $crate::configfs::Attribute::new(c_str!(::core::stringify!($name)))
+ $crate::configfs::Attribute::new(
+ $crate::c_str!(::core::stringify!($name)),
+ )
};
)*
diff --git a/samples/configfs/configfs_sample.c b/samples/configfs/configfs_sample.c
index fd5d163828c5..c1b108ec4ea0 100644
--- a/samples/configfs/configfs_sample.c
+++ b/samples/configfs/configfs_sample.c
@@ -158,7 +158,7 @@ static void simple_child_release(struct config_item *item)
kfree(to_simple_child(item));
}
-static struct configfs_item_operations simple_child_item_ops = {
+static const struct configfs_item_operations simple_child_item_ops = {
.release = simple_child_release,
};
@@ -215,7 +215,7 @@ static void simple_children_release(struct config_item *item)
kfree(to_simple_children(item));
}
-static struct configfs_item_operations simple_children_item_ops = {
+static const struct configfs_item_operations simple_children_item_ops = {
.release = simple_children_release,
};
@@ -223,7 +223,7 @@ static struct configfs_item_operations simple_children_item_ops = {
* Note that, since no extra work is required on ->drop_item(),
* no ->drop_item() is provided.
*/
-static struct configfs_group_operations simple_children_group_ops = {
+static const struct configfs_group_operations simple_children_group_ops = {
.make_item = simple_children_make_item,
};
@@ -292,7 +292,7 @@ static struct configfs_attribute *group_children_attrs[] = {
* Note that, since no extra work is required on ->drop_item(),
* no ->drop_item() is provided.
*/
-static struct configfs_group_operations group_children_group_ops = {
+static const struct configfs_group_operations group_children_group_ops = {
.make_group = group_children_make_group,
};
diff --git a/samples/rust/rust_configfs.rs b/samples/rust/rust_configfs.rs
index 0ccc7553ef39..a1bd9db6010d 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::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 @@ impl kernel::InPlaceModule for RustConfigfs {
try_pin_init!(Self {
config <- configfs::Subsystem::new(
- c_str!("rust_configfs"), item_type, Configuration::new()
+ c"rust_configfs", item_type, Configuration::new()
),
})
}