summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-06-24 13:30:56 +0200
committerHarald Welte <laforge@gnumonks.org>2010-06-24 13:30:56 +0200
commit806da1525b17070ad1f4a10bdfdee4e4c041f21c (patch)
tree520e8748d8ab1dde45d46b82f89618222e642017 /src
parent7419d6559f22ec7c364e7bdedd5e179d34f79775 (diff)
[layer1] use __attribute__ ((constructor)) for completion initializers
Diffstat (limited to 'src')
-rw-r--r--src/target/firmware/layer1/prim_fbsb.c4
-rw-r--r--src/target/firmware/layer1/prim_rach.c4
-rw-r--r--src/target/firmware/layer1/prim_tx_nb.c6
3 files changed, 12 insertions, 2 deletions
diff --git a/src/target/firmware/layer1/prim_fbsb.c b/src/target/firmware/layer1/prim_fbsb.c
index fe87996c..2c58033b 100644
--- a/src/target/firmware/layer1/prim_fbsb.c
+++ b/src/target/firmware/layer1/prim_fbsb.c
@@ -561,5 +561,9 @@ void l1s_fbsb_req(uint8_t base_fn, struct l1ctl_fbsb_req *req)
else if (fbs.req.flags & L1CTL_FBSB_F_SB)
tdma_schedule_set(base_fn, sb_sched_set, 0);
+}
+
+static __attribute__ ((constructor)) void l1s_prim_fbsb_init(void)
+{
l1s.completion[L1_COMPL_FB] = &l1a_fb_compl;
}
diff --git a/src/target/firmware/layer1/prim_rach.c b/src/target/firmware/layer1/prim_rach.c
index b8fcaaec..6781384c 100644
--- a/src/target/firmware/layer1/prim_rach.c
+++ b/src/target/firmware/layer1/prim_rach.c
@@ -128,5 +128,9 @@ void l1a_rach_req(uint8_t fn51, uint8_t ra)
l1a_unlock_sync();
memset(&last_rach, 0, sizeof(last_rach));
+}
+
+static __attribute__ ((constructor)) void prim_rach_init(void)
+{
l1s.completion[L1_COMPL_RACH] = &l1a_rach_compl;
}
diff --git a/src/target/firmware/layer1/prim_tx_nb.c b/src/target/firmware/layer1/prim_tx_nb.c
index 7a72ca3a..b721a864 100644
--- a/src/target/firmware/layer1/prim_tx_nb.c
+++ b/src/target/firmware/layer1/prim_tx_nb.c
@@ -188,8 +188,6 @@ void l1s_tx_test(uint8_t base_fn, uint8_t type)
tdma_schedule(base_fn + 4, &l1s_tx_resp, 2, 2, 0);
tdma_schedule(base_fn + 5, &l1s_tx_resp, 2, 3, 0);
}
-
- l1s.completion[L1_COMPL_TX_NB] = &l1a_tx_nb_compl;
}
/* sched sets for uplink */
@@ -203,3 +201,7 @@ const struct tdma_sched_item nb_sched_set_ul[] = {
SCHED_END_SET()
};
+static __attribute__ ((constructor)) void prim_tx_nb_init(void)
+{
+ l1s.completion[L1_COMPL_TX_NB] = &l1a_tx_nb_compl;
+}