Selaa lähdekoodia

qcacld-3.0: Remove obsolete regdomain structures

Remove obsolete regdomain data structures. Also remove the obsolete
fields from REG_DOMAIN and REG_DMN_PAIR_MAPPING data structures.

Change-Id: I1ff906571dfadf9cf6a4dc963d8eef62acc5f6b5
CRs-Fixed: 961806
Amar Singhal 9 vuotta sitten
vanhempi
sitoutus
30193a7fa4

+ 11 - 115
core/cds/inc/cds_regdomain.h

@@ -71,53 +71,19 @@
 #ifndef REGULATORY_H
 #define REGULATORY_H
 
-enum {
-	CTRY_DEBUG = 0x1ff,     /* debug country code */
-	CTRY_DEFAULT = 0        /* default country code */
-};
-
-#define BMLEN 2                 /* Use 2 64 bit uint for channel bitmask */
-
-/*
- * The following table is the master list for all different freqeuncy
- * bands with the complete matrix of all possible flags and settings
- * for each band if it is used in ANY reg domain.
- */
-
-#define DEF_REGDMN              FCC3_FCCA
-#define    DEF_DMN_5            FCC1
-#define    DEF_DMN_2            FCCA
-#define    COUNTRY_ERD_FLAG     0x8000
+#define	CTRY_DEBUG              0x1ff
+#define	CTRY_DEFAULT            0
+#define COUNTRY_ERD_FLAG        0x8000
 #define WORLDWIDE_ROAMING_FLAG  0x4000
-#define    SUPER_DOMAIN_MASK    0x0fff
-#define    COUNTRY_CODE_MASK    0x3fff
-#define CF_INTERFERENCE         (CHANNEL_CW_INT | CHANNEL_RADAR_INT)
-#define NO_CTL          0xff
+#define DEF_REGDMN              FCC3_FCCA
 
-/*
- * The following describe the bit masks for different passive scan
- * capability/requirements per regdomain.
- */
-#define NO_PSCAN    0x0ULL
-#define PSCAN_FCC   0x0000000000000001ULL
-#define PSCAN_FCC_T 0x0000000000000002ULL
-#define PSCAN_ETSI  0x0000000000000004ULL
-#define PSCAN_MKK1  0x0000000000000008ULL
-#define PSCAN_MKK2  0x0000000000000010ULL
-#define PSCAN_MKKA  0x0000000000000020ULL
-#define PSCAN_MKKA_G    0x0000000000000040ULL
-#define PSCAN_ETSIA 0x0000000000000080ULL
-#define PSCAN_ETSIB 0x0000000000000100ULL
-#define PSCAN_ETSIC 0x0000000000000200ULL
-#define PSCAN_WWR   0x0000000000000400ULL
-#define PSCAN_MKKA1 0x0000000000000800ULL
-#define PSCAN_MKKA1_G   0x0000000000001000ULL
-#define PSCAN_MKKA2 0x0000000000002000ULL
-#define PSCAN_MKKA2_G   0x0000000000004000ULL
-#define PSCAN_MKK3  0x0000000000008000ULL
-#define PSCAN_EXT_CHAN  0x0000000000010000ULL
-#define PSCAN_DEFER 0x7FFFFFFFFFFFFFFFULL
-#define IS_ECM_CHAN 0x8000000000000000ULL
+/* These defines should match the table from ah_internal.h */
+enum HAL_DFS_DOMAIN {
+	DFS_UNINIT_DOMAIN = 0,  /* Uninitialized dfs domain */
+	DFS_FCC_DOMAIN = 1,     /* FCC3 dfs domain */
+	DFS_ETSI_DOMAIN = 2,    /* ETSI dfs domain */
+	DFS_MKK4_DOMAIN = 3     /* Japan dfs domain */
+};
 
 
 /*
@@ -129,17 +95,6 @@ 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 */
-	uint32_t flags5GHz;     /* Requirements flags (AdHoc
-	                           disallow, noise floor cal needed,
-	                           etc) */
-	uint32_t flags2GHz;     /* Requirements flags (AdHoc
-	                           disallow, noise floor cal needed,
-	                           etc) */
-	uint64_t pscanMask;     /* Passive Scan flags which
-	                           can override unitary domain
-	                           passive scan flags.  This
-	                           value is used as a mask on
-	                           the unitary flags */
 	uint16_t singleCC;      /* Country code of single country if
 	                           a one-on-one mapping exists */
 } REG_DMN_PAIR_MAPPING;
@@ -149,72 +104,13 @@ typedef struct {
 	uint16_t regDmnEnum;
 	const char *isoName;
 	const char *name;
-	uint16_t allow11g : 1, allow11aTurbo : 1, allow11gTurbo : 1, allow11ng20 : 1, /* HT-20 allowed in 2GHz? */
-		 allow11ng40 : 1, /* HT-40 allowed in 2GHz? */
-		 allow11na20 : 1, /* HT-20 allowed in 5GHz? */
-		 allow11na40 : 1, /* HT-40 VHT-40 allowed in 5GHz? */
-		 allow11na80 : 1; /* VHT-80 allowed in 5GHz */
-	uint16_t outdoorChanStart;
 } COUNTRY_CODE_TO_ENUM_RD;
 
