linux/rust/kernel
Benno Lossin 578eb8b6db rust: pin-init: move the default error behavior of try_[pin_]init
Move the ability to just write `try_pin_init!(Foo { a <- a_init })`
(note the missing `? Error` at the end) into the kernel crate.
Remove this notation from the pin-init crate, since the default when no
error is specified is the kernel-internal `Error` type. Instead add two
macros in the kernel crate that serve this default and are used instead
of the ones from `pin-init`.

This is done, because the `Error` type that is used as the default is
from the kernel crate and it thus prevents making the pin-init crate
standalone.

In order to not cause a build error due to a name overlap, the macros in
the pin-init crate are renamed, but this change is reverted in a future
commit when it is a standalone crate.

Signed-off-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Fiona Behrens <me@kloenk.dev>
Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org>
Tested-by: Andreas Hindborg <a.hindborg@kernel.org>
Link: https://lore.kernel.org/r/20250308110339.2997091-8-benno.lossin@proton.me
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-03-16 21:59:18 +01:00
..
alloc rust: alloc: make ReallocFunc::call inline 2025-03-06 20:49:06 +01:00
block Rust changes for v6.14 2025-01-21 17:48:03 -08:00
fs rust: improve lifetimes markup 2025-03-08 23:04:38 +01:00
list rust: use derive(CoercePointee) on rustc >= 1.84.0 2025-01-13 23:45:30 +01:00
net rust: module: introduce authors key 2025-03-10 15:12:17 +01:00
sync rust: improve lifetimes markup 2025-03-08 23:04:38 +01:00
.gitignore rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
alloc.rs rust: use derive(CoercePointee) on rustc >= 1.84.0 2025-01-13 23:45:30 +01:00
block.rs rust: block: introduce kernel::block::mq module 2024-06-14 07:45:04 -06:00
build_assert.rs rust: add build_error! to the prelude 2025-01-10 00:19:09 +01:00
cred.rs rust: file: add Kuid wrapper 2024-09-30 13:02:29 +02:00
device.rs Driver core and debugfs updates 2025-01-28 12:25:12 -08:00
device_id.rs rust: implement IdArray, IdTable and RawDeviceId 2024-12-20 17:19:25 +01:00
devres.rs rust: devres: remove action in Devres::drop 2025-01-10 15:49:06 +01:00
driver.rs rust: driver: address soundness issue in RegistrationOps 2025-01-07 11:31:45 +01:00
error.rs rust: error: extend the Result documentation 2025-03-16 20:54:08 +01:00
faux.rs rust/kernel: Add faux device bindings 2025-02-13 16:58:58 +01:00
firmware.rs rust: map long to isize and char to u8 2024-12-16 21:49:33 +01:00
fs.rs rust: file: add Rust abstraction for struct file 2024-09-30 13:02:28 +02:00
generated_arch_static_branch_asm.rs.S rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
init.rs rust: pin-init: move the default error behavior of try_[pin_]init 2025-03-16 21:59:18 +01:00
io.rs rust: add io::{Io, IoRaw} base types 2024-12-20 17:19:26 +01:00
ioctl.rs rust: start using the #[expect(...)] attribute 2024-10-07 21:39:57 +02:00
jump_label.rs rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
kunit.rs rust: kunit: use C-string literals to clean warning 2024-10-01 23:46:42 +02:00
lib.rs rust: add extensions to the pin-init crate and move relevant documentation there 2025-03-16 21:59:18 +01:00
list.rs rust: list: make the cursor point between elements 2025-03-08 22:35:34 +01:00
miscdevice.rs Driver core and debugfs updates 2025-01-28 12:25:12 -08:00
net.rs
of.rs rust: of: add of::DeviceId abstraction 2024-12-20 17:21:04 +01:00
page.rs rust: page: remove unnecessary helper function from doctest 2025-01-13 23:44:55 +01:00
pci.rs rust: module: introduce authors key 2025-03-10 15:12:17 +01:00
pid_namespace.rs rust: add PidNamespace 2024-10-08 15:44:36 +02:00
platform.rs rust: module: introduce authors key 2025-03-10 15:12:17 +01:00
prelude.rs rust: add #[export] macro 2025-03-09 20:52:46 +01:00
print.rs print: use new #[export] macro for rust_fmt_argument 2025-03-09 20:52:46 +01:00
rbtree.rs rust: improve lifetimes markup 2025-03-08 23:04:38 +01:00
revocable.rs rust: add Revocable type 2024-12-20 17:19:26 +01:00
security.rs rust: finish using custom FFI integer types 2024-12-16 21:48:45 +01:00
seq_file.rs rust: improve lifetimes markup 2025-03-08 23:04:38 +01:00
sizes.rs rust: sizes: add commonly used constants 2024-08-30 10:27:34 +01:00
static_assert.rs
std_vendor.rs rust: std_vendor: update dbg macro from Rust upstream 2024-10-10 00:33:42 +02:00
str.rs rust: str: replace unwraps with question mark operators 2025-01-13 23:45:05 +01:00
sync.rs Driver core and debugfs updates 2025-01-28 12:25:12 -08:00
task.rs rust: task: make Pid type alias public 2025-03-06 20:59:45 +01:00
time.rs rust: use custom FFI integer types 2024-11-10 23:58:00 +01:00
tracepoint.rs rust: add tracepoint support 2024-11-04 16:21:44 -05:00
transmute.rs rust: kernel: move FromBytes and AsBytes traits to a new transmute module 2024-10-10 00:33:42 +02:00
types.rs rust: types: add intra-doc links for Opaque<T> 2025-03-10 15:24:05 +01:00
uaccess.rs rust: uaccess: generalize userSliceReader to support any Vec 2025-01-13 23:46:23 +01:00
workqueue.rs Rust changes for v6.14 2025-01-21 17:48:03 -08:00