mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
rust: regulator: implement Send and Sync for Regulator<T>
Sending a &Regulator<T> to another thread is safe, as the regulator core will properly handle the locking for us. Additionally, there are no restrictions that prevents sending a Regulator<T> to another thread. Given these two facts, implement Send and Sync. Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com> Link: https://patch.msgid.link/20250729-regulator-send-sync-v1-2-8bcbd546b940@collabora.com Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f7fbf3091f
commit
9a200cbdb5
|
|
@ -398,6 +398,14 @@ fn drop(&mut self) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SAFETY: It is safe to send a `Regulator<T>` across threads. In particular, a
|
||||||
|
// Regulator<T> can be dropped from any thread.
|
||||||
|
unsafe impl<T: RegulatorState> Send for Regulator<T> {}
|
||||||
|
|
||||||
|
// SAFETY: It is safe to send a &Regulator<T> across threads because the C side
|
||||||
|
// handles its own locking.
|
||||||
|
unsafe impl<T: RegulatorState> Sync for Regulator<T> {}
|
||||||
|
|
||||||
/// A voltage.
|
/// A voltage.
|
||||||
///
|
///
|
||||||
/// This type represents a voltage value in microvolts.
|
/// This type represents a voltage value in microvolts.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user