-typedef struct RegDmnFreqBand {
-	uint16_t lowChannel;    /* Low channel center in MHz */
-	uint16_t highChannel;   /* High Channel center in MHz */
-	uint8_t powerDfs;       /* Max power (dBm) for channel
-	                           range when using DFS */
-	uint8_t antennaMax;     /* Max allowed antenna gain */
-	uint8_t channelBW;      /* Bandwidth of the channel */
-	uint8_t channelSep;     /* Channel separation within
-	                           the band */
-	uint64_t useDfs;        /* Use DFS in the RegDomain
-	                           if corresponding bit is set */
-	uint64_t usePassScan;   /* Use Passive Scan in the RegDomain
-	                           if corresponding bit is set */
-	uint8_t regClassId;     /* Regulatory class id */
-} REG_DMN_FREQ_BAND;
-
 typedef struct reg_domain {
 	uint16_t regDmnEnum;    /* value from EnumRd table */
 	uint8_t conformance_test_limit;
-	uint64_t dfsMask;       /* DFS bitmask for 5Ghz tables */
-	uint64_t pscan;         /* Bitmask for passive scan */
 } REG_DOMAIN;
 
-struct cmode {
-	uint32_t mode;
-	uint32_t flags;
-};
-
-#define    YES    true
-#define    NO    false
-
-/* mapping of old skus to new skus for Japan */
-typedef struct {
-	uint16_t domain;
-	uint16_t newdomain_pre53;       /* pre eeprom version 5.3 */
-	uint16_t newdomain_post53;      /* post eeprom version 5.3 */
-} JAPAN_SKUMAP;
-
-/* mapping of countrycode to new skus for Japan */
-typedef struct {
-	uint16_t ccode;
-	uint16_t newdomain_pre53;       /* pre eeprom version 5.3 */
-	uint16_t newdomain_post53;      /* post eeprom version 5.3 */
-} JAPAN_COUNTRYMAP;
-
-/* check rd flags in eeprom for japan */
-typedef struct {
-	uint16_t freqbandbit;
-	uint32_t eepromflagtocheck;
-} JAPAN_BANDCHECK;
-
-/* Common mode power table for 5Ghz */
-typedef struct {
-	uint16_t lchan;
-	uint16_t hchan;
-	uint8_t pwrlvl;
-} COMMON_MODE_POWER;
-
 /* Multi-Device RegDomain Support */
 typedef struct ath_hal_reg_dmn_tables {
 	/* regDomainPairs: Map of 8-bit regdomain values to unitary reg domain */

+ 486 - 823
core/cds/inc/cds_regdomain_common.h

@@ -76,230 +76,204 @@
  * frequency bitmasks and flags set.
  */
 
-#include "cds_ieee80211_common.h"
-#include <a_types.h>
-#include "wlan_defs.h"
 
 #define MAX_CHANNELS_PER_OPERATING_CLASS  25
 
 enum EnumRd {
-	/*
-	 * The following regulatory domain definitions are
-	 * found in the EEPROM. Each regulatory domain
-	 * can operate in either a 5GHz or 2.4GHz wireless mode or
-	 * both 5GHz and 2.4GHz wireless modes.
-	 * In general, the value holds no special
-	 * meaning and is used to decode into either specific
-	 * 2.4GHz or 5GHz wireless mode for that particular
-	 * regulatory domain.
-	 */
 	NO_ENUMRD = 0x00,
-	NULL1_WORLD = 0x03,     /* For 11b-only countries (no 11a allowed) */
-	NULL1_ETSIB = 0x07,     /* Israel */
+	NULL1_WORLD = 0x03,
+	NULL1_ETSIB = 0x07,
 	NULL1_ETSIC = 0x08,
-	FCC1_FCCA = 0x10,       /* USA */
-	FCC1_WORLD = 0x11,      /* Hong Kong */
-	FCC4_FCCA = 0x12,       /* USA - Public Safety */
-	FCC5_FCCA = 0x13,       /* US with no DFS (UNII-1 + UNII-3 Only) */
-	FCC6_FCCA = 0x14,       /* Canada for AP only */
-
-	FCC2_FCCA = 0x20,       /* Canada */
-	FCC2_WORLD = 0x21,      /* Australia & HK */
+	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,      /* Australia for AP only */
-	FRANCE_RES = 0x31,      /* Legacy France for OEM */
-	FCC3_FCCA = 0x3A,       /* USA & Canada w/5470 band, 11h, DFS enabled */
-	FCC3_WORLD = 0x3B,      /* USA & Canada w/5470 band, 11h, DFS enabled */
-	FCC3_ETSIC = 0x3F,      /* New Zealand, DFS enabled */
+	FCC6_WORLD = 0x23,
+	FRANCE_RES = 0x31,
+	FCC3_FCCA = 0x3A,
+	FCC3_WORLD = 0x3B,
+	FCC3_ETSIC = 0x3F,
 
 	ETSI1_WORLD = 0x37,
-	ETSI3_ETSIA = 0x32,     /* France (optional) */
-	ETSI2_WORLD = 0x35,     /* Hungary & others */
-	ETSI3_WORLD = 0x36,     /* France & others */
+	ETSI3_ETSIA = 0x32,
+	ETSI2_WORLD = 0x35,
+	ETSI3_WORLD = 0x36,
 	ETSI4_WORLD = 0x30,
 	ETSI4_ETSIC = 0x38,
 	ETSI5_WORLD = 0x39,
-	ETSI6_WORLD = 0x34,     /* Bulgaria */
-	ETSI8_WORLD = 0x3D,     /* Russia */
-	ETSI9_WORLD = 0x3E,     /* Ukraine */
-	ETSI_RESERVED = 0x33,   /* Reserved (Do not used) */
-
-	MKK1_MKKA = 0x40,       /* Japan (JP1) */
-	MKK1_MKKB = 0x41,       /* Japan (JP0) */
-	APL4_WORLD = 0x42,      /* Singapore and Morocco */
-	MKK2_MKKA = 0x43,       /* Japan with 4.9G channels */
-	APL_RESERVED = 0x44,    /* Reserved (Do not used)  */
-	APL2_WORLD = 0x45,      /* Korea */
+	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,       /* Japan (JP1-1) */
-	APL2_APLD = 0x49,       /* Korea with 2.3G channels */
-	MKK1_MKKA1 = 0x4A,      /* Japan (JE1) */
-	MKK1_MKKA2 = 0x4B,      /* Japan (JE2) */
-	MKK1_MKKC = 0x4C,       /* Japan (MKK1_MKKA,except Ch14) */
-	APL2_FCCA = 0x4D,       /* Mobile customer */
-	APL11_FCCA = 0x4F,      /* Specific AP Customer 5GHz, For APs Only */
+	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,      /* Latin America */
+	APL1_WORLD = 0x52,
 	APL1_FCCA = 0x53,
 	APL1_APLA = 0x54,
 	APL1_ETSIC = 0x55,
-	APL2_ETSIC = 0x56,      /* Venezuela */
-	APL5_WORLD = 0x58,      /* Chile */
-	APL13_WORLD = 0x5A,     /* Algeria */
-	APL6_WORLD = 0x5B,      /* Singapore */
-	APL7_FCCA = 0x5C,       /* Taiwan 5.47 Band */
-	APL8_WORLD = 0x5D,      /* Malaysia 5GHz */
-	APL9_MKKC = 0x5E,      /* Korea 5GHz, Before 11/2007. Now used only by APs */
-	APL10_MKKC = 0x5F,     /* Korea 5GHz, After 11/2007. For STAs only */
-
-	/*
-	 * World mode SKUs
-	 */
-	WOR0_WORLD = 0x60,      /* World0 (WO0 SKU) */
-	WOR1_WORLD = 0x61,      /* World1 (WO1 SKU) */
-	WOR2_WORLD = 0x62,      /* World2 (WO2 SKU) */
-	WOR3_WORLD = 0x63,      /* World3 (WO3 SKU) */
-	WOR4_WORLD = 0x64,      /* World4 (WO4 SKU) */
-	WOR5_ETSIC = 0x65,      /* World5 (WO5 SKU) */
-
-	WOR01_WORLD = 0x66,     /* World0-1 (WW0-1 SKU) */
-	WOR02_WORLD = 0x67,     /* World0-2 (WW0-2 SKU) */
-	EU1_WORLD = 0x68,       /* Same as World0-2 (WW0-2 SKU), except active scan ch1-13. No ch14 */
-
-	WOR9_WORLD = 0x69,      /* World9 (WO9 SKU) */
-	WORA_WORLD = 0x6A,      /* WorldA (WOA SKU) */
-	WORB_WORLD = 0x6B,      /* WorldB (WOB SKU) */
-	WORC_WORLD = 0x6C,      /* WorldC (WOC SKU) */
-
-	MKK3_MKKB = 0x80,       /* Japan UNI-1 even + MKKB */
-	MKK3_MKKA2 = 0x81,      /* Japan UNI-1 even + MKKA2 */
-	MKK3_MKKC = 0x82,       /* Japan UNI-1 even + MKKC */
-
-	MKK4_MKKB = 0x83,       /* Japan UNI-1 even + UNI-2 + MKKB */
-	MKK4_MKKA2 = 0x84,      /* Japan UNI-1 even + UNI-2 + MKKA2 */
-	MKK4_MKKC = 0x85,       /* Japan UNI-1 even + UNI-2 + MKKC */
-
-	MKK5_MKKB = 0x86,       /* Japan UNI-1 even + UNI-2 + mid-band + MKKB */
-	MKK5_MKKA2 = 0x87,      /* Japan UNI-1 even + UNI-2 + mid-band + MKKA2 */
-	MKK5_MKKC = 0x88,       /* Japan UNI-1 even + UNI-2 + mid-band + MKKC */
+	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,       /* Japan UNI-1 even + UNI-1 odd MKKB */
-	MKK6_MKKA2 = 0x8A,      /* Japan UNI-1 even + UNI-1 odd + MKKA2 */
-	MKK6_MKKC = 0x8B,       /* Japan UNI-1 even + UNI-1 odd + MKKC */
-
-	MKK7_MKKB = 0x8C,       /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKB */
-	MKK7_MKKA2 = 0x8D,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA2 */
-	MKK7_MKKC = 0x8E,       /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKC */
-
-	MKK8_MKKB = 0x8F,       /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB */
-	MKK8_MKKA2 = 0x90,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKA2 */
-	MKK8_MKKC = 0x91,       /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKC */
-
-	MKK14_MKKA1 = 0x92,     /* Japan UNI-1 even + UNI-1 odd + 4.9GHz + MKKA1 */
-	MKK15_MKKA1 = 0x93,     /* Japan UNI-1 even + UNI-1 odd + UNI-2 + 4.9GHz + MKKA1 */
-
-	MKK10_FCCA = 0xD0,      /* Japan UNI-1 even + UNI-2 + 4.9GHz + FCCA */
-	MKK10_MKKA1 = 0xD1,     /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKA1 */
-	MKK10_MKKC = 0xD2,      /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKC */
-	MKK10_MKKA2 = 0xD3,     /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKA2 */
-
-	MKK11_MKKA = 0xD4,      /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKA */
-	MKK11_FCCA = 0xD5,      /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + FCCA */
-	MKK11_MKKA1 = 0xD6,     /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKA1 */
-	MKK11_MKKC = 0xD7,      /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKC */
-	MKK11_MKKA2 = 0xD8,     /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKA2 */
-
-	MKK12_MKKA = 0xD9,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKA */
-	MKK12_FCCA = 0xDA,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + FCCA */
-	MKK12_MKKA1 = 0xDB,     /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKA1 */
-	MKK12_MKKC = 0xDC,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKC */
-	MKK12_MKKA2 = 0xDD,     /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKA2 */
-
-	MKK13_MKKB = 0xDE,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB + All passive + no adhoc */
-
-	/* Following definitions are used only by s/w to map old
-	 * Japan SKUs.
-	 */
-	MKK3_MKKA = 0xF0,       /* Japan UNI-1 even + MKKA */
-	MKK3_MKKA1 = 0xF1,      /* Japan UNI-1 even + MKKA1 */
-	MKK3_FCCA = 0xF2,       /* Japan UNI-1 even + FCCA */
-	MKK4_MKKA = 0xF3,       /* Japan UNI-1 even + UNI-2 + MKKA */
-	MKK4_MKKA1 = 0xF4,      /* Japan UNI-1 even + UNI-2 + MKKA1 */
-	MKK4_FCCA = 0xF5,       /* Japan UNI-1 even + UNI-2 + FCCA */
-	MKK9_MKKA = 0xF6,       /* Japan UNI-1 even + 4.9GHz */
-	MKK10_MKKA = 0xF7,      /* Japan UNI-1 even + UNI-2 + 4.9GHz */
-	MKK6_MKKA1 = 0xF8,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA1 */
-	MKK6_FCCA = 0xF9,       /* Japan UNI-1 even + UNI-1 odd + UNI-2 + FCCA */
-	MKK7_MKKA1 = 0xFA,      /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA1 */
-	MKK7_FCCA = 0xFB,       /* Japan UNI-1 even + UNI-1 odd + UNI-2 + FCCA */
-	MKK9_FCCA = 0xFC,       /* Japan UNI-1 even + 4.9GHz + FCCA */
-	MKK9_MKKA1 = 0xFD,      /* Japan UNI-1 even + 4.9GHz + MKKA1 */
-	MKK9_MKKC = 0xFE,       /* Japan UNI-1 even + 4.9GHz + MKKC */
-	MKK9_MKKA2 = 0xFF,      /* Japan UNI-1 even + 4.9GHz + MKKA2 */
-
-	/*
-	 * Regulator domains ending in a number (e.g. APL1,
-	 * MK1, ETSI4, etc) apply to 5GHz channel and power
-	 * information.  Regulator domains ending in a letter
-	 * (e.g. APLA, FCCA, etc) apply to 2.4GHz channel and
-	 * power information.
-	 */
-	APL1 = 0x0150,          /* LAT & Asia */
-	APL2 = 0x0250,          /* LAT & Asia */
-	APL3 = 0x0350,          /* Taiwan */
-	APL4 = 0x0450,          /* Jordan */
-	APL5 = 0x0550,          /* Chile */
-	APL6 = 0x0650,          /* Singapore */
-	APL7 = 0x0750,          /* Taiwan, disable ch52 */
-	APL8 = 0x0850,          /* Malaysia */
-	APL9 = 0x0950,          /* Korea. Before 11/2007. Now used only by APs */
-	APL10 = 0x1050,         /* Korea. After 11/2007. For STAs only */
-	APL11 = 0x1150,         /* Specific AP Customer 5GHz, For APs Only */
-	APL12 = 0x1160,         /* Kenya */
-
-	ETSI1 = 0x0130,         /* Europe & others */
-	ETSI2 = 0x0230,         /* Europe & others */
-	ETSI3 = 0x0330,         /* Europe & others */
-	ETSI4 = 0x0430,         /* Europe & others */
-	ETSI5 = 0x0530,         /* Europe & others */
-	ETSI6 = 0x0630,         /* Europe & others */
-	ETSI8 = 0x0830,         /* Russia */
-	ETSI9 = 0x0930,         /* Ukraine */
-	ETSIA = 0x0A30,         /* France */
-	ETSIB = 0x0B30,         /* Israel */
-	ETSIC = 0x0C30,         /* Latin America */
-
-	FCC1 = 0x0110,          /* US & others */
-	FCC2 = 0x0120,          /* Canada, Australia & New Zealand */
-	FCC3 = 0x0160,          /* US w/new middle band & DFS */
-	FCC4 = 0x0165,          /* US Public Safety */
+	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,          /* Canada & Australia */
+	FCC6 = 0x0610,
 	FCCA = 0x0A10,
 
-	APLD = 0x0D50,          /* South Korea */
-
-	MKK1 = 0x0140,          /* Japan (UNI-1 odd) */
-	MKK2 = 0x0240,          /* Japan (4.9 GHz + UNI-1 odd) */
-	MKK3 = 0x0340,          /* Japan (UNI-1 even) */
-	MKK4 = 0x0440,          /* Japan (UNI-1 even + UNI-2) */
-	MKK5 = 0x0540,          /* Japan (UNI-1 even + UNI-2 + mid-band) */
-	MKK6 = 0x0640,          /* Japan (UNI-1 odd + UNI-1 even) */
-	MKK7 = 0x0740,          /* Japan (UNI-1 odd + UNI-1 even + UNI-2 */
-	MKK8 = 0x0840,          /* Japan (UNI-1 odd + UNI-1 even + UNI-2 + mid-band) */
-	MKK9 = 0x0940,          /* Japan (UNI-1 even + 4.9 GHZ) */
-	MKK10 = 0x0B40,         /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */
-	MKK11 = 0x1140,         /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */
-	MKK12 = 0x1240,         /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */
-	MKK13 = 0x0C40,         /* Same as MKK8 but all passive and no adhoc 11a */
-	MKK14 = 0x1440,         /* Japan UNI-1 even + UNI-1 odd + 4.9GHz */
-	MKK15 = 0x1540,         /* Japan UNI-1 even + UNI-1 odd + UNI-2 + 4.9GHz */
-	MKKA = 0x0A40,          /* Japan */
+	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,
@@ -307,643 +281,332 @@ enum EnumRd {
 	DEBUG_REG_DMN = 0x01ff,
 };
 
-enum {                          /* conformance test limits */
+enum {
 	FCC = 0x10,
 	MKK = 0x40,
 	ETSI = 0x30,
-};
-/*
- * The following are flags for different requirements per reg domain.
- * These requirements are either inhereted from the reg domain pair or
- * from the unitary reg domain if the reg domain pair flags value is
- * 0
- */
-
-enum {
-	NO_REQ = 0x00000000,
-	DISALLOW_ADHOC_11A = 0x00000001,
-	DISALLOW_ADHOC_11A_TURB = 0x00000002,
-	NEED_NFC = 0x00000004,
-
-	ADHOC_PER_11D = 0x00000008,     /* Start Ad-Hoc mode */
-	ADHOC_NO_11A = 0x00000010,
-
-	PUBLIC_SAFETY_DOMAIN = 0x00000020,      /* public safety domain */
-	LIMIT_FRAME_4MS = 0x00000040,   /* 4msec limit on the frame length */
-
-	NO_HOSTAP = 0x00000080, /* No HOSTAP mode opereation */
-
-	REQ_MASK = 0x000000FF,  /* Requirements bit mask */
+	NO_CTL = 0xff
 };
 
 static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = {
-	{NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, NO_REQ, NO_REQ, PSCAN_DEFER,
-	 0},
-	{NULL1_WORLD, NULL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{NULL1_ETSIB, NULL1, ETSIB, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{NULL1_ETSIC, NULL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-
-	{FCC2_FCCA, FCC2, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC2_WORLD, FCC2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC2_ETSIC, FCC2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC3_FCCA, FCC3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC3_WORLD, FCC3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC3_ETSIC, FCC3, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC4_FCCA, FCC4, FCCA, DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
-	 NO_REQ, PSCAN_DEFER, 0},
-	{FCC5_FCCA, FCC5, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC6_FCCA, FCC6, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC6_WORLD, FCC6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-
-	{ETSI1_WORLD, ETSI1, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{ETSI2_WORLD, ETSI2, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{ETSI3_WORLD, ETSI3, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{ETSI4_WORLD, ETSI4, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{ETSI5_WORLD, ETSI5, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{ETSI6_WORLD, ETSI6, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{ETSI8_WORLD, ETSI8, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{ETSI9_WORLD, ETSI9, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-
-	{ETSI3_ETSIA, ETSI3, WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{FRANCE_RES, ETSI3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-
-	{FCC1_WORLD, FCC1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{FCC1_FCCA, FCC1, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL1_WORLD, APL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL2_WORLD, APL2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL2_FCCA, APL2, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL3_WORLD, APL3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL4_WORLD, APL4, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL5_WORLD, APL5, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL6_WORLD, APL6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL7_FCCA, APL7, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL8_WORLD, APL8, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL9_MKKC, APL9, MKKC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL10_MKKC, APL10, MKKC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL3_FCCA, APL3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL1_ETSIC, APL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{APL2_ETSIC, APL2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-
-	{MKK3_MKKA, MKK3, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKKA, CTRY_JAPAN25},
-	{MKK3_MKKB, MKK3, MKKA,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
-	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKKA | PSCAN_MKKA_G, CTRY_JAPAN7},
-	{MKK3_MKKA1, MKK3, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN26},
-	{MKK3_MKKA2, MKK3, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN8},
-	{MKK3_MKKC, MKK3, MKKC,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 NO_PSCAN, CTRY_JAPAN9},
-	{MKK3_FCCA, MKK3, FCCA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 NO_PSCAN, CTRY_JAPAN27},
-
-	/* MKK4 */
-	{MKK4_MKKA, MKK4, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN36},
-	{MKK4_MKKB, MKK4, MKKA,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
-	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
-	 CTRY_JAPAN10},
-	{MKK4_MKKA1, MKK4, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN28},
-	{MKK4_MKKA2, MKK4, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN11},
-	{MKK4_MKKC, MKK4, MKKC,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN12},
-	{MKK4_FCCA, MKK4, FCCA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN29},
-
-	/* MKK5 */
-/*	{MKK5_MKKA,     MKK5,           MKKA,           DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN56 },*/
-	{MKK5_MKKB, MKK5, MKKA,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
-	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
-	 CTRY_JAPAN13},
-	{MKK5_MKKA2, MKK5, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN14},
-	{MKK5_MKKC, MKK5, MKKC,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN15},
-	{MKK5_FCCA,     MKK5,       FCCA,       DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN56 },
-
-	{MKK9_MKKA, MKK9, MKKA,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
-	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN34},
-	{MKK9_FCCA, MKK9, FCCA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 NO_PSCAN, CTRY_JAPAN37},
-	{MKK9_MKKA1, MKK9, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN38},
-	{MKK9_MKKA2, MKK9, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN40},
-	{MKK9_MKKC, MKK9, MKKC,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 NO_PSCAN, CTRY_JAPAN39},
-
-	{MKK10_MKKA, MKK10, MKKA,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
-	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN35},
-	{MKK10_FCCA, MKK10, FCCA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN41},
-	{MKK10_MKKA1, MKK10, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN42},
-	{MKK10_MKKA2, MKK10, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN44},
-	{MKK10_MKKC, MKK10, MKKC,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN43},
-
-	{MKK11_MKKA, MKK11, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN45},
-	{MKK11_FCCA, MKK11, FCCA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN46},
-	{MKK11_MKKA1, MKK11, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN47},
-	{MKK11_MKKA2, MKK11, MKKA,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN49},
-	{MKK11_MKKC, MKK11, MKKC,
-	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
-	 PSCAN_MKK3, CTRY_JAPAN48},
-
-	{WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{WOR1_WORLD, WOR1_WORLD, WOR1_WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, DISALLOW_ADHOC_11A_TURB, NO_REQ,
-	 PSCAN_DEFER, 0},
-	{WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{WOR4_WORLD, WOR4_WORLD, WOR4_WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{EU1_WORLD, EU1_WORLD, EU1_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
-	{WOR9_WORLD, WOR9_WORLD, WOR9_WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{WORA_WORLD, WORA_WORLD, WORA_WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{WORB_WORLD, WORB_WORLD, WORB_WORLD,
-	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0},
-	{WORC_WORLD, WORC_WORLD, WORC_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
+	{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", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET", YES, YES, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA", YES, NO, YES, YES, YES, NO,
-	 NO, NO, 7000},
-	{CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA", YES, NO, YES, YES, YES, NO,
-	 NO, NO, 7000},
-	{CTRY_ARGENTINA, FCC3_WORLD, "AR", "ARGENTINA", YES, NO, NO, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA", YES, NO, YES, YES, YES,
-	 YES, NO, NO, 7000},
-	{CTRY_ARUBA, ETSI1_WORLD, "AW", "ARUBA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_AUSTRALIA, FCC3_WORLD, "AU", "AUSTRALIA", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN", YES, YES, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_BAHAMAS, FCC3_WORLD, "BS", "BAHAMAS", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN", YES, NO, YES, YES, YES, YES,
-	 NO, NO, 7000},
-	{CTRY_BANGLADESH, NULL1_WORLD, "BD", "BANGLADESH", YES, NO, YES, YES,
-	 YES, NO, NO, NO, 7000},
-	{CTRY_BARBADOS, FCC2_WORLD, "BB", "BARBADOS", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_BERMUDA, FCC3_FCCA, "BM", "BERMUDA", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLIVIA", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA AND HERZEGOVINA", YES, NO,
-	 YES, YES, YES, YES, YES, YES, 7000},
-	{CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL", YES, NO, NO, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BRUNEI DARUSSALAM", YES,
-	 YES, YES, YES, YES, YES, YES, YES, 7000},
-	{CTRY_BULGARIA, ETSI1_WORLD, "BG", "BULGARIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_CAMBODIA, ETSI1_WORLD, "KH", "CAMBODIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_CANADA, FCC3_FCCA, "CA", "CANADA", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_CHILE, APL6_WORLD, "CL", "CHILE", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_CHINA, APL1_WORLD, "CN", "CHINA", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA", YES, NO, YES, YES,
-	 YES, YES, NO, NO, 7000},
-	{CTRY_CROATIA, ETSI1_WORLD, "HR", "CROATIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_CZECH, ETSI1_WORLD, "CZ", "CZECH REPUBLIC", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC", YES,
-	 YES, YES, YES, YES, YES, YES, YES, 7000},
-	{CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR", YES, NO, NO, YES, YES, YES,
-	 NO, NO, 7000},
-	{CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT", YES, NO, YES, YES, YES, YES,
-	 NO, NO, 7000},
-	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR", YES, NO, YES, YES,
-	 YES, YES, NO, NO, 7000},
-	{CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_GREENLAND, ETSI1_WORLD, "GL", "GREENLAND", YES, NO, YES, YES, YES,
-	 YES, NO, NO, 7000},
-	{CTRY_GRENADA, FCC3_FCCA, "GD", "GRENADA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_GUAM, FCC1_FCCA, "GU", "GUAM", YES, NO, YES, YES, YES, YES, NO,
-	 NO, 7000},
-	{CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_HAITI, ETSI1_WORLD, "HT", "HAITI", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_HONDURAS, FCC3_WORLD, "HN", "HONDURAS", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_HONG_KONG, FCC3_WORLD, "HK", "HONG KONG", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_INDIA, APL6_WORLD, "IN", "INDIA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_INDONESIA, APL2_WORLD, "ID", "INDONESIA", YES, NO, YES, YES, YES,
-	 YES, NO, NO, 7000},
-	{CTRY_IRAN, APL1_WORLD, "IR", "IRAN", YES, YES, YES, YES, YES, YES, YES,
-	 YES, 7000},
-	{CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_ISRAEL, ETSI3_WORLD, "IL", "ISRAEL", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_JAMAICA, FCC3_WORLD, "JM", "JAMAICA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN", YES, NO, NO, YES, YES,
-	 YES, NO, NO, 7000},
-	{CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_JAPAN55, MKK5_MKKA, "JP", "JAPAN55", YES,  NO,  NO, YES, YES, YES,
-	 YES, NO, 7000 },
-	{CTRY_JAPAN56, MKK5_FCCA, "JP", "JAPAN56", YES,  NO,  NO,
-	 YES, YES, YES, YES, NO, 7000 },
-	{CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN", YES, NO, YES, YES,
-	 YES, NO, NO, NO, 7000},
-	{CTRY_KENYA, APL1_WORLD, "KE", "KENYA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_KOREA_NORTH, APL9_MKKC, "KP", "NORTH KOREA", YES, NO, NO, YES,
-	 NO, YES, NO, NO, 7000},
-	{CTRY_KOREA_ROC, APL10_MKKC, "KR", "KOREA REPUBLIC", YES, NO, NO, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_KOREA_ROC_AP, APL9_MKKC, "KR", "KOREA REPUBLIC3", YES, NO,
-	 NO, YES, NO, YES, NO, NO, 7000},
-	{CTRY_KUWAIT, ETSI3_WORLD, "KW", "KUWAIT", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_LEBANON, APL1_WORLD, "LB", "LEBANON", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN", YES, NO, YES,
-	 YES, YES, YES, YES, YES, 7000},
-	{CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_MACAU, FCC2_WORLD, "MO", "MACAU SAR", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MACEDONIA, FYRO", YES, NO, YES,
-	 YES, YES, YES, YES, YES, 7000},
-	{CTRY_MALAYSIA, FCC1_WORLD, "MY", "MALAYSIA", YES, NO, NO, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_MAURITIUS, ETSI1_WORLD, "MU", "MAURITIUS", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_MEXICO, FCC1_WORLD, "MX", "MEXICO", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_MOROCCO, APL4_WORLD, "MA", "MOROCCO", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "NETHERLANDS ANTILLES",
-	 YES, NO, YES, YES, YES, YES, YES, YES, 7000},
-	{CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NEW ZEALAND", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_NICARAGUA, FCC3_FCCA, "NI", "NICARAGUA", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_OMAN, FCC3_WORLD, "OM", "OMAN", YES, NO, YES, YES, YES, YES, YES,
-	 YES, 7000},
-	{CTRY_PAKISTAN, APL1_WORLD, "PK", "PAKISTAN", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA", YES, YES,
-	 YES, YES, YES, YES, YES, YES, 7000},
-	{CTRY_PARAGUAY, FCC3_WORLD, "PY", "PARAGUAY", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_PERU, FCC3_WORLD, "PE", "PERU", YES, NO, YES, YES, YES, YES, YES,
-	 YES, 7000},
-	{CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PHILIPPINES", YES, YES, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO", YES, YES, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_QATAR, APL1_WORLD, "QA", "QATAR", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_ROMANIA, ETSI1_WORLD, "RO", "ROMANIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_RUSSIA, ETSI8_WORLD, "RU", "RUSSIA", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_RWANDA, APL1_WORLD, "RW", "RWANDA", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_SAUDI_ARABIA, FCC2_WORLD, "SA", "SAUDI ARABIA", YES, NO, YES, YES,
-	 YES, YES, NO, NO, 7000},
-	{CTRY_SERBIA, ETSI1_WORLD, "RS", "REPUBLIC OF SERBIA", YES, NO, YES,
-	 YES, YES, YES, YES, YES, 7000},
-	{CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "MONTENEGRO", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_SINGAPORE, FCC3_WORLD, "SG", "SINGAPORE", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAKIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA", YES, NO, YES, YES, YES,
-	 YES, NO, NO, 7000},
-	{CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIAN ARAB REPUBLIC", YES, NO, YES,
-	 YES, YES, NO, NO, NO, 7000},
-	{CTRY_TAIWAN, APL7_FCCA, "TW", "TAIWAN", YES, YES, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_TANZANIA, APL1_WORLD, "TZ", "TANZANIA", YES, YES, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_THAILAND, FCC3_WORLD, "TH", "THAILAND", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO", YES,
-	 NO, YES, YES, YES, YES, YES, YES, 7000},
-	{CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA", YES, NO, YES, YES, YES,
-	 YES, NO, NO, 7000},
-	{CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY", YES, NO, YES, YES, YES, YES,
-	 NO, NO, 7000},
-	{CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA", YES, NO, NO, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE", YES, NO, NO, YES, YES, YES,
-	 YES, NO, 7000},
-	{CTRY_UAE, ETSI1_WORLD, "AE", "UNITED ARAB EMIRATES", YES, NO, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM", YES, NO, YES,
-	 YES, YES, YES, YES, YES, 7000},
-	{CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES", YES, YES, YES,
-	 YES, YES, YES, YES, YES, 5825},
-	{CTRY_UNITED_STATES_AP, FCC6_FCCA, "US", "UNITED STATES2", YES,
-	 YES, YES, YES, YES, YES, YES, YES, 7000},
-	{CTRY_UNITED_STATES_PS, FCC4_FCCA, "PS",
-	 "UNITED STATES (PUBLIC SAFETY)", YES, YES, YES, YES, YES, YES, YES,
-	 YES, 7000},
-	{CTRY_URUGUAY, FCC3_WORLD, "UY", "URUGUAY", YES, NO, YES, YES, YES, YES,
-	 YES, YES, 7000},
-	{CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN", YES, YES, YES, YES,
-	 YES, YES, YES, YES, 7000},
-	{CTRY_VENEZUELA, FCC1_WORLD, "VE", "VENEZUELA", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_VIET_NAM, ETSI3_WORLD, "VN", "VIET NAM", YES, NO, YES, YES, YES,
-	 YES, YES, YES, 7000},
-	{CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN", YES, NO, YES, YES, YES, NO, NO,
-	 NO, 7000},
-	{CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE", YES, NO, YES, YES, YES,
-	 NO, NO, NO, 7000}
-};
-
-/* Bit masks for DFS per regdomain */
-
-enum {
-	NO_DFS = 0x0000000000000000ULL,
-	DFS_FCC3 = 0x0000000000000001ULL,
-	DFS_ETSI = 0x0000000000000002ULL,
-	DFS_MKK4 = 0x0000000000000004ULL,
-};
-
-/* The table of frequency bands is indexed by a bitmask.  The ordering
- * must be consistent with the enum below.  When adding a new
- * frequency band, be sure to match the location in the enum with the
- * comments
- */
-
-/* regulatory capabilities */
-#define REGDMN_EEPROM_EEREGCAP_EN_KK_U1_EVEN    0x0080
-#define REGDMN_EEPROM_EEREGCAP_EN_KK_U2         0x0100
-#define REGDMN_EEPROM_EEREGCAP_EN_KK_MIDBAND    0x0200
-#define REGDMN_EEPROM_EEREGCAP_EN_KK_U1_ODD     0x0400
-
-static const COMMON_MODE_POWER common_mode_pwrtbl[] = {
-	{4900, 5000, 17},
-	{5000, 5100, 17},
-	{5150, 5250, 17},       /* ETSI & MKK */
-	{5250, 5350, 18},       /* ETSI */
-	{5470, 5725, 20},       /* ETSI */
-	{5725, 5825, 20},       /* Singapore */
-	{5825, 5850, 23} /* Korea */
+	{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, DFS_FCC3},
-	{APL1, FCC, NO_DFS},
-	{APL2, FCC, NO_DFS},
-	{APL3, FCC, DFS_FCC3},
-	{APL4, FCC, NO_DFS},
-	{APL5, FCC, NO_DFS},
-	{APL6, ETSI, DFS_ETSI},
-	{APL7, FCC, DFS_FCC3},
-	{APL8, ETSI, NO_DFS},
-	{APL9, ETSI, DFS_ETSI},
-	{APL10, ETSI, DFS_ETSI},
-	{APL11, ETSI, DFS_ETSI},
-	{APL12, ETSI, DFS_ETSI},
-	{ETSI1, ETSI, DFS_ETSI},
-	{ETSI2, ETSI, DFS_ETSI},
-	{ETSI3, ETSI, DFS_ETSI},
-	{ETSI4, ETSI, DFS_ETSI},
-	{ETSI5, ETSI, DFS_ETSI},
-	{ETSI6, ETSI, DFS_ETSI},
-	{ETSI8, ETSI, DFS_ETSI},
-	{ETSI9, ETSI, DFS_ETSI},
-	{FCC1, FCC, NO_DFS},
-	{FCC2, FCC, NO_DFS},
-	{FCC3, FCC, DFS_FCC3},
-	{FCC4, FCC, DFS_FCC3},
-	{FCC5, FCC, NO_DFS},
-	{FCC6, FCC, DFS_FCC3},
-	{MKK1, MKK, DFS_MKK4},
-	{MKK2, MKK, DFS_MKK4},
-	{MKK3, MKK, NO_DFS},
-	{MKK4, MKK, DFS_MKK4},
-	{MKK5, MKK, DFS_MKK4},
-	{MKK6, MKK, NO_DFS},
-	{MKK7, MKK, DFS_MKK4},
-	{MKK8, MKK, DFS_MKK4},
-	{MKK9, MKK, NO_DFS},
-	{MKK10, MKK, DFS_MKK4},
-	{MKK11, MKK, DFS_MKK4},
-	{MKK12, MKK, DFS_MKK4},
-	{MKK13, MKK, DFS_MKK4},
-	{MKK14, MKK, DFS_MKK4},
-	{MKK15, MKK, DFS_MKK4},
-	{APLD, NO_CTL, NO_DFS},
-	{ETSIA, NO_CTL, NO_DFS},
-	{ETSIB, ETSI, NO_DFS},
-	{ETSIC, ETSI, NO_DFS},
-	{FCCA, FCC, NO_DFS},
-	{MKKA, MKK, NO_DFS},
-	{MKKC, MKK, NO_DFS},
-	{WORLD, ETSI, NO_DFS},
-	{WOR0_WORLD, NO_CTL, DFS_FCC3},
-	{WOR01_WORLD, NO_CTL, DFS_FCC3},
-	{WOR02_WORLD, NO_CTL, DFS_FCC3},
-	{EU1_WORLD, NO_CTL, DFS_FCC3},
-	{WOR1_WORLD, NO_CTL, DFS_FCC3},
-	{WOR2_WORLD, NO_CTL, DFS_FCC3},
-	{WOR3_WORLD, NO_CTL, DFS_FCC3},
-	{WOR4_WORLD, NO_CTL, DFS_FCC3},
-	{WOR5_ETSIC, NO_CTL, DFS_FCC3},
-	{WOR9_WORLD, NO_CTL, DFS_FCC3},
-	{WORA_WORLD, NO_CTL, DFS_FCC3},
-	{WORB_WORLD, NO_CTL, DFS_FCC3},
-	{WORC_WORLD, NO_CTL, DFS_FCC3},
-	{NULL1, NO_CTL, NO_DFS},
+	{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 {

+ 0 - 8
core/cds/src/cds_ieee80211_common_i.h

@@ -28,14 +28,6 @@
 #ifndef CDS_COMMON__IEEE80211_I_H_
 #define CDS_COMMON__IEEE80211_I_H_
 
-/* These defines should match the table from ah_internal.h */
-typedef enum {
-	DFS_UNINIT_DOMAIN = 0,  /* Uninitialized dfs domain */
-	DFS_FCC_DOMAIN = 1,     /* FCC3 dfs domain */
-	DFS_ETSI_DOMAIN = 2,    /* ETSI dfs domain */
-	DFS_MKK4_DOMAIN = 3     /* Japan dfs domain */
-} HAL_DFS_DOMAIN;
-
 /* XXX not really a mode; there are really multiple PHY's */
 enum ieee80211_phymode {
 	IEEE80211_MODE_AUTO = 0,        /* autoselect */

+ 3 - 1
core/wma/inc/wma_dfs_interface.h

@@ -27,6 +27,8 @@
 
 #include "ath_dfs_structs.h"
 #include <qdf_lock.h>
+#include "cds_reg_service.h"
+#include "cds_regdomain.h"
 #include "cds_ieee80211_common.h"
 
 #define IEEE80211_CHAN_MAX      255
@@ -258,7 +260,7 @@ typedef struct ieee80211com {
 	int (*ic_dfs_control)(struct ieee80211com *ic,
 			      u_int id, void *indata, uint32_t insize,
 			      void *outdata, uint32_t *outsize);
-	HAL_DFS_DOMAIN current_dfs_regdomain;
+	enum HAL_DFS_DOMAIN current_dfs_regdomain;
 	uint8_t vdev_id;
 	uint8_t last_radar_found_chan;
 	int32_t dfs_pri_multiplier;