Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

rust: device: conditionally expect `dead_code` for `parent()`

When `CONFIG_AUXILIARY_BUS` is disabled, `parent()` is still dead code:

error: method `parent` is never used
--> rust/kernel/device.rs:71:19
|
64 | impl<Ctx: DeviceContext> Device<Ctx> {
| ------------------------------------ method in this implementation
...
71 | pub(crate) fn parent(&self) -> Option<&Self> {
| ^^^^^^
|
= note: `-D dead-code` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(dead_code)]`

Thus reintroduce the `expect`, but now as a conditional one. Do so as
`dead_code` since that is narrower.

An `allow` would also be possible, but Danilo wants to catch new users
in the future [1].

Link: https://lore.kernel.org/rust-for-linux/aBE8qQrpXOfru_K3@pollux/ [1]
Fixes: ce735e73dd59 ("rust: auxiliary: add auxiliary device / driver abstractions")
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Link: https://lore.kernel.org/r/20250429210629.513521-1-ojeda@kernel.org
[ Adjust commit subject to "rust: device: conditionally expect
`dead_code` for `parent()`". - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>

authored by

Miguel Ojeda and committed by
Danilo Krummrich
fc55584e 3be746eb

+1
+1
rust/kernel/device.rs
··· 68 68 } 69 69 70 70 /// Returns a reference to the parent device, if any. 71 + #[cfg_attr(not(CONFIG_AUXILIARY_BUS), expect(dead_code))] 71 72 pub(crate) fn parent(&self) -> Option<&Self> { 72 73 // SAFETY: 73 74 // - By the type invariant `self.as_raw()` is always valid.