From ddb20b8b4e39e7342350ed5b34a2b64029fce7b0 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 20 May 2011 18:16:09 +0200 Subject: [PATCH 1/1] remove osmocom_ms reference from lapdm_init() ... yet another step in making lapdm code independent of osmocom_ms --- src/host/layer23/include/osmocom/bb/common/lapdm.h | 2 +- src/host/layer23/src/common/lapdm.c | 7 ++----- src/host/layer23/src/common/main.c | 9 +++++++-- src/host/layer23/src/mobile/app_mobile.c | 8 ++++++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/host/layer23/include/osmocom/bb/common/lapdm.h b/src/host/layer23/include/osmocom/bb/common/lapdm.h index b610564..1214f0f 100644 --- a/src/host/layer23/include/osmocom/bb/common/lapdm.h +++ b/src/host/layer23/include/osmocom/bb/common/lapdm.h @@ -75,7 +75,7 @@ const char *get_rsl_name(int value); extern const char *lapdm_state_names[]; /* initialize a LAPDm entity */ -void lapdm_init(struct lapdm_entity *le, struct osmocom_ms *ms); +void lapdm_init(struct lapdm_entity *le); /* deinitialize a LAPDm entity */ void lapdm_exit(struct lapdm_entity *le); diff --git a/src/host/layer23/src/common/lapdm.c b/src/host/layer23/src/common/lapdm.c index a2a9d5f..d062ee3 100644 --- a/src/host/layer23/src/common/lapdm.c +++ b/src/host/layer23/src/common/lapdm.c @@ -1,6 +1,6 @@ /* GSM LAPDm (TS 04.06) implementation */ -/* (C) 2010 by Harald Welte +/* (C) 2010-2011 by Harald Welte * (C) 2010 by Andreas Eversberg * * All Rights Reserved @@ -186,15 +186,12 @@ static void lapdm_dl_init(struct lapdm_datalink *dl, dl->entity = entity; } -void lapdm_init(struct lapdm_entity *le, struct osmocom_ms *ms) +void lapdm_init(struct lapdm_entity *le) { unsigned int i; for (i = 0; i < ARRAY_SIZE(le->datalink); i++) lapdm_dl_init(&le->datalink[i], le); - - le->l1_ctx = ms; - le->l3_ctx = ms; } static void lapdm_dl_flush_send(struct lapdm_datalink *dl) diff --git a/src/host/layer23/src/common/main.c b/src/host/layer23/src/common/main.c index a307222..9705af5 100644 --- a/src/host/layer23/src/common/main.c +++ b/src/host/layer23/src/common/main.c @@ -254,8 +254,13 @@ int main(int argc, char **argv) if (rc < 0) fprintf(stderr, "Failed during sap_open(), no SIM reader\n"); - lapdm_init(&ms->l2_entity.lapdm_dcch, ms); - lapdm_init(&ms->l2_entity.lapdm_acch, ms); + ms->l2_entity.lapdm_dcch.l1_ctx = ms; + ms->l2_entity.lapdm_dcch.l3_ctx = ms; + lapdm_init(&ms->l2_entity.lapdm_dcch); + + ms->l2_entity.lapdm_acch.l1_ctx = ms; + ms->l2_entity.lapdm_acch.l3_ctx = ms; + lapdm_init(&ms->l2_entity.lapdm_acch); rc = l23_app_init(ms); if (rc < 0) diff --git a/src/host/layer23/src/mobile/app_mobile.c b/src/host/layer23/src/mobile/app_mobile.c index 1dc585a..5bb580a 100644 --- a/src/host/layer23/src/mobile/app_mobile.c +++ b/src/host/layer23/src/mobile/app_mobile.c @@ -160,8 +160,12 @@ int mobile_init(struct osmocom_ms *ms) int rc; gsm_settings_arfcn(ms); - lapdm_init(&ms->l2_entity.lapdm_dcch, ms); - lapdm_init(&ms->l2_entity.lapdm_acch, ms); + ms->l2_entity.lapdm_dcch.l1_ctx = ms; + ms->l2_entity.lapdm_dcch.l3_ctx = ms; + lapdm_init(&ms->l2_entity.lapdm_dcch); + ms->l2_entity.lapdm_acch.l1_ctx = ms; + ms->l2_entity.lapdm_acch.l3_ctx = ms; + lapdm_init(&ms->l2_entity.lapdm_acch); gsm_sim_init(ms); gsm48_cc_init(ms); gsm_subscr_init(ms); -- 2.20.1