summaryrefslogtreecommitdiff
path: root/samples/rust/rust_driver_platform.rs
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2025-04-09 22:00:25 +0200
committerIngo Molnar <mingo@kernel.org>2025-04-09 22:00:25 +0200
commit78a84fbfa4ffc4bb6e95560a909b2ac3efa0aad2 (patch)
treedb18cc54b9b0b43bd0ed78dc76eef64aababb98f /samples/rust/rust_driver_platform.rs
parent60567e93c05d7064c93830cf4bf0d2c58f11b2f2 (diff)
parent0af2f6be1b4281385b618cb86ad946eded089ac8 (diff)
Merge tag 'v6.15-rc1' into x86/mm, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'samples/rust/rust_driver_platform.rs')
-rw-r--r--samples/rust/rust_driver_platform.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/samples/rust/rust_driver_platform.rs b/samples/rust/rust_driver_platform.rs
index f7a0f1b29d1d..8b42b3cfb363 100644
--- a/samples/rust/rust_driver_platform.rs
+++ b/samples/rust/rust_driver_platform.rs
@@ -2,10 +2,10 @@
//! Rust Platform driver sample.
-use kernel::{c_str, of, platform, prelude::*};
+use kernel::{c_str, device::Core, of, platform, prelude::*, types::ARef};
struct SampleDriver {
- pdev: platform::Device,
+ pdev: ARef<platform::Device>,
}
struct Info(u32);
@@ -21,14 +21,17 @@ impl platform::Driver for SampleDriver {
type IdInfo = Info;
const OF_ID_TABLE: Option<of::IdTable<Self::IdInfo>> = Some(&OF_TABLE);
- fn probe(pdev: &mut platform::Device, info: Option<&Self::IdInfo>) -> Result<Pin<KBox<Self>>> {
+ fn probe(
+ pdev: &platform::Device<Core>,
+ info: Option<&Self::IdInfo>,
+ ) -> Result<Pin<KBox<Self>>> {
dev_dbg!(pdev.as_ref(), "Probe Rust Platform driver sample.\n");
if let Some(info) = info {
dev_info!(pdev.as_ref(), "Probed with info: '{}'.\n", info.0);
}
- let drvdata = KBox::new(Self { pdev: pdev.clone() }, GFP_KERNEL)?;
+ let drvdata = KBox::new(Self { pdev: pdev.into() }, GFP_KERNEL)?;
Ok(drvdata.into())
}