@@ -155,7 +155,7 @@
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_no, rts_ind->u8Tn,
rts_ind->u16Arfcn, rts_ind->u32Fn, rts_ind->u8BlockNbr);
case GsmL1_Sapi_Ptcch:
// FIXME
@@ -215,7 +215,7 @@
!= 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_no, data_ind->u8Tn,
data_ind->msgUnitParam.u8Buffer + 1,
data_ind->msgUnitParam.u8Size - 1,
data_ind->u32Fn,
@@ -357,7 +357,7 @@
return 0;
}
-void *l1if_open_pdch(void *priv, uint32_t hlayer1, struct gsmtap_inst *gsmtap)
+void *l1if_open_pdch(uint8_t trx_no, uint32_t hlayer1, struct gsmtap_inst *gsmtap)
{
struct femtol1_hdl *fl1h;
int rc;
@@ -367,7 +367,7 @@
return NULL;
fl1h->hLayer1 = hlayer1;
- fl1h->priv = priv;
+ fl1h->trx_no = trx_no;
fl1h->clk_cal = 0;
/* default clock source: OCXO */
fl1h->clk_src = SuperFemto_ClkSrcId_Ocxo;
@@ -38,7 +38,7 @@
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_sapi_mask;
- void *priv; /* user reference */
+ uint8_t trx_no;
struct osmo_timer_list alive_timer;
unsigned int alive_prim_cnt;
@@ -44,7 +44,8 @@
// FIXME: move this, when changed from c++ to c.
extern "C" {
-void *l1if_open_pdch(void *priv, uint32_t hlayer1, struct gsmtap_inst *gsmtap);
+void *l1if_open_pdch(uint8_t trx_no, uint32_t hlayer1,
+ struct gsmtap_inst *gsmtap);
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);
@@ -330,8 +331,8 @@
struct gprs_bssgp_pcu *pcu;
struct gprs_rlcmac_pdch *pdch;
struct in_addr ia;
- int rc = 0;
- int trx, ts;
+ int rc = 0, ts;
+ uint8_t trx;
int i;
if (info_ind->version != PCU_IF_VERSION) {
@@ -450,7 +451,7 @@
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,
bts->gsmtap);
if (!bts->trx[trx].fl1h) {