src: use osmo_timer_setup()

Use new function available in libosmocore to set up timers. Compile
tested only.

Change-Id: Ibcfd915688e97d370a888888a83a7c95cbe16819
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index be687eb..20dd2b5 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -73,8 +73,7 @@
 {
 	/* We start the error timer to make the channel available again */
 	if (lchan->state == LCHAN_S_REL_ERR) {
-		lchan->error_timer.data = lchan;
-		lchan->error_timer.cb = error_timeout_cb;
+		osmo_timer_setup(&lchan->error_timer, error_timeout_cb, lchan);
 		osmo_timer_schedule(&lchan->error_timer,
 				   lchan->ts->trx->bts->network->T3111 + 2, 0);
 	} else {
@@ -890,8 +889,7 @@
 	}
 
 	/* Start another timer or assume the BTS sends a ACK/NACK? */
-	lchan->act_timer.cb = lchan_deact_tmr_cb;
-	lchan->act_timer.data = lchan;
+	osmo_timer_setup(&lchan->act_timer, lchan_deact_tmr_cb, lchan);
 	osmo_timer_schedule(&lchan->act_timer, 4, 0);
 
 	rc =  abis_rsl_sendmsg(msg);
@@ -1200,8 +1198,7 @@
 	 && release_mode == RSL_REL_LOCAL_END) {
 		DEBUGP(DRLL, "Scheduling release, becasuse Nokia InSite BTS does not send a RELease CONFirm.\n");
 		lchan->sapis[link_id & 0x7] = LCHAN_SAPI_REL;
-		lchan->rel_work.cb = lchan_rel_work_cb;
-		lchan->rel_work.data = lchan;
+		osmo_timer_setup(&lchan->rel_work, lchan_rel_work_cb, lchan);
 		osmo_timer_schedule(&lchan->rel_work, 0, 0);
 	}
 
@@ -1857,8 +1854,7 @@
 	lchan->tch_mode = GSM48_CMODE_SIGN;
 
 	/* Start another timer or assume the BTS sends a ACK/NACK? */
-	lchan->act_timer.cb = lchan_act_tmr_cb;
-	lchan->act_timer.data = lchan;
+	osmo_timer_setup(&lchan->act_timer, lchan_act_tmr_cb, lchan);
 	osmo_timer_schedule(&lchan->act_timer, 4, 0);
 
 	DEBUGP(DRSL, "%s Activating ARFCN(%u) SS(%u) lctype %s "
@@ -1898,8 +1894,7 @@
 	ia->l2_plen = GSM48_LEN2PLEN((sizeof(*ia)-1) + ia->mob_alloc_len);
 
 	/* Start timer T3101 to wait for GSM48_MT_RR_PAG_RESP */
-	lchan->T3101.cb = t3101_expired;
-	lchan->T3101.data = lchan;
+	osmo_timer_setup(&lchan->T3101, t3101_expired, lchan);
 	osmo_timer_schedule(&lchan->T3101, bts->network->T3101, 0);
 
 	/* send IMMEDIATE ASSIGN CMD on RSL to BTS (to send on CCCH to MS) */
@@ -2031,8 +2026,7 @@
 
 	/* Stop T3109 and wait for T3111 before re-using the channel */
 	osmo_timer_del(&lchan->T3109);
-	lchan->T3111.cb = t3111_expired;
-	lchan->T3111.data = lchan;
+	osmo_timer_setup(&lchan->T3111, t3111_expired, lchan);
 	bts = lchan->ts->trx->bts;
 	osmo_timer_schedule(&lchan->T3111, bts->network->T3111, 0);
 }
@@ -2631,8 +2625,7 @@
 	/* During switchover, we have received a release ack, which means that
 	 * the act_timer has been stopped. Start the timer again so we mark
 	 * this channel broken if the activation ack comes too late. */
-	lchan->act_timer.cb = lchan_act_tmr_cb;
-	lchan->act_timer.data = lchan;
+	osmo_timer_setup(&lchan->act_timer, lchan_act_tmr_cb, lchan);
 	osmo_timer_schedule(&lchan->act_timer, 4, 0);
 
 	rc = rsl_chan_activate_lchan(lchan, act_type, ho_ref);
@@ -2836,8 +2829,7 @@
 	if (bts->network->T3109 == 0)
 		return -1;
 
-	lchan->T3109.cb = t3109_expired;
-	lchan->T3109.data = lchan;
+	osmo_timer_setup(&lchan->T3109, t3109_expired, lchan);
 	osmo_timer_schedule(&lchan->T3109, bts->network->T3109, 0);
 	return 0;
 }