From bf38f7db8c0d5b564c0111cf5f5e5a4f1761e02b Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser Date: Thu, 11 Jan 2024 22:21:47 +0100 Subject: [PATCH 1/2] riot-rs-embassy: set linkme crate path in `riot_initialize!()` --- src/riot-rs-embassy/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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, From 7f2286a840a35b1d83c5521f137e32e9897701f6 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser Date: Thu, 11 Jan 2024 22:22:23 +0100 Subject: [PATCH 2/2] examples: drop now obsolete "linkme" dependencies --- Cargo.lock | 4 ---- examples/application/Cargo.toml | 1 - examples/embassy-http-server/Cargo.toml | 1 - examples/embassy-net-tcp/Cargo.toml | 1 - examples/embassy-net-udp/Cargo.toml | 1 - 5 files changed, 8 deletions(-) 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"