diff --git a/Cargo.lock b/Cargo.lock index 4cc0303b7..c2bb25ec2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,7 +17,6 @@ version = "0.1.0" dependencies = [ "embassy-executor", "embassy-time", - "linkme", "riot-rs", "riot-rs-boards", ] @@ -744,7 +743,6 @@ dependencies = [ "embassy-time", "embedded-io-async", "httparse", - "linkme", "picoserve", "riot-rs", "riot-rs-boards", @@ -796,7 +794,6 @@ dependencies = [ "embassy-net", "embassy-time", "embedded-io-async", - "linkme", "riot-rs", "riot-rs-boards", ] @@ -809,7 +806,6 @@ dependencies = [ "embassy-net", "embassy-time", "embedded-io-async", - "linkme", "riot-rs", "riot-rs-boards", ] diff --git a/examples/application/Cargo.toml b/examples/application/Cargo.toml index a08647535..eb67bde58 100644 --- a/examples/application/Cargo.toml +++ b/examples/application/Cargo.toml @@ -10,4 +10,3 @@ riot-rs = { path = "../../src/riot-rs" } riot-rs-boards = { path = "../../src/riot-rs-boards" } embassy-executor = { workspace = true, default-features = false } embassy-time = { workspace = true, default-features = false } -linkme.workspace = true diff --git a/examples/embassy-http-server/Cargo.toml b/examples/embassy-http-server/Cargo.toml index 83c69b4d5..cda526782 100644 --- a/examples/embassy-http-server/Cargo.toml +++ b/examples/embassy-http-server/Cargo.toml @@ -12,7 +12,6 @@ embassy-executor = { workspace = true, default-features = false } embassy-nrf = { workspace = true } embassy-sync = { workspace = true } embassy-time = { workspace = true, default-features = false } -linkme.workspace = true embassy-net = { workspace = true, features = ["tcp"] } embedded-io-async = "0.6.0" httparse = { version = "1.8.0", default-features = false } diff --git a/examples/embassy-net-tcp/Cargo.toml b/examples/embassy-net-tcp/Cargo.toml index 5399a5f4f..69d7d2f87 100644 --- a/examples/embassy-net-tcp/Cargo.toml +++ b/examples/embassy-net-tcp/Cargo.toml @@ -10,6 +10,5 @@ riot-rs = { path = "../../src/riot-rs", features = [ "time", "usb_ethernet"] } riot-rs-boards = { path = "../../src/riot-rs-boards" } embassy-executor = { workspace = true, default-features = false } embassy-time = { workspace = true, default-features = false } -linkme.workspace = true embassy-net = { workspace = true, features = ["tcp" ] } embedded-io-async = "0.6.1" diff --git a/examples/embassy-net-udp/Cargo.toml b/examples/embassy-net-udp/Cargo.toml index 11ec6716b..624d62c0e 100644 --- a/examples/embassy-net-udp/Cargo.toml +++ b/examples/embassy-net-udp/Cargo.toml @@ -10,6 +10,5 @@ riot-rs = { path = "../../src/riot-rs", features = [ "time", "usb_ethernet"] } riot-rs-boards = { path = "../../src/riot-rs-boards" } embassy-executor = { workspace = true, default-features = false } embassy-time = { workspace = true, default-features = false } -linkme.workspace = true embassy-net = { workspace = true, features = ["udp"] } embedded-io-async = "0.6.1" diff --git a/src/riot-rs-embassy/src/lib.rs b/src/riot-rs-embassy/src/lib.rs index 7da43c69a..dba3d06c6 100644 --- a/src/riot-rs-embassy/src/lib.rs +++ b/src/riot-rs-embassy/src/lib.rs @@ -10,7 +10,7 @@ pub mod arch; use core::cell::OnceCell; -pub use linkme::distributed_slice; +pub use linkme::{self, distributed_slice}; use embassy_executor::{InterruptExecutor, Spawner}; use embassy_sync::{blocking_mutex::raw::CriticalSectionRawMutex, mutex::Mutex}; @@ -318,6 +318,7 @@ impl From for ApplicationInitError { macro_rules! riot_initialize { ($prog_type:ident) => { #[$crate::distributed_slice($crate::EMBASSY_TASKS)] + #[linkme(crate = $crate::linkme)] fn __init_application( peripherals: &mut $crate::arch::OptionalPeripherals, init_args: $crate::InitializationArgs,