pespin has uploaded this change for review.
Simplify implementation of bts_model_opstart() in all bts types
Use mo->fi directly to avoid repeating code paths for each obj_class.
Change-Id: I54632201afe87eb3e02bc75cbade163917239ab6
---
M src/osmo-bts-lc15/oml.c
M src/osmo-bts-oc2g/oml.c
M src/osmo-bts-octphy/l1_oml.c
M src/osmo-bts-omldummy/bts_model.c
M src/osmo-bts-sysmo/oml.c
M src/osmo-bts-trx/l1_if.c
M src/osmo-bts-virtual/bts_model.c
7 files changed, 25 insertions(+), 74 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/10/32210/1
diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c
index da2f348..0bbb2de 100644
--- a/src/osmo-bts-lc15/oml.c
+++ b/src/osmo-bts-lc15/oml.c
@@ -1869,19 +1869,14 @@
switch (mo->obj_class) {
case NM_OC_SITE_MANAGER:
- rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BTS:
- rc = osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OPSTART_ACK, NULL);
+ case NM_OC_BASEB_TRANSC:
+ rc = osmo_fsm_inst_dispatch(mo->fi, NM_EV_OPSTART_ACK, NULL);
break;
case NM_OC_RADIO_CARRIER:
trx = (struct gsm_bts_trx *) obj;
rc = trx_init(trx);
break;
- case NM_OC_BASEB_TRANSC:
- bb_transc = (struct gsm_bts_bb_trx *) obj;
- rc = osmo_fsm_inst_dispatch(bb_transc->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_CHANNEL:
ts = (struct gsm_bts_trx_ts*) obj;
rc = ts_opstart(ts);
diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c
index 6809133..2e37fe7 100644
--- a/src/osmo-bts-oc2g/oml.c
+++ b/src/osmo-bts-oc2g/oml.c
@@ -1874,19 +1874,14 @@
switch (mo->obj_class) {
case NM_OC_SITE_MANAGER:
- rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BTS:
- rc = osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OPSTART_ACK, NULL);
+ case NM_OC_BASEB_TRANSC:
+ rc = osmo_fsm_inst_dispatch(mo->fi, NM_EV_OPSTART_ACK, NULL);
break;
case NM_OC_RADIO_CARRIER:
trx = (struct gsm_bts_trx *) obj;
rc = trx_init(trx);
break;
- case NM_OC_BASEB_TRANSC:
- bb_transc = (struct gsm_bts_bb_trx *) obj;
- rc = osmo_fsm_inst_dispatch(bb_transc->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_CHANNEL:
ts = (struct gsm_bts_trx_ts*) obj;
rc = ts_opstart(ts);
diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c
index d8142cb..21a8d6a 100644
--- a/src/osmo-bts-octphy/l1_oml.c
+++ b/src/osmo-bts-octphy/l1_oml.c
@@ -1767,26 +1767,20 @@
/* callback from OML */
int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo, void *obj)
{
- struct gsm_bts_bb_trx *bb_transc;
struct gsm_bts_trx* trx;
struct gsm_bts_trx_ts *ts;
int rc;
switch (mo->obj_class) {
case NM_OC_SITE_MANAGER:
- rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BTS:
- rc = osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OPSTART_ACK, NULL);
+ case NM_OC_BASEB_TRANSC:
+ rc = osmo_fsm_inst_dispatch(mo->fi, NM_EV_OPSTART_ACK, NULL);
break;
case NM_OC_RADIO_CARRIER:
trx = (struct gsm_bts_trx*) obj;
rc = trx_init(trx);
break;
- case NM_OC_BASEB_TRANSC:
- bb_transc = (struct gsm_bts_bb_trx *) obj;
- rc = osmo_fsm_inst_dispatch(bb_transc->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_CHANNEL:
ts = (struct gsm_bts_trx_ts*) obj;
rc = ts_connect_as(ts, ts->pchan, pchan_act_compl_cb, NULL);
diff --git a/src/osmo-bts-omldummy/bts_model.c b/src/osmo-bts-omldummy/bts_model.c
index 03e1825..78ae544 100644
--- a/src/osmo-bts-omldummy/bts_model.c
+++ b/src/osmo-bts-omldummy/bts_model.c
@@ -121,28 +121,14 @@
int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo, void *obj)
{
int rc;
- struct gsm_bts_bb_trx *bb_transc;
- struct gsm_bts_trx* trx;
- struct gsm_bts_trx_ts* ts;
switch (mo->obj_class) {
case NM_OC_SITE_MANAGER:
- rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BTS:
- rc = osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
- case NM_OC_RADIO_CARRIER:
- trx = (struct gsm_bts_trx*) obj;
- rc = osmo_fsm_inst_dispatch(trx->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BASEB_TRANSC:
- bb_transc = (struct gsm_bts_bb_trx *) obj;
- rc = osmo_fsm_inst_dispatch(bb_transc->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
+ case NM_OC_RADIO_CARRIER:
case NM_OC_CHANNEL:
- ts = (struct gsm_bts_trx_ts *) obj;
- rc = osmo_fsm_inst_dispatch(ts->mo.fi, NM_EV_OPSTART_ACK, NULL);
+ rc = osmo_fsm_inst_dispatch(mo->fi, NM_EV_OPSTART_ACK, NULL);
break;
case NM_OC_GPRS_NSE:
case NM_OC_GPRS_CELL:
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c
index 3954244..a610111 100644
--- a/src/osmo-bts-sysmo/oml.c
+++ b/src/osmo-bts-sysmo/oml.c
@@ -1743,26 +1743,20 @@
int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo,
void *obj)
{
- struct gsm_bts_bb_trx *bb_transc;
struct gsm_bts_trx* trx;
struct gsm_bts_trx_ts *ts;
int rc;
switch (mo->obj_class) {
case NM_OC_SITE_MANAGER:
- rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BTS:
- rc = osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OPSTART_ACK, NULL);
+ case NM_OC_BASEB_TRANSC:
+ rc = osmo_fsm_inst_dispatch(mo->fi, NM_EV_OPSTART_ACK, NULL);
break;
case NM_OC_RADIO_CARRIER:
trx = (struct gsm_bts_trx *) obj;
rc = trx_init(trx);
break;
- case NM_OC_BASEB_TRANSC:
- bb_transc = (struct gsm_bts_bb_trx *) obj;
- rc = osmo_fsm_inst_dispatch(bb_transc->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_CHANNEL:
ts = (struct gsm_bts_trx_ts*) obj;
rc = ts_opstart(ts);
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index 544e077..9d4b82d 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -576,31 +576,21 @@
int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo,
void *obj)
{
- struct gsm_bts_bb_trx *bb_transc;
struct gsm_bts_trx *trx;
- struct gsm_bts_trx_ts *ts;
int rc;
switch (mo->obj_class) {
case NM_OC_SITE_MANAGER:
- rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BTS:
- rc = osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OPSTART_ACK, NULL);
+ case NM_OC_BASEB_TRANSC:
+ case NM_OC_CHANNEL:
+ rc = osmo_fsm_inst_dispatch(mo->fi, NM_EV_OPSTART_ACK, NULL);
break;
case NM_OC_RADIO_CARRIER:
/* activate transceiver */
trx = (struct gsm_bts_trx *) obj;
rc = trx_init(trx);
break;
- case NM_OC_BASEB_TRANSC:
- bb_transc = (struct gsm_bts_bb_trx *) obj;
- rc = osmo_fsm_inst_dispatch(bb_transc->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
- case NM_OC_CHANNEL:
- ts = (struct gsm_bts_trx_ts *) obj;
- rc = osmo_fsm_inst_dispatch(ts->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_GPRS_NSE:
case NM_OC_GPRS_CELL:
case NM_OC_GPRS_NSVC:
diff --git a/src/osmo-bts-virtual/bts_model.c b/src/osmo-bts-virtual/bts_model.c
index d208349..dae3316 100644
--- a/src/osmo-bts-virtual/bts_model.c
+++ b/src/osmo-bts-virtual/bts_model.c
@@ -156,28 +156,14 @@
int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo, void *obj)
{
int rc;
- struct gsm_bts_bb_trx *bb_transc;
- struct gsm_bts_trx* trx;
- struct gsm_bts_trx_ts *ts;
switch (mo->obj_class) {
case NM_OC_SITE_MANAGER:
- rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BTS:
- rc = osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_RADIO_CARRIER:
- trx = (struct gsm_bts_trx*) obj;
- rc = osmo_fsm_inst_dispatch(trx->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_BASEB_TRANSC:
- bb_transc = (struct gsm_bts_bb_trx *) obj;
- rc = osmo_fsm_inst_dispatch(bb_transc->mo.fi, NM_EV_OPSTART_ACK, NULL);
- break;
case NM_OC_CHANNEL:
- ts = (struct gsm_bts_trx_ts *) obj;
- rc = osmo_fsm_inst_dispatch(ts->mo.fi, NM_EV_OPSTART_ACK, NULL);
+ rc = osmo_fsm_inst_dispatch(mo->fi, NM_EV_OPSTART_ACK, NULL);
break;
case NM_OC_GPRS_NSE:
case NM_OC_GPRS_CELL:
To view, visit change 32210. To unsubscribe, or for help writing mail filters, visit settings.