aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-09-30 13:42:04 +0200
committerlaforge <laforge@osmocom.org>2020-10-15 05:55:36 +0000
commit95486f248a37e66d6ae0baa1fd33e44317cce3ba (patch)
tree6761332de416b43b71cb1e05599646ea5bebfa78 /include
parent6adeb607d0a932fcbc07b1daada432e77490e7ce (diff)
Introduce NM BaseBand Transceiver FSM
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/bsc/bts_trx.h12
-rw-r--r--include/osmocom/bsc/nm_common_fsm.h9
2 files changed, 18 insertions, 3 deletions
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;