From 32bc11698a80fada30910064e4c2e825ad8719bb Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 6 Jun 2011 18:58:48 +0200 Subject: add mo->bts member so we can discover which BTS a MO belong sto --- openbsc/src/libcommon/gsm_data_shared.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'openbsc/src/libcommon/gsm_data_shared.c') diff --git a/openbsc/src/libcommon/gsm_data_shared.c b/openbsc/src/libcommon/gsm_data_shared.c index 42da89385..4c4c3edca 100644 --- a/openbsc/src/libcommon/gsm_data_shared.c +++ b/openbsc/src/libcommon/gsm_data_shared.c @@ -34,6 +34,11 @@ #include +static void gsm_mo_init(struct gsm_abis_mo *mo, struct gsm_bts *bts) +{ + mo->bts = bts; +} + static const struct value_string pchan_names[] = { { GSM_PCHAN_NONE, "NONE" }, { GSM_PCHAN_CCCH, "CCCH" }, @@ -112,6 +117,9 @@ struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts) trx->nr = bts->num_trx++; trx->mo.nm_state.administrative = NM_STATE_UNLOCKED; + gsm_mo_init(&trx->mo, bts); + gsm_mo_init(&trx->bb_transc.mo, bts); + for (k = 0; k < TRX_NR_TS; k++) { struct gsm_bts_trx_ts *ts = &trx->ts[k]; int l; @@ -121,6 +129,8 @@ struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts) ts->pchan = GSM_PCHAN_NONE; ts->tsc = -1; + gsm_mo_init(&ts->mo, bts); + ts->hopping.arfcns.data_len = sizeof(ts->hopping.arfcns_data); ts->hopping.arfcns.data = ts->hopping.arfcns_data; ts->hopping.ma.data_len = sizeof(ts->hopping.ma_data); @@ -144,6 +154,7 @@ struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts) return trx; } + static const uint8_t bts_nse_timer_default[] = { 3, 3, 3, 3, 30, 3, 10 }; static const uint8_t bts_cell_timer_default[] = { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }; @@ -160,14 +171,20 @@ struct gsm_bts *gsm_bts_alloc(void *ctx) INIT_LLIST_HEAD(&bts->trx_list); bts->ms_max_power = 15; /* dBm */ + gsm_mo_init(&bts->mo, bts); + gsm_mo_init(&bts->site_mgr.mo, bts); + for (i = 0; i < ARRAY_SIZE(bts->gprs.nsvc); i++) { bts->gprs.nsvc[i].bts = bts; bts->gprs.nsvc[i].id = i; + gsm_mo_init(&bts->gprs.nsvc[i].mo, bts); } memcpy(&bts->gprs.nse.timer, bts_nse_timer_default, sizeof(bts->gprs.nse.timer)); + gsm_mo_init(&bts->gprs.nse.mo, bts); memcpy(&bts->gprs.cell.timer, bts_cell_timer_default, sizeof(bts->gprs.cell.timer)); + gsm_mo_init(&bts->gprs.cell.mo, bts); /* create our primary TRX */ bts->c0 = gsm_bts_trx_alloc(bts); -- cgit v1.2.3