qcacld-3.0: Remove the file cds_regdomain_common.h

Data structures defined in cds_regdomain_common.h are similar
to those defined in cds_regdomain.h. Therefore remove the file.

Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329
CRs-Fixed: 961806
diff --git a/core/cds/inc/cds_regdomain.h b/core/cds/inc/cds_regdomain.h
index f101f0b..519f4e8 100644
--- a/core/cds/inc/cds_regdomain.h
+++ b/core/cds/inc/cds_regdomain.h
@@ -71,11 +71,223 @@
 #ifndef REGULATORY_H
 #define REGULATORY_H
 
+#define MAX_CHANNELS_PER_OPERATING_CLASS  25
 #define	CTRY_DEBUG              0x1ff
 #define	CTRY_DEFAULT            0
 #define COUNTRY_ERD_FLAG        0x8000
 #define WORLDWIDE_ROAMING_FLAG  0x4000
 #define DEF_REGDMN              FCC3_FCCA
+#define CDS_MAX_SUPP_OPER_CLASSES 32
+
+enum EnumRd {
+	NO_ENUMRD = 0x00,
+	NULL1_WORLD = 0x03,
+	NULL1_ETSIB = 0x07,
+	NULL1_ETSIC = 0x08,
+	FCC1_FCCA = 0x10,
+	FCC1_WORLD = 0x11,
+	FCC4_FCCA = 0x12,
+	FCC5_FCCA = 0x13,
+	FCC6_FCCA = 0x14,
+
+	FCC2_FCCA = 0x20,
+	FCC2_WORLD = 0x21,
+	FCC2_ETSIC = 0x22,
+	FCC6_WORLD = 0x23,
+	FRANCE_RES = 0x31,
+	FCC3_FCCA = 0x3A,
+	FCC3_WORLD = 0x3B,
+	FCC3_ETSIC = 0x3F,
+
+	ETSI1_WORLD = 0x37,
+	ETSI3_ETSIA = 0x32,
+	ETSI2_WORLD = 0x35,
+	ETSI3_WORLD = 0x36,
+	ETSI4_WORLD = 0x30,
+	ETSI4_ETSIC = 0x38,
+	ETSI5_WORLD = 0x39,
+	ETSI6_WORLD = 0x34,
+	ETSI8_WORLD = 0x3D,
+	ETSI9_WORLD = 0x3E,
+	ETSI_RESERVED = 0x33,
+
+	MKK1_MKKA = 0x40,
+	MKK1_MKKB = 0x41,
+	APL4_WORLD = 0x42,
+	MKK2_MKKA = 0x43,
+	APL_RESERVED = 0x44,
+	APL2_WORLD = 0x45,
+	APL2_APLC = 0x46,
+	APL3_WORLD = 0x47,
+	MKK1_FCCA = 0x48,
+	APL2_APLD = 0x49,
+	MKK1_MKKA1 = 0x4A,
+	MKK1_MKKA2 = 0x4B,
+	MKK1_MKKC = 0x4C,
+	APL2_FCCA = 0x4D,
+	APL11_FCCA = 0x4F,
+
+	APL3_FCCA = 0x50,
+	APL12_WORLD = 0x51,
+	APL1_WORLD = 0x52,
+	APL1_FCCA = 0x53,
+	APL1_APLA = 0x54,
+	APL1_ETSIC = 0x55,
+	APL2_ETSIC = 0x56,
+	APL5_WORLD = 0x58,
+	APL13_WORLD = 0x5A,
+	APL6_WORLD = 0x5B,
+	APL7_FCCA = 0x5C,
+	APL8_WORLD = 0x5D,
+	APL9_MKKC = 0x5E,
+	APL10_MKKC = 0x5F,
+
+	WOR0_WORLD = 0x60,
+	WOR1_WORLD = 0x61,
+	WOR2_WORLD = 0x62,
+	WOR3_WORLD = 0x63,
+	WOR4_WORLD = 0x64,
+	WOR5_ETSIC = 0x65,
+
+	WOR01_WORLD = 0x66,
+	WOR02_WORLD = 0x67,
+	EU1_WORLD = 0x68,
+
+	WOR9_WORLD = 0x69,
+	WORA_WORLD = 0x6A,
+	WORB_WORLD = 0x6B,
+	WORC_WORLD = 0x6C,
+
+	MKK3_MKKB = 0x80,
+	MKK3_MKKA2 = 0x81,
+	MKK3_MKKC = 0x82,
+
+	MKK4_MKKB = 0x83,
+	MKK4_MKKA2 = 0x84,
+	MKK4_MKKC = 0x85,
+
+	MKK5_MKKB = 0x86,
+	MKK5_MKKA2 = 0x87,
+	MKK5_MKKC = 0x88,
+	MKK5_MKKA = 0x99,
+	MKK5_FCCA = 0x9A,
+
+	MKK6_MKKB = 0x89,
+	MKK6_MKKA2 = 0x8A,
+	MKK6_MKKC = 0x8B,
+
+	MKK7_MKKB = 0x8C,
+	MKK7_MKKA2 = 0x8D,
+	MKK7_MKKC = 0x8E,
+
+	MKK8_MKKB = 0x8F,
+	MKK8_MKKA2 = 0x90,
+	MKK8_MKKC = 0x91,
+
+	MKK14_MKKA1 = 0x92,
+	MKK15_MKKA1 = 0x93,
+
+	MKK10_FCCA = 0xD0,
+	MKK10_MKKA1 = 0xD1,
+	MKK10_MKKC = 0xD2,
+	MKK10_MKKA2 = 0xD3,
+
+	MKK11_MKKA = 0xD4,
+	MKK11_FCCA = 0xD5,
+	MKK11_MKKA1 = 0xD6,
+	MKK11_MKKC = 0xD7,
+	MKK11_MKKA2 = 0xD8,
+
+	MKK12_MKKA = 0xD9,
+	MKK12_FCCA = 0xDA,
+	MKK12_MKKA1 = 0xDB,
+	MKK12_MKKC = 0xDC,
+	MKK12_MKKA2 = 0xDD,
+
+	MKK13_MKKB = 0xDE,
+
+	MKK3_MKKA = 0xF0,
+	MKK3_MKKA1 = 0xF1,
+	MKK3_FCCA = 0xF2,
+	MKK4_MKKA = 0xF3,
+	MKK4_MKKA1 = 0xF4,
+	MKK4_FCCA = 0xF5,
+	MKK9_MKKA = 0xF6,
+	MKK10_MKKA = 0xF7,
+	MKK6_MKKA1 = 0xF8,
+	MKK6_FCCA = 0xF9,
+	MKK7_MKKA1 = 0xFA,
+	MKK7_FCCA = 0xFB,
+	MKK9_FCCA = 0xFC,
+	MKK9_MKKA1 = 0xFD,
+	MKK9_MKKC = 0xFE,
+	MKK9_MKKA2 = 0xFF,
+
+	APL1 = 0x0150,
+	APL2 = 0x0250,
+	APL3 = 0x0350,
+	APL4 = 0x0450,
+	APL5 = 0x0550,
+	APL6 = 0x0650,
+	APL7 = 0x0750,
+	APL8 = 0x0850,
+	APL9 = 0x0950,
+	APL10 = 0x1050,
+	APL11 = 0x1150,
+	APL12 = 0x1160,
+
+	ETSI1 = 0x0130,
+	ETSI2 = 0x0230,
+	ETSI3 = 0x0330,
+	ETSI4 = 0x0430,
+	ETSI5 = 0x0530,
+	ETSI6 = 0x0630,
+	ETSI8 = 0x0830,
+	ETSI9 = 0x0930,
+	ETSIA = 0x0A30,
+	ETSIB = 0x0B30,
+	ETSIC = 0x0C30,
+
+	FCC1 = 0x0110,
+	FCC2 = 0x0120,
+	FCC3 = 0x0160,
+	FCC4 = 0x0165,
+	FCC5 = 0x0510,
+	FCC6 = 0x0610,
+	FCCA = 0x0A10,
+
+	APLD = 0x0D50,
+
+	MKK1 = 0x0140,
+	MKK2 = 0x0240,
+	MKK3 = 0x0340,
+	MKK4 = 0x0440,
+	MKK5 = 0x0540,
+	MKK6 = 0x0640,
+	MKK7 = 0x0740,
+	MKK8 = 0x0840,
+	MKK9 = 0x0940,
+	MKK10 = 0x0B40,
+	MKK11 = 0x1140,
+	MKK12 = 0x1240,
+	MKK13 = 0x0C40,
+	MKK14 = 0x1440,
+	MKK15 = 0x1540,
+	MKKA = 0x0A40,
+	MKKC = 0x0A50,
+
+	NULL1 = 0x0198,
+	WORLD = 0x0199,
+	DEBUG_REG_DMN = 0x01ff,
+};
+
+enum {
+	FCC = 0x10,
+	MKK = 0x40,
+	ETSI = 0x30,
+	NO_CTL = 0xff
+};
+
 
 /* These defines should match the table from ah_internal.h */
 enum HAL_DFS_DOMAIN {
@@ -85,18 +297,11 @@
 	DFS_MKK4_DOMAIN = 3     /* Japan dfs domain */
 };
 
