aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-03-14 23:33:36 +0800
committerHarald Welte <laforge@gnumonks.org>2010-03-22 19:02:04 +0800
commitfa58625e3bd8423b4c7dfa325f2097642a7822ea (patch)
tree335a2606e0145c1dddf4dba40c222182cc0c13c1
parentaf387633db31059973e0ba59729802203b229248 (diff)
GPRS: remove "#define GPRS" compile-time define
It is now possible to enable/disable GPRS support purely based on the vty / config file.
-rw-r--r--openbsc/src/bsc_init.c30
1 files changed, 14 insertions, 16 deletions
diff --git a/openbsc/src/bsc_init.c b/openbsc/src/bsc_init.c
index 824820439..19449b3f5 100644
--- a/openbsc/src/bsc_init.c
+++ b/openbsc/src/bsc_init.c
@@ -20,8 +20,6 @@
*
*/
-#define GPRS
-
#include <openbsc/gsm_data.h>
#include <osmocore/gsm_utils.h>
#include <openbsc/gsm_04_08.h>
@@ -462,9 +460,10 @@ int nm_state_event(enum nm_evt evt, u_int8_t obj_class, void *obj,
abis_nm_opstart(trx->bts, obj_class, trx->bts->bts_nr,
trx->nr, 0xff);
break;
-#ifdef GPRS
case NM_OC_GPRS_NSE:
bts = container_of(obj, struct gsm_bts, gprs.nse);
+ if (!bts->gprs.enabled)
+ break;
if (new_state->availability == 5) {
abis_nm_ipaccess_set_attr(bts, obj_class, bts->bts_nr,
0xff, 0xff, nanobts_attr_nse,
@@ -477,6 +476,8 @@ int nm_state_event(enum nm_evt evt, u_int8_t obj_class, void *obj,
break;
case NM_OC_GPRS_CELL:
bts = container_of(obj, struct gsm_bts, gprs.cell);
+ if (!bts->gprs.enabled)
+ break;
if (new_state->availability == 5) {
abis_nm_ipaccess_set_attr(bts, obj_class, bts->bts_nr,
0, 0xff, nanobts_attr_cell,
@@ -490,6 +491,8 @@ int nm_state_event(enum nm_evt evt, u_int8_t obj_class, void *obj,
case NM_OC_GPRS_NSVC:
nsvc = obj;
bts = nsvc->bts;
+ if (!bts->gprs.enabled)
+ break;
/* We skip NSVC1 since we only use NSVC0 */
if (nsvc->id == 1)
break;
@@ -504,7 +507,6 @@ int nm_state_event(enum nm_evt evt, u_int8_t obj_class, void *obj,
nsvc->id, 0xff,
NM_STATE_UNLOCKED);
}
-#endif
default:
break;
}
@@ -797,14 +799,14 @@ static int set_system_infos(struct gsm_bts_trx *trx)
DEBUGP(DRR, "SI%2u: %s\n", i, hexdump(si_tmp, rc));
rsl_bcch_info(trx, i, si_tmp, sizeof(si_tmp));
}
-#ifdef GPRS
- i = 13;
- rc = gsm_generate_si(si_tmp, trx->bts, RSL_SYSTEM_INFO_13);
- if (rc < 0)
- goto err_out;
- DEBUGP(DRR, "SI%2u: %s\n", i, hexdump(si_tmp, rc));
- rsl_bcch_info(trx, RSL_SYSTEM_INFO_13, si_tmp, rc);
-#endif
+ if (bts->gprs.enabled) {
+ i = 13;
+ rc = gsm_generate_si(si_tmp, trx->bts, RSL_SYSTEM_INFO_13);
+ if (rc < 0)
+ goto err_out;
+ DEBUGP(DRR, "SI%2u: %s\n", i, hexdump(si_tmp, rc));
+ rsl_bcch_info(trx, RSL_SYSTEM_INFO_13, si_tmp, rc);
+ }
}
i = 5;
@@ -821,10 +823,6 @@ static int set_system_infos(struct gsm_bts_trx *trx)
DEBUGP(DRR, "SI%2u: %s\n", i, hexdump(si_tmp, rc));
rsl_sacch_filling(trx, RSL_SYSTEM_INFO_6, si_tmp, rc);
-#ifdef GPRS
- rsl_ipacc_pdch_activate(&trx->ts[7].lchan[0]);
-#endif
-
return 0;
err_out:
LOGP(DRR, LOGL_ERROR, "Cannot generate SI %u for BTS %u, most likely "