TSC: Add new gsm_ts_tsc() function to resolve TSC of TS

We don't want every caller to check for ts->tsc == -1 and then
using ts->trx->bts->tsc instead.  Rather, introduce a new inline
function to retrieve the correct value.
diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 717f56d..f491a0c 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -1678,10 +1678,7 @@
 			}
 		}
 	}
-	if (ts->tsc == -1)
-		msgb_tv_put(msg, NM_ATT_TSC, bts->tsc);	/* training sequence */
-	else
-		msgb_tv_put(msg, NM_ATT_TSC, ts->tsc);	/* training sequence */
+	msgb_tv_put(msg, NM_ATT_TSC, gsm_ts_tsc(ts));	/* training sequence */
 	if (bts->type == GSM_BTS_TYPE_BS11)
 		msgb_tlv_put(msg, 0x59, 1, &zero);
 
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index b906c2e..0030764 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -795,8 +795,7 @@
 {
 	vty_out(vty, "BTS %u, TRX %u, Timeslot %u, phys cfg %s, TSC %u",
 		ts->trx->bts->nr, ts->trx->nr, ts->nr,
-		gsm_pchan_name(ts->pchan),
-		ts->tsc == -1 ? ts->trx->bts->tsc : ts->tsc);
+		gsm_pchan_name(ts->pchan), gsm_ts_tsc(ts));
 	if (ts->pchan == GSM_PCHAN_TCH_F_PDCH)
 		vty_out(vty, " (%s mode)",
 			ts->flags & TS_F_PDCH_MODE ? "PDCH" : "TCH/F");
diff --git a/openbsc/src/libbsc/gsm_04_08_utils.c b/openbsc/src/libbsc/gsm_04_08_utils.c
index 735997e..fe6f2ab 100644
--- a/openbsc/src/libbsc/gsm_04_08_utils.c
+++ b/openbsc/src/libbsc/gsm_04_08_utils.c
@@ -341,21 +341,15 @@
 			   const struct gsm_lchan *lchan)
 {
 	uint16_t arfcn = lchan->ts->trx->arfcn & 0x3ff;
-	uint8_t tsc;
-
-	if (lchan->ts->tsc == -1)
-		tsc = lchan->ts->trx->bts->tsc;
-	else
-		tsc = lchan->ts->tsc;
 
 	cd->chan_nr = gsm_lchan2chan_nr(lchan);
 	if (!lchan->ts->hopping.enabled) {
-		cd->h0.tsc = tsc;
+		cd->h0.tsc = gsm_ts_tsc(lchan->ts);
 		cd->h0.h = 0;
 		cd->h0.arfcn_high = arfcn >> 8;
 		cd->h0.arfcn_low = arfcn & 0xff;
 	} else {
-		cd->h1.tsc = tsc;
+		cd->h1.tsc = gsm_ts_tsc(lchan->ts);
 		cd->h1.h = 1;
 		cd->h1.maio_high = lchan->ts->hopping.maio >> 2;
 		cd->h1.maio_low = lchan->ts->hopping.maio & 0x03;