-
-/*
- * THE following table is the mapping of regdomain pairs specified by
- * an 8 bit regdomain value to the individual unitary reg domains
- */
-
 typedef struct reg_dmn_pair_mapping {
-	uint16_t regDmnEnum;    /* 16 bit reg domain pair */
-	uint16_t regDmn5GHz;    /* 5GHz reg domain */
-	uint16_t regDmn2GHz;    /* 2GHz reg domain */
-	uint16_t singleCC;      /* Country code of single country if
-	                           a one-on-one mapping exists */
+	uint16_t regDmnEnum;
+	uint16_t regDmn5GHz;
+	uint16_t regDmn2GHz;
+	uint16_t singleCC;
 } REG_DMN_PAIR_MAPPING;
 
 typedef struct {
@@ -107,24 +312,10 @@
 } COUNTRY_CODE_TO_ENUM_RD;
 
 typedef struct reg_domain {
-	uint16_t regDmnEnum;    /* value from EnumRd table */
+	uint16_t regDmnEnum;
 	uint8_t conformance_test_limit;
 } REG_DOMAIN;
 
-/* Multi-Device RegDomain Support */
-typedef struct ath_hal_reg_dmn_tables {
-	/* regDomainPairs: Map of 8-bit regdomain values to unitary reg domain */
-	const REG_DMN_PAIR_MAPPING *regDomainPairs;
-	/* allCountries: Master list of freq. bands (flags, settings) */
-	const COUNTRY_CODE_TO_ENUM_RD *allCountries;
-	/* regDomains: Array of supported reg domains */
-	const REG_DOMAIN *regDomains;
-
-	uint16_t regDomainPairsCt;      /* Num reg domain pair entries */
-	uint16_t allCountriesCt;        /* Num country entries */
-	uint16_t regDomainsCt;  /* Num reg domain entries */
-} HAL_REG_DMN_TABLES;
-
 enum CountryCode {
 	CTRY_AFGHANISTAN = 4,
 	CTRY_ALBANIA = 8,
@@ -336,9 +527,271 @@
 	CTRY_JAPAN49 = 4049,
 	CTRY_JAPAN55 = 4055,
 	CTRY_JAPAN56 = 4056,
-
 };
 
