linux/rust/kernel
Danilo Krummrich a321f3ad0a rust: str: add {make,to}_{upper,lower}case() to CString
Add functions to convert a CString to upper- / lowercase, either
in-place or by creating a copy of the original CString.

Naming follows the one from the Rust stdlib, where functions starting
with 'to' create a copy and functions starting with 'make' perform an
in-place conversion.

This is required by the Nova project (GSP only Rust successor of
Nouveau) to convert stringified enum values (representing different GPU
chipsets) to strings in order to generate the corresponding firmware
paths. See also [1].

Link: https://rust-for-linux.zulipchat.com/#narrow/stream/288089-General/topic/String.20manipulation.20in.20kernel.20Rust [1]
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Link: https://lore.kernel.org/r/20240223163726.12397-1-dakr@redhat.com
[ Reworded to fix typo and to make the link use the `Link:` tag. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-04-02 17:41:56 +02:00
..
init rust: init: update expanded macro explanation 2023-08-21 14:31:49 +02:00
net rust: phy: use VTABLE_DEFAULT_ERROR 2024-01-27 14:28:00 +00:00
sync rust: kernel: stop using ptr_metadata feature 2024-02-18 21:22:27 +01:00
allocator.rs rust: kernel: fix multiple typos in documentation 2024-02-18 21:22:27 +01:00
build_assert.rs rust: upgrade to Rust 1.68.2 2023-05-31 17:35:03 +02:00
error.rs rust: error: improve unsafe code in example 2024-02-18 21:22:27 +01:00
init.rs rust: kernel: add reexports for macros 2024-02-18 21:22:27 +01:00
ioctl.rs rust: kernel: mark code fragments in docs with backticks 2024-02-18 21:22:27 +01:00
kunit.rs rust: support srctree-relative links 2023-12-21 20:54:17 +01:00
lib.rs rust: upgrade to Rust 1.77.1 2024-03-29 20:12:30 +01:00
net.rs rust: core abstractions for network PHY drivers 2023-12-15 09:35:50 +00:00
prelude.rs rust: add derive macro for Zeroable 2023-08-21 14:31:48 +02:00
print.rs rust: support srctree-relative links 2023-12-21 20:54:17 +01:00
static_assert.rs rust: static_assert: add static_assert! macro 2022-12-04 01:59:16 +01:00
std_vendor.rs rust: upgrade to Rust 1.68.2 2023-05-31 17:35:03 +02:00
str.rs rust: str: add {make,to}_{upper,lower}case() to CString 2024-04-02 17:41:56 +02:00
sync.rs rust: kernel: add reexports for macros 2024-02-18 21:22:27 +01:00
task.rs rust: kernel: mark code fragments in docs with backticks 2024-02-18 21:22:27 +01:00
time.rs rust: time: add msecs to jiffies conversion 2024-01-28 19:50:48 +01:00
types.rs rust: types: add try_from_foreign() method 2024-02-25 19:17:31 +01:00
workqueue.rs workqueue: Changes for v6.9 2024-03-11 12:50:42 -07:00