@@ -155,7 +155,7 @@ static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1h,
switch (rts_ind->sapi) {
case GsmL1_Sapi_Pdtch:
case GsmL1_Sapi_Pacch:
- rc = pcu_rx_rts_req_pdtch((long)fl1h->priv, rts_ind->u8Tn,
+ rc = pcu_rx_rts_req_pdtch(fl1h->trx, rts_ind->u8Tn,
rts_ind->u16Arfcn, rts_ind->u32Fn, rts_ind->u8BlockNbr);
case GsmL1_Sapi_Ptcch:
// FIXME
@@ -215,7 +215,7 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1h,
!= GsmL1_PdtchPlType_Full)
break;
/* PDTCH / PACCH frame handling */
- pcu_rx_data_ind_pdtch((long)fl1h->priv, data_ind->u8Tn,
+ pcu_rx_data_ind_pdtch(fl1h->trx, data_ind->u8Tn,
data_ind->msgUnitParam.u8Buffer + 1,
data_ind->msgUnitParam.u8Size - 1,
data_ind->u32Fn,
@@ -357,7 +357,7 @@ int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
return 0;
}
-void *l1if_open_pdch(void *priv, uint32_t hlayer1)
+void *l1if_open_pdch(uint8_t trx, uint32_t hlayer1)
{
struct femtol1_hdl *fl1h;
int rc;
@@ -367,7 +367,7 @@ void *l1if_open_pdch(void *priv, uint32_t hlayer1)
return NULL;
fl1h->hLayer1 = hlayer1;
- fl1h->priv = priv;
+ fl1h->trx = trx;
fl1h->clk_cal = 0;
/* default clock source: OCXO */
fl1h->clk_src = SuperFemto_ClkSrcId_Ocxo;
@@ -38,7 +38,7 @@ struct femtol1_hdl {
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_sapi_mask;
- void *priv; /* user reference */
+ uint8_t trx;
struct osmo_timer_list alive_timer;
unsigned int alive_prim_cnt;
@@ -42,7 +42,7 @@ extern "C" {
// FIXME: move this, when changed from c++ to c.
extern "C" {
-void *l1if_open_pdch(void *priv, uint32_t hlayer1);
+void *l1if_open_pdch(uint8_t trx, uint32_t hlayer1);
int l1if_connect_pdch(void *obj, uint8_t ts);
int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len);
@@ -315,9 +315,8 @@ static int pcu_rx_info_ind(struct gsm_pcu_if_info_ind *info_ind)
struct gprs_bssgp_pcu *pcu;
struct gprs_rlcmac_pdch *pdch;
struct in_addr ia;
- int rc = 0;
- int trx, ts;
- int i;
+ int rc = 0, ts, i;
+ uint8_t trx;
if (info_ind->version != PCU_IF_VERSION) {
fprintf(stderr, "PCU interface version number of BTS (%d) is "
@@ -435,7 +434,7 @@ bssgp_failed:
info_ind->trx[trx].hlayer1);
if (!bts->trx[trx].fl1h)
bts->trx[trx].fl1h = l1if_open_pdch(
- (void *)trx,
+ trx,
info_ind->trx[trx].hlayer1);
if (!bts->trx[trx].fl1h) {
LOGP(DL1IF, LOGL_FATAL, "Failed to open direct "
From: Max <msuraev@sysmocom.de> Use uint8_t for TRX numbering everywhere (we don't expect hardware with more than 256 transceivers in the near future). This change helps to avoid unnecessary casts and make API much clearer. --- src/osmo-bts-sysmo/sysmo_l1_if.c | 8 ++++---- src/osmo-bts-sysmo/sysmo_l1_if.h | 2 +- src/pcu_l1_if.cpp | 9 ++++----- 3 files changed, 9 insertions(+), 10 deletions(-)