+typedef struct ath_hal_reg_dmn_tables {
+	const REG_DMN_PAIR_MAPPING *regDomainPairs;
+	const COUNTRY_CODE_TO_ENUM_RD *allCountries;
+	const REG_DOMAIN *regDomains;
+	uint16_t regDomainPairsCt;
+	uint16_t allCountriesCt;
+	uint16_t regDomainsCt;
+} HAL_REG_DMN_TABLES;
+
+
+static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = {
+	{NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, 0},
+	{NULL1_WORLD, NULL1, WORLD, 0},
+	{NULL1_ETSIB, NULL1, ETSIB, 0},
+	{NULL1_ETSIC, NULL1, ETSIC, 0},
+	{FCC2_FCCA, FCC2, FCCA, 0},
+	{FCC2_WORLD, FCC2, WORLD, 0},
+	{FCC2_ETSIC, FCC2, ETSIC, 0},
+	{FCC3_FCCA, FCC3, FCCA, 0},
+	{FCC3_WORLD, FCC3, WORLD, 0},
+	{FCC3_ETSIC, FCC3, ETSIC, 0},
+	{FCC4_FCCA, FCC4, FCCA, 0},
+	{FCC5_FCCA, FCC5, FCCA, 0},
+	{FCC6_FCCA, FCC6, FCCA, 0},
+	{FCC6_WORLD, FCC6, WORLD, 0},
+	{ETSI1_WORLD, ETSI1, WORLD, 0},
+	{ETSI2_WORLD, ETSI2, WORLD, 0},
+	{ETSI3_WORLD, ETSI3, WORLD, 0},
+	{ETSI4_WORLD, ETSI4, WORLD, 0},
+	{ETSI5_WORLD, ETSI5, WORLD, 0},
+	{ETSI6_WORLD, ETSI6, WORLD, 0},
+	{ETSI8_WORLD, ETSI8, WORLD, 0},
+	{ETSI9_WORLD, ETSI9, WORLD, 0},
+	{ETSI3_ETSIA, ETSI3, WORLD, 0},
+	{FRANCE_RES, ETSI3, WORLD, 0},
+	{FCC1_WORLD, FCC1, WORLD, 0},
+	{FCC1_FCCA, FCC1, FCCA, 0},
+	{APL1_WORLD, APL1, WORLD, 0},
+	{APL2_WORLD, APL2, WORLD, 0},
+	{APL2_FCCA, APL2, FCCA, 0},
+	{APL3_WORLD, APL3, WORLD, 0},
+	{APL4_WORLD, APL4, WORLD, 0},
+	{APL5_WORLD, APL5, WORLD, 0},
+	{APL6_WORLD, APL6, WORLD, 0},
+	{APL7_FCCA, APL7, FCCA, 0},
+	{APL8_WORLD, APL8, WORLD, 0},
+	{APL9_MKKC, APL9, MKKC, 0},
+	{APL10_MKKC, APL10, MKKC, 0},
+	{APL3_FCCA, APL3, FCCA, 0},
+	{APL1_ETSIC, APL1, ETSIC, 0},
+	{APL2_ETSIC, APL2, ETSIC, 0},
+	{MKK3_MKKA, MKK3, MKKA, CTRY_JAPAN25},
+	{MKK3_MKKB, MKK3, MKKA, CTRY_JAPAN7},
+	{MKK3_MKKA1, MKK3, MKKA, CTRY_JAPAN26},
+	{MKK3_MKKA2, MKK3, MKKA, CTRY_JAPAN8},
+	{MKK3_MKKC, MKK3, MKKC, CTRY_JAPAN9},
+	{MKK3_FCCA, MKK3, FCCA, CTRY_JAPAN27},
+	{MKK4_MKKA, MKK4, MKKA, CTRY_JAPAN36},
+	{MKK4_MKKB, MKK4, MKKA, CTRY_JAPAN10},
+	{MKK4_MKKA1, MKK4, MKKA, CTRY_JAPAN28},
+	{MKK4_MKKA2, MKK4, MKKA, CTRY_JAPAN11},
+	{MKK4_MKKC, MKK4, MKKC, CTRY_JAPAN12},
+	{MKK4_FCCA, MKK4, FCCA, CTRY_JAPAN29},
+	{MKK5_MKKB, MKK5, MKKA, CTRY_JAPAN13},
+	{MKK5_MKKA2, MKK5, MKKA, CTRY_JAPAN14},
+	{MKK5_MKKC, MKK5, MKKC, CTRY_JAPAN15},
+	{MKK5_FCCA, MKK5, FCCA, CTRY_JAPAN56},
+	{MKK9_MKKA, MKK9, MKKA, CTRY_JAPAN34},
+	{MKK9_FCCA, MKK9, FCCA, CTRY_JAPAN37},
+	{MKK9_MKKA1, MKK9, MKKA, CTRY_JAPAN38},
+	{MKK9_MKKA2, MKK9, MKKA, CTRY_JAPAN40},
+	{MKK9_MKKC, MKK9, MKKC, CTRY_JAPAN39},
+	{MKK10_MKKA, MKK10, MKKA, CTRY_JAPAN35},
+	{MKK10_FCCA, MKK10, FCCA, CTRY_JAPAN41},
+	{MKK10_MKKA1, MKK10, MKKA, CTRY_JAPAN42},
+	{MKK10_MKKA2, MKK10, MKKA, CTRY_JAPAN44},
+	{MKK10_MKKC, MKK10, MKKC, CTRY_JAPAN43},
+	{MKK11_MKKA, MKK11, MKKA, CTRY_JAPAN45},
+	{MKK11_FCCA, MKK11, FCCA, CTRY_JAPAN46},
+	{MKK11_MKKA1, MKK11, MKKA, CTRY_JAPAN47},
+	{MKK11_MKKA2, MKK11, MKKA, CTRY_JAPAN49},
+	{MKK11_MKKC, MKK11, MKKC, CTRY_JAPAN48},
+
+	{WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, 0},
+	{WOR1_WORLD, WOR1_WORLD, WOR1_WORLD, 0},
+	{WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, 0},
+	{WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, 0},
+	{WOR4_WORLD, WOR4_WORLD, WOR4_WORLD, 0},
+	{WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC, 0},
+	{WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, 0},
+	{WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, 0},
+	{EU1_WORLD, EU1_WORLD, EU1_WORLD, 0},
+	{WOR9_WORLD, WOR9_WORLD, WOR9_WORLD, 0},
+	{WORA_WORLD, WORA_WORLD, WORA_WORLD, 0},
+	{WORB_WORLD, WORB_WORLD, WORB_WORLD, 0},
+	{WORC_WORLD, WORC_WORLD, WORC_WORLD, 0},
+};
+
+static const COUNTRY_CODE_TO_ENUM_RD ah_cmn_all_countries[] = {
+	{CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG"},
+	{CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET"},
+	{CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA"},
+	{CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA"},
+	{CTRY_ARGENTINA, FCC3_WORLD, "AR", "ARGENTINA"},
+	{CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA"},
+	{CTRY_ARUBA, ETSI1_WORLD, "AW", "ARUBA"},
+	{CTRY_AUSTRALIA, FCC3_WORLD, "AU", "AUSTRALIA"},
+	{CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA"},
+	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN"},
+	{CTRY_BAHAMAS, FCC3_WORLD, "BS", "BAHAMAS"},
+	{CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN"},
+	{CTRY_BANGLADESH, NULL1_WORLD, "BD", "BANGLADESH"},
+	{CTRY_BARBADOS, FCC2_WORLD, "BB", "BARBADOS"},
+	{CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS"},
+	{CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM"},
+	{CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE"},
+	{CTRY_BERMUDA, FCC3_FCCA, "BM", "BERMUDA"},
+	{CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLIVIA"},
+	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA AND HERZEGOVINA"},
+	{CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL"},
+	{CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BRUNEI DARUSSALAM"},
+	{CTRY_BULGARIA, ETSI1_WORLD, "BG", "BULGARIA"},
+	{CTRY_CAMBODIA, ETSI1_WORLD, "KH", "CAMBODIA"},
+	{CTRY_CANADA, FCC3_FCCA, "CA", "CANADA"},
+	{CTRY_CHILE, APL6_WORLD, "CL", "CHILE"},
+	{CTRY_CHINA, APL1_WORLD, "CN", "CHINA"},
+	{CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA"},
+	{CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA"},
+	{CTRY_CROATIA, ETSI1_WORLD, "HR", "CROATIA"},
+	{CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS"},
+	{CTRY_CZECH, ETSI1_WORLD, "CZ", "CZECH REPUBLIC"},
+	{CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK"},
+	{CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC"},
+	{CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR"},
+	{CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT"},
+	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR"},
+	{CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA"},
+	{CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND"},
+	{CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE"},
+	{CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA"},
+	{CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY"},
+	{CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE"},
+	{CTRY_GREENLAND, ETSI1_WORLD, "GL", "GREENLAND"},
+	{CTRY_GRENADA, FCC3_FCCA, "GD", "GRENADA"},
+	{CTRY_GUAM, FCC1_FCCA, "GU", "GUAM"},
+	{CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA"},
+	{CTRY_HAITI, ETSI1_WORLD, "HT", "HAITI"},
+	{CTRY_HONDURAS, FCC3_WORLD, "HN", "HONDURAS"},
+	{CTRY_HONG_KONG, FCC3_WORLD, "HK", "HONG KONG"},
+	{CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY"},
+	{CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND"},
+	{CTRY_INDIA, APL6_WORLD, "IN", "INDIA"},
+	{CTRY_INDONESIA, APL2_WORLD, "ID", "INDONESIA"},
+	{CTRY_IRAN, APL1_WORLD, "IR", "IRAN"},
+	{CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND"},
+	{CTRY_ISRAEL, ETSI3_WORLD, "IL", "ISRAEL"},
+	{CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY"},
+	{CTRY_JAMAICA, FCC3_WORLD, "JM", "JAMAICA"},
+	{CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN"},
+	{CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7"},
+	{CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8"},
+	{CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9"},
+	{CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10"},
+	{CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11"},
+	{CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12"},
+	{CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13"},
+	{CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14"},
+	{CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15"},
+	{CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25"},
+	{CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26"},
+	{CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27"},
+	{CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28"},
+	{CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29"},
+	{CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34"},
+	{CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35"},
+	{CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36"},
+	{CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37"},
+	{CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38"},
+	{CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39"},
+	{CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40"},
+	{CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41"},
+	{CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42"},
+	{CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43"},
+	{CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44"},
+	{CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45"},
+	{CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46"},
+	{CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47"},
+	{CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48"},
+	{CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49"},
+	{CTRY_JAPAN55, MKK5_MKKA, "JP", "JAPAN55"},
+	{CTRY_JAPAN56, MKK5_FCCA, "JP", "JAPAN56"},
+	{CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN"},
+	{CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN"},
+	{CTRY_KENYA, APL1_WORLD, "KE", "KENYA"},
+	{CTRY_KOREA_NORTH, APL9_MKKC, "KP", "NORTH KOREA"},
+	{CTRY_KOREA_ROC, APL10_MKKC, "KR", "KOREA REPUBLIC"},
+	{CTRY_KOREA_ROC_AP, APL9_MKKC, "KR", "KOREA REPUBLIC3"},
+	{CTRY_KUWAIT, ETSI3_WORLD, "KW", "KUWAIT"},
+	{CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA"},
+	{CTRY_LEBANON, APL1_WORLD, "LB", "LEBANON"},
+	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN"},
+	{CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA"},
+	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG"},
+	{CTRY_MACAU, FCC2_WORLD, "MO", "MACAU SAR"},
+	{CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MACEDONIA, FYRO"},
+	{CTRY_MALAYSIA, FCC1_WORLD, "MY", "MALAYSIA"},
+	{CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA"},
+	{CTRY_MAURITIUS, ETSI1_WORLD, "MU", "MAURITIUS"},
+	{CTRY_MEXICO, FCC1_WORLD, "MX", "MEXICO"},
+	{CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO"},
+	{CTRY_MOROCCO, APL4_WORLD, "MA", "MOROCCO"},
+	{CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL"},
+	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS"},
+	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "NETHERLANDS ANTILLES"},
+	{CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NEW ZEALAND"},
+	{CTRY_NICARAGUA, FCC3_FCCA, "NI", "NICARAGUA"},
+	{CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY"},
+	{CTRY_OMAN, FCC3_WORLD, "OM", "OMAN"},
+	{CTRY_PAKISTAN, APL1_WORLD, "PK", "PAKISTAN"},
+	{CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA"},
+	{CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA"},
+	{CTRY_PARAGUAY, FCC3_WORLD, "PY", "PARAGUAY"},
+	{CTRY_PERU, FCC3_WORLD, "PE", "PERU"},
+	{CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PHILIPPINES"},
+	{CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND"},
+	{CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL"},
+	{CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO"},
+	{CTRY_QATAR, APL1_WORLD, "QA", "QATAR"},
+	{CTRY_ROMANIA, ETSI1_WORLD, "RO", "ROMANIA"},
+	{CTRY_RUSSIA, ETSI8_WORLD, "RU", "RUSSIA"},
+	{CTRY_RWANDA, APL1_WORLD, "RW", "RWANDA"},
+	{CTRY_SAUDI_ARABIA, FCC2_WORLD, "SA", "SAUDI ARABIA"},
+	{CTRY_SERBIA, ETSI1_WORLD, "RS", "REPUBLIC OF SERBIA"},
+	{CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "MONTENEGRO"},
+	{CTRY_SINGAPORE, FCC3_WORLD, "SG", "SINGAPORE"},
+	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAKIA"},
+	{CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA"},
+	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA"},
+	{CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN"},
+	{CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA"},
+	{CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN"},
+	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND"},
+	{CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIAN ARAB REPUBLIC"},
+	{CTRY_TAIWAN, APL7_FCCA, "TW", "TAIWAN"},
+	{CTRY_TANZANIA, APL1_WORLD, "TZ", "TANZANIA"},
+	{CTRY_THAILAND, FCC3_WORLD, "TH", "THAILAND"},
+	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO"},
+	{CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA"},
+	{CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY"},
+	{CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA"},
+	{CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE"},
+	{CTRY_UAE, ETSI1_WORLD, "AE", "UNITED ARAB EMIRATES"},
+	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM"},
+	{CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES"},
+	{CTRY_UNITED_STATES_AP, FCC6_FCCA, "US", "UNITED STATES2"},
+	{CTRY_UNITED_STATES_PS, FCC4_FCCA, "PS", "US PUBLIC SAFETY"},
+	{CTRY_URUGUAY, FCC3_WORLD, "UY", "URUGUAY"},
+	{CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN"},
+	{CTRY_VENEZUELA, FCC1_WORLD, "VE", "VENEZUELA"},
+	{CTRY_VIET_NAM, ETSI3_WORLD, "VN", "VIETNAM"},
+	{CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN"},
+	{CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE"}
+};
 
 /**
  * enum ch_width - channel width
@@ -372,6 +825,93 @@
 	uint8_t center_freq_seg1;
 };
 
+static const REG_DOMAIN ah_cmn_reg_domains[] = {
+	{DEBUG_REG_DMN, FCC},
+	{APL1, FCC},
+	{APL2, FCC},
+	{APL3, FCC},
+	{APL4, FCC},
+	{APL5, FCC},
+	{APL6, ETSI},
+	{APL7, FCC},
+	{APL8, ETSI},
+	{APL9, ETSI},
+	{APL10, ETSI},
+	{APL11, ETSI},
+	{APL12, ETSI},
+	{ETSI1, ETSI},
+	{ETSI2, ETSI},
+	{ETSI3, ETSI},
+	{ETSI4, ETSI},
+	{ETSI5, ETSI},
+	{ETSI6, ETSI},
+	{ETSI8, ETSI},
+	{ETSI9, ETSI},
+	{FCC1, FCC},
+	{FCC2, FCC},
+	{FCC3, FCC},
+	{FCC4, FCC},
+	{FCC5, FCC},
+	{FCC6, FCC},
+	{MKK1, MKK},
+	{MKK2, MKK},
+	{MKK3, MKK},
+	{MKK4, MKK},
+	{MKK5, MKK},
+	{MKK6, MKK},
+	{MKK7, MKK},
+	{MKK8, MKK},
+	{MKK9, MKK},
+	{MKK10, MKK},
+	{MKK11, MKK},
+	{MKK12, MKK},
+	{MKK13, MKK},
+	{MKK14, MKK},
+	{MKK15, MKK},
+	{APLD, NO_CTL},
+	{ETSIA, NO_CTL},
+	{ETSIB, ETSI},
+	{ETSIC, ETSI},
+	{FCCA, FCC},
+	{MKKA, MKK},
+	{MKKC, MKK},
+	{WORLD, ETSI},
+	{WOR0_WORLD, NO_CTL},
+	{WOR01_WORLD, NO_CTL},
+	{WOR02_WORLD, NO_CTL},
+	{EU1_WORLD, NO_CTL},
+	{WOR1_WORLD, NO_CTL},
+	{WOR2_WORLD, NO_CTL},
+	{WOR3_WORLD, NO_CTL},
+	{WOR4_WORLD, NO_CTL},
+	{WOR5_ETSIC, NO_CTL},
+	{WOR9_WORLD, NO_CTL},
+	{WORA_WORLD, NO_CTL},
+	{WORB_WORLD, NO_CTL},
+	{WORC_WORLD, NO_CTL},
+	{NULL1, NO_CTL},
+};
+
+typedef enum offset {
+	BW20 = 0,
+	BW40_LOW_PRIMARY = 1,
+	BW40_HIGH_PRIMARY = 3,
+	BW80,
+	BWALL
+} offset_t;
+
+typedef struct _regdm_op_class_map {
+	uint8_t op_class;
+	uint8_t ch_spacing;
+	offset_t offset;
+	uint8_t channels[MAX_CHANNELS_PER_OPERATING_CLASS];
+} regdm_op_class_map_t;
+
+typedef struct _regdm_supp_op_classes {
+	uint8_t num_classes;
+	uint8_t classes[CDS_MAX_SUPP_OPER_CLASSES];
+} regdm_supp_op_classes;
+
 
 int32_t cds_fill_some_regulatory_info(struct regulatory *reg);
 void cds_fill_and_send_ctl_to_fw(struct regulatory *reg);
@@ -381,4 +921,11 @@
 void cds_set_ch_params(uint8_t ch, uint32_t phy_mode,
 		       struct ch_params_s *ch_params);
 
+uint16_t cds_regdm_get_opclass_from_channel(uint8_t *country, uint8_t channel,
+					    uint8_t offset);
+uint16_t cds_regdm_get_chanwidth_from_opclass(uint8_t *country, uint8_t channel,
+					    uint8_t opclass);
+uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class);
+uint16_t cds_regdm_get_curr_opclasses(uint8_t *num_classes, uint8_t *class);
+
 #endif /* REGULATORY_H */
diff --git a/core/cds/inc/cds_regdomain_common.h b/core/cds/inc/cds_regdomain_common.h
deleted file mode 100644
index 02ab522..0000000
--- a/core/cds/inc/cds_regdomain_common.h
+++ /dev/null
@@ -1,637 +0,0 @@
-/*
- * Copyright (c) 2011, 2014-2015 The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/*
- * This file was originally distributed by Qualcomm Atheros, Inc.
- * under proprietary terms before Copyright ownership was assigned
- * to the Linux Foundation.
- */
-
-/*
- * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
- * Copyright (c) 2005-2011 Atheros Communications, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $FreeBSD: release/9.0.0/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regenum.h 224226 2011-07-20 12:46:58Z adrian $
- */
-/*
- * This module contains the common regulatory domain database tables:
- *
- *     - reg domain enum constants
- *     - reg domain enum to reg domain pair mappings
- *     - country to regdomain mappings
- *     - channel tag enums and the frequency-to-frequency band mappings
- *       for all the modes
- *
- * "The country table and respective Regulatory Domain channel and power
- * settings are based on available knowledge as of software release. The
- * underlying global regulatory and spectrum rules change on a regular basis,
- * therefore, no warranty is given that the channel and power information
- * herein is complete, accurate or up to date.  Developers are responsible
- * for regulatory compliance of end-products developed using the enclosed
- * data per all applicable national requirements.  Furthermore, data in this
- * table does not guarantee that spectrum is available and that regulatory
- * approval is possible in every case. Knowldegable regulatory compliance
- * or government contacts should be consulted by the manufacturer to ensure
- * that the most current and accurate settings are used in each end-product.
- * This table was designed so that developers are able to update the country
- * table mappings as well as the Regulatory Domain definitions in order to
- * incorporate the most current channel and power settings in the end-product."
- *
- */
-
-/* Enumerated Regulatory Domain Information 8 bit values indicate that
- * the regdomain is really a pair of unitary regdomains.  12 bit values
- * are the real unitary regdomains and are the only ones which have the
- * frequency bitmasks and flags set.
- */
-
-
-#define MAX_CHANNELS_PER_OPERATING_CLASS  25
-
-enum EnumRd {
-	NO_ENUMRD = 0x00,
-	NULL1_WORLD = 0x03,
-	NULL1_ETSIB = 0x07,
-	NULL1_ETSIC = 0x08,
-	FCC1_FCCA = 0x10,
-	FCC1_WORLD = 0x11,
-	FCC4_FCCA = 0x12,
-	FCC5_FCCA = 0x13,
-	FCC6_FCCA = 0x14,
-
-	FCC2_FCCA = 0x20,
-	FCC2_WORLD = 0x21,
-	FCC2_ETSIC = 0x22,
-	FCC6_WORLD = 0x23,
-	FRANCE_RES = 0x31,
-	FCC3_FCCA = 0x3A,
-	FCC3_WORLD = 0x3B,
-	FCC3_ETSIC = 0x3F,
-
-	ETSI1_WORLD = 0x37,
-	ETSI3_ETSIA = 0x32,
-	ETSI2_WORLD = 0x35,
-	ETSI3_WORLD = 0x36,
-	ETSI4_WORLD = 0x30,
-	ETSI4_ETSIC = 0x38,
-	ETSI5_WORLD = 0x39,
-	ETSI6_WORLD = 0x34,
-	ETSI8_WORLD = 0x3D,
-	ETSI9_WORLD = 0x3E,
-	ETSI_RESERVED = 0x33,
-
-	MKK1_MKKA = 0x40,
-	MKK1_MKKB = 0x41,
-	APL4_WORLD = 0x42,
-	MKK2_MKKA = 0x43,
-	APL_RESERVED = 0x44,
-	APL2_WORLD = 0x45,
-	APL2_APLC = 0x46,
-	APL3_WORLD = 0x47,
-	MKK1_FCCA = 0x48,
-	APL2_APLD = 0x49,
-	MKK1_MKKA1 = 0x4A,
-	MKK1_MKKA2 = 0x4B,
-	MKK1_MKKC = 0x4C,
-	APL2_FCCA = 0x4D,
-	APL11_FCCA = 0x4F,
-
-	APL3_FCCA = 0x50,
-	APL12_WORLD = 0x51,
-	APL1_WORLD = 0x52,
-	APL1_FCCA = 0x53,
-	APL1_APLA = 0x54,
-	APL1_ETSIC = 0x55,
-	APL2_ETSIC = 0x56,
-	APL5_WORLD = 0x58,
-	APL13_WORLD = 0x5A,
-	APL6_WORLD = 0x5B,
-	APL7_FCCA = 0x5C,
-	APL8_WORLD = 0x5D,
-	APL9_MKKC = 0x5E,
-	APL10_MKKC = 0x5F,
-
-	WOR0_WORLD = 0x60,
-	WOR1_WORLD = 0x61,
-	WOR2_WORLD = 0x62,
-	WOR3_WORLD = 0x63,
-	WOR4_WORLD = 0x64,
-	WOR5_ETSIC = 0x65,
-
-	WOR01_WORLD = 0x66,
-	WOR02_WORLD = 0x67,
-	EU1_WORLD = 0x68,
-
-	WOR9_WORLD = 0x69,
-	WORA_WORLD = 0x6A,
-	WORB_WORLD = 0x6B,
-	WORC_WORLD = 0x6C,
-
-	MKK3_MKKB = 0x80,
-	MKK3_MKKA2 = 0x81,
-	MKK3_MKKC = 0x82,
-
-	MKK4_MKKB = 0x83,
-	MKK4_MKKA2 = 0x84,
-	MKK4_MKKC = 0x85,
-
-	MKK5_MKKB = 0x86,
-	MKK5_MKKA2 = 0x87,
-	MKK5_MKKC = 0x88,
-	MKK5_MKKA = 0x99,
-	MKK5_FCCA = 0x9A,
-
-	MKK6_MKKB = 0x89,
-	MKK6_MKKA2 = 0x8A,
-	MKK6_MKKC = 0x8B,
-
-	MKK7_MKKB = 0x8C,
-	MKK7_MKKA2 = 0x8D,
-	MKK7_MKKC = 0x8E,
-
-	MKK8_MKKB = 0x8F,
-	MKK8_MKKA2 = 0x90,
-	MKK8_MKKC = 0x91,
-
-	MKK14_MKKA1 = 0x92,
-	MKK15_MKKA1 = 0x93,
-
-	MKK10_FCCA = 0xD0,
-	MKK10_MKKA1 = 0xD1,
-	MKK10_MKKC = 0xD2,
-	MKK10_MKKA2 = 0xD3,
-
-	MKK11_MKKA = 0xD4,
-	MKK11_FCCA = 0xD5,
-	MKK11_MKKA1 = 0xD6,
-	MKK11_MKKC = 0xD7,
-	MKK11_MKKA2 = 0xD8,
-
-	MKK12_MKKA = 0xD9,
-	MKK12_FCCA = 0xDA,
-	MKK12_MKKA1 = 0xDB,
-	MKK12_MKKC = 0xDC,
-	MKK12_MKKA2 = 0xDD,
-
-	MKK13_MKKB = 0xDE,
-
-	MKK3_MKKA = 0xF0,
-	MKK3_MKKA1 = 0xF1,
-	MKK3_FCCA = 0xF2,
-	MKK4_MKKA = 0xF3,
-	MKK4_MKKA1 = 0xF4,
-	MKK4_FCCA = 0xF5,
-	MKK9_MKKA = 0xF6,
-	MKK10_MKKA = 0xF7,
-	MKK6_MKKA1 = 0xF8,
-	MKK6_FCCA = 0xF9,
-	MKK7_MKKA1 = 0xFA,
-	MKK7_FCCA = 0xFB,
-	MKK9_FCCA = 0xFC,
-	MKK9_MKKA1 = 0xFD,
-	MKK9_MKKC = 0xFE,
-	MKK9_MKKA2 = 0xFF,
-
-	APL1 = 0x0150,
-	APL2 = 0x0250,
-	APL3 = 0x0350,
-	APL4 = 0x0450,
-	APL5 = 0x0550,
-	APL6 = 0x0650,
-	APL7 = 0x0750,
-	APL8 = 0x0850,
-	APL9 = 0x0950,
-	APL10 = 0x1050,
-	APL11 = 0x1150,
-	APL12 = 0x1160,
-
-	ETSI1 = 0x0130,
-	ETSI2 = 0x0230,
-	ETSI3 = 0x0330,
-	ETSI4 = 0x0430,
-	ETSI5 = 0x0530,
-	ETSI6 = 0x0630,
-	ETSI8 = 0x0830,
-	ETSI9 = 0x0930,
-	ETSIA = 0x0A30,
-	ETSIB = 0x0B30,
-	ETSIC = 0x0C30,
-
-	FCC1 = 0x0110,
-	FCC2 = 0x0120,
-	FCC3 = 0x0160,
-	FCC4 = 0x0165,
-	FCC5 = 0x0510,
-	FCC6 = 0x0610,
-	FCCA = 0x0A10,
-
-	APLD = 0x0D50,
-
-	MKK1 = 0x0140,
-	MKK2 = 0x0240,
-	MKK3 = 0x0340,
-	MKK4 = 0x0440,
-	MKK5 = 0x0540,
-	MKK6 = 0x0640,
-	MKK7 = 0x0740,
-	MKK8 = 0x0840,
-	MKK9 = 0x0940,
-	MKK10 = 0x0B40,
-	MKK11 = 0x1140,
-	MKK12 = 0x1240,
-	MKK13 = 0x0C40,
-	MKK14 = 0x1440,
-	MKK15 = 0x1540,
-	MKKA = 0x0A40,
-	MKKC = 0x0A50,
-
-	NULL1 = 0x0198,
-	WORLD = 0x0199,
-	DEBUG_REG_DMN = 0x01ff,
-};
-
-enum {
-	FCC = 0x10,
-	MKK = 0x40,
-	ETSI = 0x30,
-	NO_CTL = 0xff
-};
-
-static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = {
-	{NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, 0},
-	{NULL1_WORLD, NULL1, WORLD, 0},
-	{NULL1_ETSIB, NULL1, ETSIB, 0},
-	{NULL1_ETSIC, NULL1, ETSIC, 0},
-	{FCC2_FCCA, FCC2, FCCA, 0},
-	{FCC2_WORLD, FCC2, WORLD, 0},
-	{FCC2_ETSIC, FCC2, ETSIC, 0},
-	{FCC3_FCCA, FCC3, FCCA, 0},
-	{FCC3_WORLD, FCC3, WORLD, 0},
-	{FCC3_ETSIC, FCC3, ETSIC, 0},
-	{FCC4_FCCA, FCC4, FCCA, 0},
-	{FCC5_FCCA, FCC5, FCCA, 0},
-	{FCC6_FCCA, FCC6, FCCA, 0},
-	{FCC6_WORLD, FCC6, WORLD, 0},
-	{ETSI1_WORLD, ETSI1, WORLD, 0},
-	{ETSI2_WORLD, ETSI2, WORLD, 0},
-	{ETSI3_WORLD, ETSI3, WORLD, 0},
-	{ETSI4_WORLD, ETSI4, WORLD, 0},
-	{ETSI5_WORLD, ETSI5, WORLD, 0},
-	{ETSI6_WORLD, ETSI6, WORLD, 0},
-	{ETSI8_WORLD, ETSI8, WORLD, 0},
-	{ETSI9_WORLD, ETSI9, WORLD, 0},
-	{ETSI3_ETSIA, ETSI3, WORLD, 0},
-	{FRANCE_RES, ETSI3, WORLD, 0},
-	{FCC1_WORLD, FCC1, WORLD, 0},
-	{FCC1_FCCA, FCC1, FCCA, 0},
-	{APL1_WORLD, APL1, WORLD, 0},
-	{APL2_WORLD, APL2, WORLD, 0},
-	{APL2_FCCA, APL2, FCCA, 0},
-	{APL3_WORLD, APL3, WORLD, 0},
-	{APL4_WORLD, APL4, WORLD, 0},
-	{APL5_WORLD, APL5, WORLD, 0},
-	{APL6_WORLD, APL6, WORLD, 0},
-	{APL7_FCCA, APL7, FCCA, 0},
-	{APL8_WORLD, APL8, WORLD, 0},
-	{APL9_MKKC, APL9, MKKC, 0},
-	{APL10_MKKC, APL10, MKKC, 0},
-	{APL3_FCCA, APL3, FCCA, 0},
-	{APL1_ETSIC, APL1, ETSIC, 0},
-	{APL2_ETSIC, APL2, ETSIC, 0},
-	{MKK3_MKKA, MKK3, MKKA, CTRY_JAPAN25},
-	{MKK3_MKKB, MKK3, MKKA, CTRY_JAPAN7},
-	{MKK3_MKKA1, MKK3, MKKA, CTRY_JAPAN26},
-	{MKK3_MKKA2, MKK3, MKKA, CTRY_JAPAN8},
-	{MKK3_MKKC, MKK3, MKKC, CTRY_JAPAN9},
-	{MKK3_FCCA, MKK3, FCCA, CTRY_JAPAN27},
-	{MKK4_MKKA, MKK4, MKKA, CTRY_JAPAN36},
-	{MKK4_MKKB, MKK4, MKKA, CTRY_JAPAN10},
-	{MKK4_MKKA1, MKK4, MKKA, CTRY_JAPAN28},
-	{MKK4_MKKA2, MKK4, MKKA, CTRY_JAPAN11},
-	{MKK4_MKKC, MKK4, MKKC, CTRY_JAPAN12},
-	{MKK4_FCCA, MKK4, FCCA, CTRY_JAPAN29},
-	{MKK5_MKKB, MKK5, MKKA, CTRY_JAPAN13},
-	{MKK5_MKKA2, MKK5, MKKA, CTRY_JAPAN14},
-	{MKK5_MKKC, MKK5, MKKC, CTRY_JAPAN15},
-	{MKK5_FCCA, MKK5, FCCA, CTRY_JAPAN56},
-	{MKK9_MKKA, MKK9, MKKA, CTRY_JAPAN34},
-	{MKK9_FCCA, MKK9, FCCA, CTRY_JAPAN37},
-	{MKK9_MKKA1, MKK9, MKKA, CTRY_JAPAN38},
-	{MKK9_MKKA2, MKK9, MKKA, CTRY_JAPAN40},
-	{MKK9_MKKC, MKK9, MKKC, CTRY_JAPAN39},
-	{MKK10_MKKA, MKK10, MKKA, CTRY_JAPAN35},
-	{MKK10_FCCA, MKK10, FCCA, CTRY_JAPAN41},
-	{MKK10_MKKA1, MKK10, MKKA, CTRY_JAPAN42},
-	{MKK10_MKKA2, MKK10, MKKA, CTRY_JAPAN44},
-	{MKK10_MKKC, MKK10, MKKC, CTRY_JAPAN43},
-	{MKK11_MKKA, MKK11, MKKA, CTRY_JAPAN45},
-	{MKK11_FCCA, MKK11, FCCA, CTRY_JAPAN46},
-	{MKK11_MKKA1, MKK11, MKKA, CTRY_JAPAN47},
-	{MKK11_MKKA2, MKK11, MKKA, CTRY_JAPAN49},
-	{MKK11_MKKC, MKK11, MKKC, CTRY_JAPAN48},
-
-	{WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, 0},
-	{WOR1_WORLD, WOR1_WORLD, WOR1_WORLD, 0},
-	{WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, 0},
-	{WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, 0},
-	{WOR4_WORLD, WOR4_WORLD, WOR4_WORLD, 0},
-	{WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC, 0},
-	{WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, 0},
-	{WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, 0},
-	{EU1_WORLD, EU1_WORLD, EU1_WORLD, 0},
-	{WOR9_WORLD, WOR9_WORLD, WOR9_WORLD, 0},
-	{WORA_WORLD, WORA_WORLD, WORA_WORLD, 0},
-	{WORB_WORLD, WORB_WORLD, WORB_WORLD, 0},
-	{WORC_WORLD, WORC_WORLD, WORC_WORLD, 0},
-};
-
-static const COUNTRY_CODE_TO_ENUM_RD ah_cmn_all_countries[] = {
-	{CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG"},
-	{CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET"},
-	{CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA"},
-	{CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA"},
-	{CTRY_ARGENTINA, FCC3_WORLD, "AR", "ARGENTINA"},
-	{CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA"},
-	{CTRY_ARUBA, ETSI1_WORLD, "AW", "ARUBA"},
-	{CTRY_AUSTRALIA, FCC3_WORLD, "AU", "AUSTRALIA"},
-	{CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA"},
-	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN"},
-	{CTRY_BAHAMAS, FCC3_WORLD, "BS", "BAHAMAS"},
-	{CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN"},
-	{CTRY_BANGLADESH, NULL1_WORLD, "BD", "BANGLADESH"},
-	{CTRY_BARBADOS, FCC2_WORLD, "BB", "BARBADOS"},
-	{CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS"},
-	{CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM"},
-	{CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE"},
-	{CTRY_BERMUDA, FCC3_FCCA, "BM", "BERMUDA"},
-	{CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLIVIA"},
-	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA AND HERZEGOVINA"},
-	{CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL"},
-	{CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BRUNEI DARUSSALAM"},
-	{CTRY_BULGARIA, ETSI1_WORLD, "BG", "BULGARIA"},
-	{CTRY_CAMBODIA, ETSI1_WORLD, "KH", "CAMBODIA"},
-	{CTRY_CANADA, FCC3_FCCA, "CA", "CANADA"},
-	{CTRY_CHILE, APL6_WORLD, "CL", "CHILE"},
-	{CTRY_CHINA, APL1_WORLD, "CN", "CHINA"},
-	{CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA"},
-	{CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA"},
-	{CTRY_CROATIA, ETSI1_WORLD, "HR", "CROATIA"},
-	{CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS"},
-	{CTRY_CZECH, ETSI1_WORLD, "CZ", "CZECH REPUBLIC"},
-	{CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK"},
-	{CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC"},
-	{CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR"},
-	{CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT"},
-	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR"},
-	{CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA"},
-	{CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND"},
-	{CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE"},
-	{CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA"},
-	{CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY"},
-	{CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE"},
-	{CTRY_GREENLAND, ETSI1_WORLD, "GL", "GREENLAND"},
-	{CTRY_GRENADA, FCC3_FCCA, "GD", "GRENADA"},
-	{CTRY_GUAM, FCC1_FCCA, "GU", "GUAM"},
-	{CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA"},
-	{CTRY_HAITI, ETSI1_WORLD, "HT", "HAITI"},
-	{CTRY_HONDURAS, FCC3_WORLD, "HN", "HONDURAS"},
-	{CTRY_HONG_KONG, FCC3_WORLD, "HK", "HONG KONG"},
-	{CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY"},
-	{CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND"},
-	{CTRY_INDIA, APL6_WORLD, "IN", "INDIA"},
-	{CTRY_INDONESIA, APL2_WORLD, "ID", "INDONESIA"},
-	{CTRY_IRAN, APL1_WORLD, "IR", "IRAN"},
-	{CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND"},
-	{CTRY_ISRAEL, ETSI3_WORLD, "IL", "ISRAEL"},
-	{CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY"},
-	{CTRY_JAMAICA, FCC3_WORLD, "JM", "JAMAICA"},
-	{CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN"},
-	{CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7"},
-	{CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8"},
-	{CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9"},
-	{CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10"},
-	{CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11"},
-	{CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12"},
-	{CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13"},
-	{CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14"},
-	{CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15"},
-	{CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25"},
-	{CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26"},
-	{CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27"},
-	{CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28"},
-	{CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29"},
-	{CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34"},
-	{CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35"},
-	{CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36"},
-	{CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37"},
-	{CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38"},
-	{CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39"},
-	{CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40"},
-	{CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41"},
-	{CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42"},
-	{CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43"},
-	{CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44"},
-	{CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45"},
-	{CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46"},
-	{CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47"},
-	{CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48"},
-	{CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49"},
-	{CTRY_JAPAN55, MKK5_MKKA, "JP", "JAPAN55"},
-	{CTRY_JAPAN56, MKK5_FCCA, "JP", "JAPAN56"},
-	{CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN"},
-	{CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN"},
-	{CTRY_KENYA, APL1_WORLD, "KE", "KENYA"},
-	{CTRY_KOREA_NORTH, APL9_MKKC, "KP", "NORTH KOREA"},
-	{CTRY_KOREA_ROC, APL10_MKKC, "KR", "KOREA REPUBLIC"},
-	{CTRY_KOREA_ROC_AP, APL9_MKKC, "KR", "KOREA REPUBLIC3"},
-	{CTRY_KUWAIT, ETSI3_WORLD, "KW", "KUWAIT"},
-	{CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA"},
-	{CTRY_LEBANON, APL1_WORLD, "LB", "LEBANON"},
-	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN"},
-	{CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA"},
-	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG"},
-	{CTRY_MACAU, FCC2_WORLD, "MO", "MACAU SAR"},
-	{CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MACEDONIA, FYRO"},
-	{CTRY_MALAYSIA, FCC1_WORLD, "MY", "MALAYSIA"},
-	{CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA"},
-	{CTRY_MAURITIUS, ETSI1_WORLD, "MU", "MAURITIUS"},
-	{CTRY_MEXICO, FCC1_WORLD, "MX", "MEXICO"},
-	{CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO"},
-	{CTRY_MOROCCO, APL4_WORLD, "MA", "MOROCCO"},
-	{CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL"},
-	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS"},
-	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "NETHERLANDS ANTILLES"},
-	{CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NEW ZEALAND"},
-	{CTRY_NICARAGUA, FCC3_FCCA, "NI", "NICARAGUA"},
-	{CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY"},
-	{CTRY_OMAN, FCC3_WORLD, "OM", "OMAN"},
-	{CTRY_PAKISTAN, APL1_WORLD, "PK", "PAKISTAN"},
-	{CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA"},
-	{CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA"},
-	{CTRY_PARAGUAY, FCC3_WORLD, "PY", "PARAGUAY"},
-	{CTRY_PERU, FCC3_WORLD, "PE", "PERU"},
-	{CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PHILIPPINES"},
-	{CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND"},
-	{CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL"},
-	{CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO"},
-	{CTRY_QATAR, APL1_WORLD, "QA", "QATAR"},
-	{CTRY_ROMANIA, ETSI1_WORLD, "RO", "ROMANIA"},
-	{CTRY_RUSSIA, ETSI8_WORLD, "RU", "RUSSIA"},
-	{CTRY_RWANDA, APL1_WORLD, "RW", "RWANDA"},
-	{CTRY_SAUDI_ARABIA, FCC2_WORLD, "SA", "SAUDI ARABIA"},
-	{CTRY_SERBIA, ETSI1_WORLD, "RS", "REPUBLIC OF SERBIA"},
-	{CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "MONTENEGRO"},
-	{CTRY_SINGAPORE, FCC3_WORLD, "SG", "SINGAPORE"},
-	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAKIA"},
-	{CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA"},
-	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA"},
-	{CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN"},
-	{CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA"},
-	{CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN"},
-	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND"},
-	{CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIAN ARAB REPUBLIC"},
-	{CTRY_TAIWAN, APL7_FCCA, "TW", "TAIWAN"},
-	{CTRY_TANZANIA, APL1_WORLD, "TZ", "TANZANIA"},
-	{CTRY_THAILAND, FCC3_WORLD, "TH", "THAILAND"},
-	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO"},
-	{CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA"},
-	{CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY"},
-	{CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA"},
-	{CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE"},
-	{CTRY_UAE, ETSI1_WORLD, "AE", "UNITED ARAB EMIRATES"},
-	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM"},
-	{CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES"},
-	{CTRY_UNITED_STATES_AP, FCC6_FCCA, "US", "UNITED STATES2"},
-	{CTRY_UNITED_STATES_PS, FCC4_FCCA, "PS", "US PUBLIC SAFETY"},
-	{CTRY_URUGUAY, FCC3_WORLD, "UY", "URUGUAY"},
-	{CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN"},
-	{CTRY_VENEZUELA, FCC1_WORLD, "VE", "VENEZUELA"},
-	{CTRY_VIET_NAM, ETSI3_WORLD, "VN", "VIETNAM"},
-	{CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN"},
-	{CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE"}
-};
-
-static const REG_DOMAIN ah_cmn_reg_domains[] = {
-	{DEBUG_REG_DMN, FCC},
-	{APL1, FCC},
-	{APL2, FCC},
-	{APL3, FCC},
-	{APL4, FCC},
-	{APL5, FCC},
-	{APL6, ETSI},
-	{APL7, FCC},
-	{APL8, ETSI},
-	{APL9, ETSI},
-	{APL10, ETSI},
-	{APL11, ETSI},
-	{APL12, ETSI},
-	{ETSI1, ETSI},
-	{ETSI2, ETSI},
-	{ETSI3, ETSI},
-	{ETSI4, ETSI},
-	{ETSI5, ETSI},
-	{ETSI6, ETSI},
-	{ETSI8, ETSI},
-	{ETSI9, ETSI},
-	{FCC1, FCC},
-	{FCC2, FCC},
-	{FCC3, FCC},
-	{FCC4, FCC},
-	{FCC5, FCC},
-	{FCC6, FCC},
-	{MKK1, MKK},
-	{MKK2, MKK},
-	{MKK3, MKK},
-	{MKK4, MKK},
-	{MKK5, MKK},
-	{MKK6, MKK},
-	{MKK7, MKK},
-	{MKK8, MKK},
-	{MKK9, MKK},
-	{MKK10, MKK},
-	{MKK11, MKK},
-	{MKK12, MKK},
-	{MKK13, MKK},
-	{MKK14, MKK},
-	{MKK15, MKK},
-	{APLD, NO_CTL},
-	{ETSIA, NO_CTL},
-	{ETSIB, ETSI},
-	{ETSIC, ETSI},
-	{FCCA, FCC},
-	{MKKA, MKK},
-	{MKKC, MKK},
-	{WORLD, ETSI},
-	{WOR0_WORLD, NO_CTL},
-	{WOR01_WORLD, NO_CTL},
-	{WOR02_WORLD, NO_CTL},
-	{EU1_WORLD, NO_CTL},
-	{WOR1_WORLD, NO_CTL},
-	{WOR2_WORLD, NO_CTL},
-	{WOR3_WORLD, NO_CTL},
-	{WOR4_WORLD, NO_CTL},
-	{WOR5_ETSIC, NO_CTL},
-	{WOR9_WORLD, NO_CTL},
-	{WORA_WORLD, NO_CTL},
-	{WORB_WORLD, NO_CTL},
-	{WORC_WORLD, NO_CTL},
-	{NULL1, NO_CTL},
-};
-
-typedef enum offset {
-	BW20 = 0,
-	BW40_LOW_PRIMARY = 1,
-	BW40_HIGH_PRIMARY = 3,
-	BW80,
-	BWALL
-} offset_t;
-
-typedef struct _regdm_op_class_map {
-	uint8_t op_class;
-	uint8_t ch_spacing;
-	offset_t offset;
-	uint8_t channels[MAX_CHANNELS_PER_OPERATING_CLASS];
-} regdm_op_class_map_t;
-
-typedef struct _regdm_supp_op_classes {
-	uint8_t num_classes;
-	uint8_t classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
-} regdm_supp_op_classes;
-
-uint16_t cds_regdm_get_opclass_from_channel(uint8_t *country, uint8_t channel,
-					    uint8_t offset);
-uint16_t cds_regdm_get_chanwidth_from_opclass(uint8_t *country, uint8_t channel,
-					    uint8_t opclass);
-uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class);
-uint16_t cds_regdm_get_curr_opclasses(uint8_t *num_classes, uint8_t *class);
diff --git a/core/cds/src/cds_regdomain.c b/core/cds/src/cds_regdomain.c
index 67765ba..20c056b 100644
--- a/core/cds/src/cds_regdomain.c
+++ b/core/cds/src/cds_regdomain.c
@@ -68,7 +68,6 @@
 #include <qdf_types.h>
 #include "wma.h"
 #include "cds_regdomain.h"
-#include "cds_regdomain_common.h"
 
 static regdm_supp_op_classes regdm_curr_supp_opp_classes = { 0 };
 
@@ -556,7 +555,7 @@
 {
 	uint8_t i;
 
-	if (SIR_MAC_MAX_SUPP_OPER_CLASSES < num_classes) {
+	if (CDS_MAX_SUPP_OPER_CLASSES < num_classes) {
 		qdf_print(KERN_ERR "%s: Invalid numClasses (%d)\n",
 			  __func__, num_classes);
 		return -1;
diff --git a/core/hdd/inc/wlan_hdd_tdls.h b/core/hdd/inc/wlan_hdd_tdls.h
index 03c7ff1..8a4cd45 100644
--- a/core/hdd/inc/wlan_hdd_tdls.h
+++ b/core/hdd/inc/wlan_hdd_tdls.h
@@ -342,7 +342,7 @@
 	uint8_t supported_channels_len;
 	uint8_t supported_channels[SIR_MAC_MAX_SUPP_CHANNELS];
 	uint8_t supported_oper_classes_len;
-	uint8_t supported_oper_classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
+	uint8_t supported_oper_classes[CDS_MAX_SUPP_OPER_CLASSES];
 	bool isForcedPeer;
 	uint8_t op_class_for_pref_off_chan;
 	uint8_t pref_off_chan_num;
diff --git a/core/hdd/src/wlan_hdd_regulatory.c b/core/hdd/src/wlan_hdd_regulatory.c
index b8a5135..6e36770 100644
--- a/core/hdd/src/wlan_hdd_regulatory.c
+++ b/core/hdd/src/wlan_hdd_regulatory.c
@@ -37,7 +37,6 @@
 #include "sme_api.h"
 #include "wlan_hdd_main.h"
 #include "cds_regdomain.h"
-#include "cds_regdomain_common.h"
 #include "wlan_hdd_regulatory.h"
 
 #define WORLD_SKU_MASK      0x00F0
diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h
index 56963ef..2737f9e 100644
--- a/core/mac/inc/sir_api.h
+++ b/core/mac/inc/sir_api.h
@@ -45,6 +45,7 @@
 #include "sir_mac_prot_def.h"
 #include "ani_system_defs.h"
 #include "sir_params.h"
+#include "cds_regdomain.h"
 
 #define OFFSET_OF(structType, fldName)   (&((structType *)0)->fldName)
 
@@ -3417,7 +3418,7 @@
 	uint8_t supportedChannelsLen;
 	uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
 	uint8_t supportedOperClassesLen;
-	uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
+	uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES];
 } tSirTdlsLinkEstablishReq, *tpSirTdlsLinkEstablishReq;
 
 /* TDLS Request struct SME-->PE */
diff --git a/core/mac/inc/sir_mac_prot_def.h b/core/mac/inc/sir_mac_prot_def.h
index 8ffaf01..c675af7 100644
--- a/core/mac/inc/sir_mac_prot_def.h
+++ b/core/mac/inc/sir_mac_prot_def.h
@@ -1385,7 +1385,6 @@
 #define SIR_MAC_MAX_SUPP_RATES            32
 
 #define SIR_MAC_MAX_SUPP_CHANNELS            100
-#define SIR_MAC_MAX_SUPP_OPER_CLASSES        32
 #define SIR_MAC_MAX_EXTN_CAP               8
 
 /* VHT Capabilities Info */
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index 679cee4..c0bab96 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -62,7 +62,7 @@
 
 
 #include <lim_ft.h>
-#include "cds_regdomain_common.h"
+#include "cds_regdomain.h"
 
 /*
  * This overhead is time for sending NOA start to host in case of GO/sending
diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c
index 44973cd..5bf81e6 100644
--- a/core/mac/src/pe/lim/lim_process_tdls.c
+++ b/core/mac/src/pe/lim/lim_process_tdls.c
@@ -75,7 +75,7 @@
 #include "lim_assoc_utils.h"
 #include "dph_hash_table.h"
 #include "wma_types.h"
-#include "cds_regdomain_common.h"
+#include "cds_regdomain.h"
 
 /* define NO_PAD_TDLS_MIN_8023_SIZE to NOT padding: See CR#447630
    There was IOT issue with cisco 1252 open mode, where it pads
@@ -2556,7 +2556,7 @@
 	uint8_t chanOffset;
 	uint8_t op_class;
 	uint8_t numClasses;
-	uint8_t classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
+	uint8_t classes[CDS_MAX_SUPP_OPER_CLASSES];
 	if (wlan_cfg_get_str(pMac, WNI_CFG_VALID_CHANNEL_LIST,
 			     validChan, &numChans) != eSIR_SUCCESS) {
 		/**
diff --git a/core/mac/src/pe/lim/lim_send_messages.c b/core/mac/src/pe/lim/lim_send_messages.c
index 3c844b8..5741165 100644
--- a/core/mac/src/pe/lim/lim_send_messages.c
+++ b/core/mac/src/pe/lim/lim_send_messages.c
@@ -42,7 +42,7 @@
 #ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM    /* FEATURE_WLAN_DIAG_SUPPORT */
 #include "host_diag_core_log.h"
 #endif /* FEATURE_WLAN_DIAG_SUPPORT */
-#include "cds_regdomain_common.h"
+
 /* When beacon filtering is enabled, firmware will
  * analyze the selected beacons received during BMPS,
  * and monitor any changes in the IEs as listed below.
diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
index 9f9a145..17d4492 100644
--- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
+++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
@@ -55,7 +55,7 @@
 #include "lim_session_utils.h"
 #include "lim_types.h"
 #include "sir_api.h"
-#include "cds_regdomain_common.h"
+#include "cds_regdomain.h"
 #include "lim_send_messages.h"
 
 static void lim_handle_join_rsp_status(tpAniSirGlobal mac_ctx,
diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c
index fbe4063..80c7a66 100644
--- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c
+++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c
@@ -47,7 +47,7 @@
 #include "wmm_apsd.h"
 #include "rrm_api.h"
 
-#include "cds_regdomain_common.h"
+#include "cds_regdomain.h"
 
 /* ////////////////////////////////////////////////////////////////////// */
 void dot11f_log(tpAniSirGlobal pMac, int loglevel, const char *pString, ...)
diff --git a/core/sap/src/sap_module.c b/core/sap/src/sap_module.c
index d93a793..4e907aa 100644
--- a/core/sap/src/sap_module.c
+++ b/core/sap/src/sap_module.c
@@ -52,7 +52,7 @@
 #include "sap_internal.h"
 #include "sme_inside.h"
 #include "cds_ieee80211_common_i.h"
-#include "cds_regdomain_common.h"
+#include "cds_regdomain.h"
 #include "cds_concurrency.h"
 
 /*----------------------------------------------------------------------------
diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h
index bae7eb1..dd18be8 100644
--- a/core/sme/inc/csr_api.h
+++ b/core/sme/inc/csr_api.h
@@ -260,7 +260,7 @@
 	uint8_t supported_channels_len;
 	uint8_t supported_channels[SIR_MAC_MAX_SUPP_CHANNELS];
 	uint8_t supported_oper_classes_len;
-	uint8_t supported_oper_classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
+	uint8_t supported_oper_classes[CDS_MAX_SUPP_OPER_CLASSES];
 } tCsrStaParams;
 
 typedef struct tagCsrScanRequest {
@@ -1477,7 +1477,7 @@
 	uint8_t supportedChannelsLen;
 	uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
 	uint8_t supportedOperClassesLen;
-	uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
+	uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES];
 } tCsrTdlsLinkEstablishParams;
 
 typedef struct tagCsrTdlsSendMgmt {
diff --git a/core/sme/inc/sme_inside.h b/core/sme/inc/sme_inside.h
index 9ab29e5..65ee8cd 100644
--- a/core/sme/inc/sme_inside.h
+++ b/core/sme/inc/sme_inside.h
@@ -116,7 +116,7 @@
 	uint8_t supportedChannelsLen;
 	uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
 	uint8_t supportedOperClassesLen;
-	uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
+	uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES];
 } tTdlsLinkEstablishCmdInfo;
 
 typedef struct TdlsAddStaInfo {
diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c
index eb254f3..cdbe608 100644
--- a/core/sme/src/common/sme_api.c
+++ b/core/sme/src/common/sme_api.c
@@ -54,7 +54,7 @@
 #ifdef WLAN_FEATURE_NAN
 #include "nan_api.h"
 #endif
-#include "cds_regdomain_common.h"
+#include "cds_regdomain.h"
 #include "cfg_api.h"
 #include "sme_power_save_api.h"
 #include "wma.h"
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index c765aeb..19f173e 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -49,7 +49,6 @@
 #include "mac_trace.h"
 #include "csr_neighbor_roam.h"
 #include "cds_regdomain.h"
-#include "cds_regdomain_common.h"
 #include "cds_utils.h"
 #include "sir_types.h"
 #include "cfg_api.h"
@@ -18411,7 +18410,7 @@
 		ch_name, num_channels);
 
 	for (idx = 0; idx < num_channels
-		&& *i < (SIR_MAC_MAX_SUPP_OPER_CLASSES - 1); idx++) {
+		&& *i < (CDS_MAX_SUPP_OPER_CLASSES - 1); idx++) {
 		for (ch_bandwidth = BW20; ch_bandwidth < BWALL;
 			ch_bandwidth++) {
 			class = cds_regdm_get_opclass_from_channel(
@@ -18422,7 +18421,7 @@
 				channel_info->channelList[idx], class);
 
 			found = false;
-			for (j = 0; j < SIR_MAC_MAX_SUPP_OPER_CLASSES - 1;
+			for (j = 0; j < CDS_MAX_SUPP_OPER_CLASSES - 1;
 				j++) {
 				if (op_classes[j] == class) {
 					found = true;
@@ -18450,7 +18449,7 @@
 	uint8_t j = 0;
 	uint8_t swap = 0;
 	uint8_t numClasses = 0;
-	uint8_t opClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES] = {0,};
+	uint8_t opClasses[CDS_MAX_SUPP_OPER_CLASSES] = {0,};
 	tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
 
 	sms_log(pMac, LOG1, FL("Current Country = %c%c"),