flatten: move network->bsc_data->* to network->*
The separate struct osmo_bsc_data is like another separate struct gsm_network
for no reason. It is labeled "per-BSC data". These days, all of this is a
single BSC and there will not be different sets of osmo_bsc_data.
Drop struct osmo_bsc_data, move its members directly into gsm_network.
Some places tested 'if (net->bsc_data)', which is always true. Modify those
cases to rather do checks like 'if (net->rf_ctrl)', which are also always true
AFAICT, to keep as much unmodified logic as possible in this patch.
Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0
diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h
index 364fa72..43adaec 100644
--- a/include/osmocom/bsc/bsc_msc_data.h
+++ b/include/osmocom/bsc/bsc_msc_data.h
@@ -181,26 +181,6 @@
} mgcp_ipa;
};
-/*
- * Per BSC data.
- */
-struct bsc_cbc_link;
-struct osmo_bsc_data {
- struct gsm_network *network;
-
- /* msc configuration */
- struct llist_head mscs;
-
- /* rf ctl related bits */
- int mid_call_timeout;
- char *rf_ctrl_name;
- struct osmo_bsc_rf *rf_ctrl;
- int auto_off_timeout;
-
- struct bsc_cbc_link *cbc;
-};
-
-
int osmo_bsc_msc_init(struct bsc_msc_data *msc);
int osmo_bsc_sccp_init(struct gsm_network *gsmnet);
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index d801d2c..42eb583 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1649,8 +1649,16 @@
/* Use a TCH for handling requests of type paging any */
int pag_any_tch;
- /* MSC data in case we are a true BSC */
- struct osmo_bsc_data *bsc_data;
+ /* msc configuration */
+ struct llist_head mscs;
+
+ /* rf ctl related bits */
+ int mid_call_timeout;
+ char *rf_ctrl_name;
+ struct osmo_bsc_rf *rf_ctrl;
+ int auto_off_timeout;
+
+ struct bsc_cbc_link *cbc;
/* control interface */
struct ctrl_handle *ctrl;