summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/src
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2023-10-17 16:43:43 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2023-10-18 08:08:25 +0200
commit162398a0d95afd642ceb4387d59f83277485e6e1 (patch)
tree8550498be4eb97e2fe5990329582568bd694f5ef /src/host/layer23/src
parent014646fc66032a8ef1961fdb129509174a9589a0 (diff)
ASCI: Register state machines only once, when the application starts
Diffstat (limited to 'src/host/layer23/src')
-rw-r--r--src/host/layer23/src/mobile/gsm44068_gcc_bcc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/host/layer23/src/mobile/gsm44068_gcc_bcc.c b/src/host/layer23/src/mobile/gsm44068_gcc_bcc.c
index 7bb8b297..0cef1c3a 100644
--- a/src/host/layer23/src/mobile/gsm44068_gcc_bcc.c
+++ b/src/host/layer23/src/mobile/gsm44068_gcc_bcc.c
@@ -83,14 +83,8 @@
* init
*/
-static struct osmo_fsm vgcs_gcc_fsm;
-static struct osmo_fsm vgcs_bcc_fsm;
-
int gsm44068_gcc_init(struct osmocom_ms *ms)
{
- OSMO_ASSERT(osmo_fsm_register(&vgcs_gcc_fsm) == 0);
- OSMO_ASSERT(osmo_fsm_register(&vgcs_bcc_fsm) == 0);
-
LOGP(DGCC, LOGL_INFO, "init GCC/BCC\n");
return 0;
@@ -1484,6 +1478,12 @@ static struct osmo_fsm vgcs_bcc_fsm = {
.timer_cb = vgcs_gcc_fsm_timer_cb,
};
+static __attribute__((constructor)) void on_dso_load(void)
+{
+ OSMO_ASSERT(osmo_fsm_register(&vgcs_gcc_fsm) == 0);
+ OSMO_ASSERT(osmo_fsm_register(&vgcs_bcc_fsm) == 0);
+}
+
static const char *gsm44068_gcc_state_name(struct osmo_fsm_inst *fi)
{
return vgcs_gcc_fsm_states[fi->state].name;