Get rid of class GprsCodingScheme

We have same kind of object splitted into two layers, in coding_scheme
and gprs_coding_scheme. Let's merge them together and get rid of the
class, which is not really useful because it's only a set of functions
operating on one enum value.

This change also fixes gcc 10.1.0 error about memseting a complex type
in rlc.h init().

Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index b8e746a..a4bcff3 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -24,7 +24,7 @@
 #include <gprs_debug.h>
 #include <bts.h>
 #include <tbf.h>
-#include <gprs_coding_scheme.h>
+#include <coding_scheme.h>
 #include <pdch.h>
 #include <decoding.h>
 
@@ -639,9 +639,9 @@
 	return num_pdch;
 }
 
-static uint32_t gprs_bssgp_max_leak_rate(GprsCodingScheme cs, int num_pdch)
+static uint32_t gprs_bssgp_max_leak_rate(enum CodingScheme cs, int num_pdch)
 {
-	int bytes_per_rlc_block = cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData());
+	int bytes_per_rlc_block = mcs_max_data_block_bytes(cs) * num_data_blocks(mcs_header_type(cs));
 
 	/* n byte payload per 20ms */
 	return bytes_per_rlc_block * (1000 / 20) * num_pdch;
@@ -717,7 +717,7 @@
 	return rate;
 }
 
-static GprsCodingScheme max_coding_scheme_dl(struct gprs_rlcmac_bts *bts)
+static enum CodingScheme max_coding_scheme_dl(struct gprs_rlcmac_bts *bts)
 {
 	int num;
 
@@ -733,7 +733,7 @@
 			num = 9;
 		}
 
-		return GprsCodingScheme::getEgprsByNum(num);
+		return mcs_get_egprs_by_num(num);
 	}
 
 	if (!bts->cs_adj_enabled) {
@@ -753,7 +753,7 @@
 		num = 4;
 	}
 
-	return GprsCodingScheme::getGprsByNum(num);
+	return mcs_get_gprs_by_num(num);
 }
 
 static int gprs_bssgp_tx_fc_bvc(void)
@@ -765,7 +765,7 @@
 	uint32_t ms_leak_rate; /* oct/s */
 	uint32_t avg_delay_ms;
 	int num_pdch = -1;
-	GprsCodingScheme max_cs_dl;
+	enum CodingScheme max_cs_dl;
 
 	if (!the_pcu.bctx) {
 		LOGP(DBSSGP, LOGL_ERROR, "No bctx\n");