diff --git a/src/fsm.c b/src/fsm.c
index 9e6ef15..5e74482 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -206,8 +206,7 @@
 	fi->fsm = fsm;
 	fi->priv = priv;
 	fi->log_level = log_level;
-	fi->timer.data = fi;
-	fi->timer.cb = fsm_tmr_cb;
+	osmo_timer_setup(&fi->timer, fsm_tmr_cb, fi);
 	if (id)
 		fi->id = talloc_strdup(fi, id);
 
diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index dba4d5c..fdbf788 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -640,8 +640,7 @@
 		msecs = (fcqe->llc_pdu_len * 1000) / fc->bucket_leak_rate;
 		/* FIXME: add that time to fc->time_last_pdu and subtract it from
 		 * current time */
-		fc->timer.data = fc;
-		fc->timer.cb = &fc_timer_cb;
+		osmo_timer_setup(&fc->timer, fc_timer_cb, fc);
 		osmo_timer_schedule(&fc->timer, msecs / 1000, (msecs % 1000) * 1000);
 	} else {
 		/* If the PCU is telling us to not send any more data at all,
diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c
index 7b497c2..9a2a114 100644
--- a/src/gb/gprs_ns.c
+++ b/src/gb/gprs_ns.c
@@ -238,8 +238,7 @@
 	/* before RESET procedure: BLOCKED and DEAD */
 	nsvc->state = NSE_S_BLOCKED;
 	nsvc->nsi = nsi;
-	nsvc->timer.cb = gprs_ns_timer_cb;
-	nsvc->timer.data = nsvc;
+	osmo_timer_setup(&nsvc->timer, gprs_ns_timer_cb, nsvc);
 	nsvc->ctrg = rate_ctr_group_alloc(nsvc, &nsvc_ctrg_desc, nsvci);
 	nsvc->statg = osmo_stat_item_group_alloc(nsvc, &nsvc_statg_desc, nsvci);
 
diff --git a/src/gsm/gsm0411_smc.c b/src/gsm/gsm0411_smc.c
index c44423d..4c08365 100644
--- a/src/gsm/gsm0411_smc.c
+++ b/src/gsm/gsm0411_smc.c
@@ -184,8 +184,7 @@
 	/* 5.2.3.1.2: enter MO-wait for CP-ACK */
 	/* 5.2.3.2.3: enter MT-wait for CP-ACK */
 	new_cp_state(inst, GSM411_CPS_WAIT_CP_ACK);
-	inst->cp_timer.data = inst;
-	inst->cp_timer.cb = cp_timer_expired;
+	osmo_timer_setup(&inst->cp_timer, cp_timer_expired, inst);
 	/* 5.3.2.1: Set Timer TC1A */
 	osmo_timer_schedule(&inst->cp_timer, inst->cp_tc1, 0);
 	/* clone cp_msg */
diff --git a/src/gsm/gsm0411_smr.c b/src/gsm/gsm0411_smr.c
index a1ee980..6d7fb8b 100644
--- a/src/gsm/gsm0411_smr.c
+++ b/src/gsm/gsm0411_smr.c
@@ -77,8 +77,7 @@
 	inst->rp_state = GSM411_RPS_IDLE;
 	inst->rl_recv = rl_recv;
 	inst->mn_send = mn_send;
-	inst->rp_timer.data = inst;
-	inst->rp_timer.cb = rp_timer_expired;
+	osmo_timer_setup(&inst->rp_timer, rp_timer_expired, inst);
 
 	LOGP(DLSMS, LOGL_INFO,
 		SMR_LOG_STR "instance created for %s.\n",
diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c
index e0bbcab..c81b2a0 100644
--- a/src/gsm/lapd_core.c
+++ b/src/gsm/lapd_core.c
@@ -267,12 +267,10 @@
 	dl->n200 = 3;
 	dl->t200_sec = 1;
 	dl->t200_usec = 0;
-	dl->t200.data = dl;
-	dl->t200.cb = &lapd_t200_cb;
+	osmo_timer_setup(&dl->t200, lapd_t200_cb, dl);
 	dl->t203_sec = 10;
 	dl->t203_usec = 0;
-	dl->t203.data = dl;
-	dl->t203.cb = &lapd_t203_cb;
+	osmo_timer_setup(&dl->t203, lapd_t203_cb, dl);
 	dl->maxf = maxf;
 	if (k > v_range - 1)
 		k = v_range - 1;
diff --git a/src/rate_ctr.c b/src/rate_ctr.c
index f995f3f..3ccd065 100644
--- a/src/rate_ctr.c
+++ b/src/rate_ctr.c
@@ -147,7 +147,7 @@
 int rate_ctr_init(void *tall_ctx)
 {
 	tall_rate_ctr_ctx = tall_ctx;
-	rate_ctr_timer.cb = rate_ctr_timer_cb;
+	osmo_timer_setup(&rate_ctr_timer, rate_ctr_timer_cb, NULL);
 	osmo_timer_schedule(&rate_ctr_timer, 1, 0);
 
 	return 0;
diff --git a/src/stats.c b/src/stats.c
index 1efc8cd..dee5d81 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -107,7 +107,7 @@
 	if (!is_initialised)
 		return -ESRCH;
 
-	osmo_stats_timer.cb = osmo_stats_timer_cb;
+	osmo_timer_setup(&osmo_stats_timer, osmo_stats_timer_cb, NULL);
 	osmo_timer_schedule(&osmo_stats_timer, 0, 1);
 
 	return 0;
diff --git a/src/timer.c b/src/timer.c
index cc6d5cc..47d1786 100644
--- a/src/timer.c
+++ b/src/timer.c
@@ -65,6 +65,18 @@
         rb_insert_color(&timer->node, &timer_root);
 }
 
+/*! \brief set up timer callback and data
+ *  \param[in] timer the timer that should be added
+ *  \param[in] callback function to be called when timer expires
+ *  \param[in] pointer to data that passed to the callback function
+ */
+void osmo_timer_setup(struct osmo_timer_list *timer, void (*cb)(void *data),
+		      void *data)
+{
+	timer->cb	= cb;
+	timer->data	= data;
+}
+
 /*! \brief add a new timer to the timer management
  *  \param[in] timer the timer that should be added
  */
