pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/32210 )


Change subject: Simplify implementation of bts_model_opstart() in all bts types
......................................................................

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 https://gerrit.osmocom.org/c/osmo-bts/+/32210
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I54632201afe87eb3e02bc75cbade163917239ab6
Gerrit-Change-Number: 32210
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to