milos-linux/samples
Danilo Krummrich 0242623384 rust: driver: let probe() return impl PinInit<Self, Error>
The driver model defines the lifetime of the private data stored in (and
owned by) a bus device to be valid from when the driver is bound to a
device (i.e. from successful probe()) until the driver is unbound from
the device.

This is already taken care of by the Rust implementation of the driver
model. However, we still ask drivers to return a Result<Pin<KBox<Self>>>
from probe().

Unlike in C, where we do not have the concept of initializers, but
rather deal with uninitialized memory, drivers can just return an
impl PinInit<Self, Error> instead.

This contributes to more clarity to the fact that a driver returns it's
device private data in probe() and the Rust driver model owns the data,
manages the lifetime and - considering the lifetime - provides (safe)
accessors for the driver.

Hence, let probe() functions return an impl PinInit<Self, Error> instead
of Result<Pin<KBox<Self>>>.

Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-10-21 18:40:48 +02:00
..
acrn
auxdisplay
binderfs
bpf Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-01 15:11:38 -07:00
cgroup samples/cgroup: rm unused MEMCG_EVENTS macro 2025-09-21 14:22:26 -07:00
check-exec samples/check-exec: Fix script name 2025-03-07 19:58:05 -08:00
configfs
connector treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
coresight
damon samples/damon/mtier: use damon_initialized() 2025-09-21 14:22:39 -07:00
fanotify samples: fix building fs-monitor on musl systems 2025-07-28 18:14:15 +02:00
fprobe
ftrace ftrace/samples: Fix function size computation 2025-09-05 18:39:12 -04:00
hid
hidraw
hung_task samples: enhance hung_task detector test with read-write semaphore support 2025-07-19 19:08:26 -07:00
hw_breakpoint
kdb
kfifo
kmemleak samples: kmemleak: print the raw pointers for debugging purposes 2025-03-16 22:06:08 -07:00
kobject samples/kobject: make attribute_group const 2025-07-16 13:32:53 +02:00
kprobes
landlock samples/landlock: Fix building on musl libc 2025-07-01 21:42:39 +02:00
livepatch samples/livepatch: add module descriptions 2025-04-11 17:32:38 -07:00
mei samples: mei: Fix building on musl libc 2025-07-16 14:17:47 +02:00
nitro_enclaves
pfsm
pidfd
pktgen
qmi
rpmsg
rust rust: driver: let probe() return impl PinInit<Self, Error> 2025-10-21 18:40:48 +02:00
seccomp
timers
trace_events tracing: Verify event formats that have "%*p.." 2025-04-02 09:51:26 -04:00
trace_printk
tsm-mr sample/tsm-mr: Fix missing static for sample_report 2025-05-12 22:15:57 -07:00
uhid
user_events
v4l media: v4l2-pci-skeleton: Rename second ioctl handlers argument to 'void *priv' 2025-08-13 08:33:59 +02:00
vfio-mdev
vfs samples/vfs: fix printf format string for size_t 2025-02-25 11:56:26 +01:00
watch_queue
watchdog
Kconfig samples: Kconfig: fix spelling mistake "instancess" -> "instances" 2025-08-02 12:01:41 -07:00
Makefile - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00