<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/24177">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">[VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc()<br><br>Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13<br>---<br>M include/osmo-bts/bts_trx.h<br>M src/common/bts.c<br>M src/common/bts_trx.c<br>M src/common/vty.c<br>M src/osmo-bts-trx/main.c<br>M tests/handover/handover_test.c<br>M tests/meas/meas_test.c<br>7 files changed, 15 insertions(+), 46 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/24177/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmo-bts/bts_trx.h b/include/osmo-bts/bts_trx.h</span><br><span>index 100eaba..d4c3f39 100644</span><br><span>--- a/include/osmo-bts/bts_trx.h</span><br><span>+++ b/include/osmo-bts/bts_trx.h</span><br><span>@@ -47,7 +47,6 @@</span><br><span> }</span><br><span> </span><br><span> struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts);</span><br><span style="color: hsl(0, 100%, 40%);">-int bts_trx_init(struct gsm_bts_trx *trx);</span><br><span> struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num);</span><br><span> char *gsm_trx_name(const struct gsm_bts_trx *trx);</span><br><span> const char *gsm_trx_unit_id(struct gsm_bts_trx *trx);</span><br><span>diff --git a/src/common/bts.c b/src/common/bts.c</span><br><span>index 3860a87..722725b 100644</span><br><span>--- a/src/common/bts.c</span><br><span>+++ b/src/common/bts.c</span><br><span>@@ -378,8 +378,6 @@</span><br><span>              return rc;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* TRX0 was allocated early during gsm_bts_alloc, not later through VTY */</span><br><span style="color: hsl(0, 100%, 40%);">-      bts_trx_init(bts->c0);</span><br><span>    bts_gsmnet.num_bts++;</span><br><span> </span><br><span>    if (!initialized) {</span><br><span>diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c</span><br><span>index 9fc18e4..2adcda1 100644</span><br><span>--- a/src/common/bts_trx.c</span><br><span>+++ b/src/common/bts_trx.c</span><br><span>@@ -107,53 +107,34 @@</span><br><span>                     name = gsm_lchan_name_compute(lchan);</span><br><span>                        lchan->name = talloc_strdup(trx, name);</span><br><span>                   INIT_LLIST_HEAD(&lchan->sapi_cmds);</span><br><span style="color: hsl(120, 100%, 40%);">+                    INIT_LLIST_HEAD(&lchan->dl_tch_queue);</span><br><span>                }</span><br><span>    }</span><br><span> </span><br><span>        if (trx->nr != 0)</span><br><span>                 trx->nominal_power = bts->c0->nominal_power;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+     /* Default values for the power adjustments */</span><br><span style="color: hsl(120, 100%, 40%);">+        trx->power_params.ramp.max_initial_pout_mdBm = to_mdB(0);</span><br><span style="color: hsl(120, 100%, 40%);">+  trx->power_params.ramp.step_size_mdB = to_mdB(2);</span><br><span style="color: hsl(120, 100%, 40%);">+  trx->power_params.ramp.step_interval_sec = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   /* Default (fall-back) Dynamic Power Control parameters */</span><br><span>   trx->bs_dpc_params = &bts->bs_dpc_params;</span><br><span>  trx->ms_dpc_params = &bts->ms_dpc_params;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- llist_add_tail(&trx->list, &bts->trx_list);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       return trx;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/* Initialize the TRX data structures, called before config</span><br><span style="color: hsl(0, 100%, 40%);">- * file reading */</span><br><span style="color: hsl(0, 100%, 40%);">-int bts_trx_init(struct gsm_bts_trx *trx)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-     /* initialize bts data structure */</span><br><span style="color: hsl(0, 100%, 40%);">-     struct trx_power_params *tpp = &trx->power_params;</span><br><span style="color: hsl(0, 100%, 40%);">-       int rc, i;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      for (i = 0; i < ARRAY_SIZE(trx->ts); i++) {</span><br><span style="color: hsl(0, 100%, 40%);">-               struct gsm_bts_trx_ts *ts = &trx->ts[i];</span><br><span style="color: hsl(0, 100%, 40%);">-         int k;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-          for (k = 0; k < ARRAY_SIZE(ts->lchan); k++) {</span><br><span style="color: hsl(0, 100%, 40%);">-                     struct gsm_lchan *lchan = &ts->lchan[k];</span><br><span style="color: hsl(0, 100%, 40%);">-                 INIT_LLIST_HEAD(&lchan->dl_tch_queue);</span><br><span style="color: hsl(0, 100%, 40%);">-           }</span><br><span style="color: hsl(0, 100%, 40%);">-       }</span><br><span style="color: hsl(0, 100%, 40%);">-       /* Default values for the power adjustments */</span><br><span style="color: hsl(0, 100%, 40%);">-  tpp->ramp.max_initial_pout_mdBm = to_mdB(0);</span><br><span style="color: hsl(0, 100%, 40%);">- tpp->ramp.step_size_mdB = to_mdB(2);</span><br><span style="color: hsl(0, 100%, 40%);">- tpp->ramp.step_interval_sec = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>  /* IF BTS model doesn't DSP/HW support MS Power Control Loop, enable osmo algo by default: */</span><br><span>    if (!bts_internal_flag_get(trx->bts, BTS_INTERNAL_FLAG_MS_PWR_CTRL_DSP))</span><br><span>          trx->ms_pwr_ctl_soft = true;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     rc = bts_model_trx_init(trx);</span><br><span style="color: hsl(0, 100%, 40%);">-   if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                llist_del(&trx->list);</span><br><span style="color: hsl(0, 100%, 40%);">-           return rc;</span><br><span style="color: hsl(120, 100%, 40%);">+    if (bts_model_trx_init(trx) != 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           talloc_free(trx);</span><br><span style="color: hsl(120, 100%, 40%);">+             return NULL;</span><br><span>         }</span><br><span style="color: hsl(0, 100%, 40%);">-       return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   llist_add_tail(&trx->list, &bts->trx_list);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   return trx;</span><br><span> }</span><br><span> </span><br><span> struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num)</span><br><span>diff --git a/src/common/vty.c b/src/common/vty.c</span><br><span>index 3b59316..4134d4d 100644</span><br><span>--- a/src/common/vty.c</span><br><span>+++ b/src/common/vty.c</span><br><span>@@ -228,8 +228,6 @@</span><br><span>            *         initialized in bts_init(), not here.</span><br><span>               */</span><br><span>          trx = gsm_bts_trx_alloc(bts);</span><br><span style="color: hsl(0, 100%, 40%);">-           if (trx)</span><br><span style="color: hsl(0, 100%, 40%);">-                        bts_trx_init(trx);</span><br><span>   } else</span><br><span>               trx = gsm_bts_trx_num(bts, trx_nr);</span><br><span> </span><br><span>diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c</span><br><span>index e0a99a5..6184acb 100644</span><br><span>--- a/src/osmo-bts-trx/main.c</span><br><span>+++ b/src/osmo-bts-trx/main.c</span><br><span>@@ -156,7 +156,8 @@</span><br><span>       /* The nominal value for each TRX is later overwritten through VTY cmd</span><br><span>        * 'nominal-tx-power' if present, otherwise through TRXC cmd NOMTXPOWER.</span><br><span>      */</span><br><span style="color: hsl(0, 100%, 40%);">-     l1if_trx_set_nominal_power(trx, trx->bts->c0->nominal_power);</span><br><span style="color: hsl(120, 100%, 40%);">+        if (trx->bts->c0 != NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+               l1if_trx_set_nominal_power(trx, trx->bts->c0->nominal_power);</span><br><span>       return 0;</span><br><span> }</span><br><span> </span><br><span>diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c</span><br><span>index 72d8dc8..6af8fac 100644</span><br><span>--- a/tests/handover/handover_test.c</span><br><span>+++ b/tests/handover/handover_test.c</span><br><span>@@ -85,10 +85,6 @@</span><br><span>                 fprintf(stderr, "Failed to alloc TRX structure\n");</span><br><span>                exit(1);</span><br><span>     }</span><br><span style="color: hsl(0, 100%, 40%);">-       if (bts_trx_init(trx) < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-         fprintf(stderr, "unable to init TRX\n");</span><br><span style="color: hsl(0, 100%, 40%);">-              exit(1);</span><br><span style="color: hsl(0, 100%, 40%);">-        }</span><br><span> </span><br><span>        libosmo_abis_init(NULL);</span><br><span> </span><br><span>diff --git a/tests/meas/meas_test.c b/tests/meas/meas_test.c</span><br><span>index d129336..ab8ae28 100644</span><br><span>--- a/tests/meas/meas_test.c</span><br><span>+++ b/tests/meas/meas_test.c</span><br><span>@@ -530,10 +530,6 @@</span><br><span>             fprintf(stderr, "Failed to alloc TRX structure\n");</span><br><span>                exit(1);</span><br><span>     }</span><br><span style="color: hsl(0, 100%, 40%);">-       if (bts_trx_init(trx) < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-         fprintf(stderr, "unable to init TRX\n");</span><br><span style="color: hsl(0, 100%, 40%);">-              exit(1);</span><br><span style="color: hsl(0, 100%, 40%);">-        }</span><br><span> </span><br><span>        printf("\n");</span><br><span>      printf("***********************\n");</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/24177">change 24177</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bts/+/24177"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13 </div>
<div style="display:none"> Gerrit-Change-Number: 24177 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>