amr: Instead of putting ms/bts into the same struct.. use it twice

This way a lot of if/else can just be killed by the caller deciding
which of the two instances to use.

I have copied both branches to new files, replace bts for ms in one
of them and ran diff on it. There is no difference.
diff --git a/openbsc/src/libbsc/gsm_04_08_utils.c b/openbsc/src/libbsc/gsm_04_08_utils.c
index 24a1cfd..4901912 100644
--- a/openbsc/src/libbsc/gsm_04_08_utils.c
+++ b/openbsc/src/libbsc/gsm_04_08_utils.c
@@ -364,7 +364,7 @@
 	}
 }
 
-int gsm48_multirate_config(uint8_t *lv, struct amr_multirate_conf *mr, int ms)
+int gsm48_multirate_config(uint8_t *lv, struct amr_multirate_conf *mr, struct amr_mode *modes)
 {
 	int num = 0, i;
 
@@ -387,33 +387,19 @@
 	memcpy(lv + 1, mr->gsm48_ie, 2);
 	if (num == 1)
 		return 0;
-	if (ms) {
-		lv[3] = mr->mode[0].threshold_ms & 0x3f;
-		lv[4] = mr->mode[0].hysteresis_ms << 4;
-		if (num == 2)
-			return 0;
-		lv[4] |= (mr->mode[1].threshold_ms & 0x3f) >> 2;
-		lv[5] = mr->mode[1].threshold_ms << 6;
-		lv[5] |= (mr->mode[1].hysteresis_ms & 0x0f) << 2;
-		if (num == 3)
-			return 0;
-		lv[5] |= (mr->mode[2].threshold_ms & 0x3f) >> 4;
-		lv[6] = mr->mode[2].threshold_ms << 4;
-		lv[6] |= mr->mode[2].hysteresis_ms & 0x0f;
-	} else {
-		lv[3] = mr->mode[0].threshold_bts & 0x3f;
-		lv[4] = mr->mode[0].hysteresis_bts << 4;
-		if (num == 2)
-			return 0;
-		lv[4] |= (mr->mode[1].threshold_bts & 0x3f) >> 2;
-		lv[5] = mr->mode[1].threshold_bts << 6;
-		lv[5] |= (mr->mode[1].hysteresis_bts & 0x0f) << 2;
-		if (num == 3)
-			return 0;
-		lv[5] |= (mr->mode[2].threshold_bts & 0x3f) >> 4;
-		lv[6] = mr->mode[2].threshold_bts << 4;
-		lv[6] |= mr->mode[2].hysteresis_bts & 0x0f;
-	}
+
+	lv[3] = modes[0].threshold & 0x3f;
+	lv[4] = modes[0].hysteresis << 4;
+	if (num == 2)
+		return 0;
+	lv[4] |= (modes[1].threshold & 0x3f) >> 2;
+	lv[5] = modes[1].threshold << 6;
+	lv[5] |= (modes[1].hysteresis & 0x0f) << 2;
+	if (num == 3)
+		return 0;
+	lv[5] |= (modes[2].threshold & 0x3f) >> 4;
+	lv[6] = modes[2].threshold << 4;
+	lv[6] |= modes[2].hysteresis & 0x0f;
 
 	return 0;
 }