pcu_l1_if_phy: support multiple BTS (in theory)

The PCU already has a list that can hold multiple BTS objects but the
API for the direct PHY access has no way to associate a PHY with a
certain BTS object. Lets update the API so that we can associate a BTS
object when opening a PDCH.

Unfortunately OsmoPCU has never been tested with more than one BTS so it
is very likely that there are still shortcomings that prevent OsmoPCU to
work properly when more then one BTS is attached. To make users aware of
this, also print a warning as soon as more than one BTS object exists.

Related: OS#5198
Related: OS#5930
Change-Id: I33518cbbe83f7f8c071afa5e995d30930099ba92
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 3eff68f..6c4ed22 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -731,6 +731,9 @@
 	unsigned int trx_nr, ts_nr;
 	unsigned int i;
 
+	if (llist_count(&the_pcu->bts_list) > 1)
+		LOGP(DL1IF, LOGL_ERROR, "more than one BTS regsitered at this PCU. This PCU has only been tested with one BTS! OS#5930\n");
+
 	if (info_ind->version != PCU_IF_VERSION) {
 		fprintf(stderr, "PCU interface version number of BTS (%u) is "
 			"different (%u).\nPlease re-compile!\n",
@@ -864,7 +867,7 @@
 				info_ind->trx[trx_nr].hlayer1);
 				if (!bts->trx[trx_nr].fl1h)
 					bts->trx[trx_nr].fl1h = l1if_open_pdch(
-						trx_nr,
+						bts->nr, trx_nr,
 						info_ind->trx[trx_nr].hlayer1,
 						the_pcu->gsmtap);
 			if (!bts->trx[trx_nr].fl1h) {