From 95486f248a37e66d6ae0baa1fd33e44317cce3ba Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Wed, 30 Sep 2020 13:42:04 +0200 Subject: Introduce NM BaseBand Transceiver FSM Change-Id: Ib4d35316c52eb4c71ea0d352a1e06fd5e600fe08 --- include/osmocom/bsc/bts_trx.h | 12 +++++++++--- include/osmocom/bsc/nm_common_fsm.h | 9 +++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index 3a635ba28..5888c6318 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -18,6 +18,10 @@ struct gsm_bts; #define TRX_NR_TS 8 +struct gsm_bts_bb_trx { + struct gsm_abis_mo mo; +}; + /* One TRX in a BTS */ struct gsm_bts_trx { /* list header in bts->trx_list */ @@ -41,9 +45,7 @@ struct gsm_bts_trx { struct gsm_abis_mo mo; struct tlv_parsed nm_attr; - struct { - struct gsm_abis_mo mo; - } bb_transc; + struct gsm_bts_bb_trx bb_transc; uint16_t arfcn; int nominal_power; /* in dBm */ @@ -78,6 +80,10 @@ struct gsm_bts_trx { struct gsm_bts_trx_ts ts[TRX_NR_TS]; }; +static inline struct gsm_bts_trx *gsm_bts_bb_trx_get_trx(struct gsm_bts_bb_trx *bb_transc) { + return (struct gsm_bts_trx *)container_of(bb_transc, struct gsm_bts_trx, bb_transc); +} + struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts); char *gsm_trx_name(const struct gsm_bts_trx *trx); diff --git a/include/osmocom/bsc/nm_common_fsm.h b/include/osmocom/bsc/nm_common_fsm.h index 719d591a8..2ffb59f67 100644 --- a/include/osmocom/bsc/nm_common_fsm.h +++ b/include/osmocom/bsc/nm_common_fsm.h @@ -54,3 +54,12 @@ enum nm_bts_op_fsm_states { NM_BTS_ST_OP_ENABLED, }; extern struct osmo_fsm nm_bts_fsm; + +/* BaseBand Transceiver */ +enum nm_bb_transc_op_fsm_states { + NM_BB_TRANSC_ST_OP_DISABLED_NOTINSTALLED, + NM_BB_TRANSC_ST_OP_DISABLED_DEPENDENCY, + NM_BB_TRANSC_ST_OP_DISABLED_OFFLINE, + NM_BB_TRANSC_ST_OP_ENABLED, +}; +extern struct osmo_fsm nm_bb_transc_fsm; -- cgit v1.2.3