aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2018-01-17 21:51:47 +0100
committerGravatar Jorge Aparicio <jorge@japaric.io> 2018-01-17 21:51:47 +0100
commit1aee43cc3085828dada0702a0330b5519e36bdb2 (patch)
treee67cf583e2fcae0a6db6f1bcab41deb8e6eed076 /src
parent7ab9cf4bfb9687518b81dbd25b6ec54c4da50e17 (diff)
downloadcortex-m-1aee43cc3085828dada0702a0330b5519e36bdb2.tar.gz
cortex-m-1aee43cc3085828dada0702a0330b5519e36bdb2.tar.zst
cortex-m-1aee43cc3085828dada0702a0330b5519e36bdb2.zip
impl Send for all the peripherals
Diffstat (limited to 'src')
-rw-r--r--src/peripheral/mod.rs32
1 files changed, 29 insertions, 3 deletions
diff --git a/src/peripheral/mod.rs b/src/peripheral/mod.rs
index dad12a5..4462136 100644
--- a/src/peripheral/mod.rs
+++ b/src/peripheral/mod.rs
@@ -221,6 +221,9 @@ pub struct CBP {
}
#[cfg(any(armv7m, target_arch = "x86_64"))]
+unsafe impl Send for CBP {}
+
+#[cfg(any(armv7m, target_arch = "x86_64"))]
impl CBP {
pub(crate) unsafe fn new() -> Self {
CBP {
@@ -235,9 +238,6 @@ impl CBP {
}
#[cfg(any(armv7m, target_arch = "x86_64"))]
-unsafe impl Send for CBP {}
-
-#[cfg(any(armv7m, target_arch = "x86_64"))]
impl ops::Deref for CBP {
type Target = self::cbp::RegisterBlock;
@@ -251,6 +251,8 @@ pub struct CPUID {
_marker: PhantomData<*const ()>,
}
+unsafe impl Send for CPUID {}
+
impl CPUID {
/// Returns a pointer to the register block
pub fn ptr() -> *const self::cpuid::RegisterBlock {
@@ -271,6 +273,8 @@ pub struct DCB {
_marker: PhantomData<*const ()>,
}
+unsafe impl Send for DCB {}
+
impl DCB {
/// Returns a pointer to the register block
pub fn ptr() -> *const dcb::RegisterBlock {
@@ -291,6 +295,8 @@ pub struct DWT {
_marker: PhantomData<*const ()>,
}
+unsafe impl Send for DWT {}
+
impl DWT {
/// Returns a pointer to the register block
pub fn ptr() -> *const dwt::RegisterBlock {
@@ -315,6 +321,9 @@ pub struct FPB {
}
#[cfg(any(armv7m, target_arch = "x86_64"))]
+unsafe impl Send for FPB {}
+
+#[cfg(any(armv7m, target_arch = "x86_64"))]
impl FPB {
/// Returns a pointer to the register block
pub fn ptr() -> *const fpb::RegisterBlock {
@@ -340,6 +349,9 @@ pub struct FPU {
}
#[cfg(any(has_fpu, target_arch = "x86_64"))]
+unsafe impl Send for FPU {}
+
+#[cfg(any(has_fpu, target_arch = "x86_64"))]
impl FPU {
/// Returns a pointer to the register block
pub fn ptr() -> *const fpu::RegisterBlock {
@@ -365,6 +377,9 @@ pub struct ITM {
}
#[cfg(any(armv7m, target_arch = "x86_64"))]
+unsafe impl Send for ITM {}
+
+#[cfg(any(armv7m, target_arch = "x86_64"))]
impl ITM {
/// Returns a pointer to the register block
pub fn ptr() -> *mut itm::RegisterBlock {
@@ -393,6 +408,8 @@ pub struct MPU {
_marker: PhantomData<*const ()>,
}
+unsafe impl Send for MPU {}
+
impl MPU {
/// Returns a pointer to the register block
pub fn ptr() -> *const mpu::RegisterBlock {
@@ -413,6 +430,8 @@ pub struct NVIC {
_marker: PhantomData<*const ()>,
}
+unsafe impl Send for NVIC {}
+
impl NVIC {
/// Returns a pointer to the register block
pub fn ptr() -> *const nvic::RegisterBlock {
@@ -433,6 +452,8 @@ pub struct SCB {
_marker: PhantomData<*const ()>,
}
+unsafe impl Send for SCB {}
+
impl SCB {
/// Returns a pointer to the register block
pub fn ptr() -> *const scb::RegisterBlock {
@@ -453,6 +474,8 @@ pub struct SYST {
_marker: PhantomData<*const ()>,
}
+unsafe impl Send for SYST {}
+
impl SYST {
/// Returns a pointer to the register block
pub fn ptr() -> *const syst::RegisterBlock {
@@ -477,6 +500,9 @@ pub struct TPIU {
}
#[cfg(any(armv7m, target_arch = "x86_64"))]
+unsafe impl Send for TPIU {}
+
+#[cfg(any(armv7m, target_arch = "x86_64"))]
impl TPIU {
/// Returns a pointer to the register block
pub fn ptr() -> *const tpiu::RegisterBlock {