aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/regd.h
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2009-03-30 22:30:29 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:54:37 -0400
commit3a702e49c03ba959e3f5bb2b74ec9921a81c8c98 (patch)
tree721e8a222648284660f5bf6c5edfba5a6e4d4527 /drivers/net/wireless/ath9k/regd.h
parentc02cf3738c9dbc446c160b9d49a001eb2be316c8 (diff)
atheros: introduce ath module containing common ath5k/ath9k/ar9170 code
This change creates a new module, ath.ko, which includes code that can be shared between ath5k, ath9k and ar9170. For now, extract most of the ath9k regulatory code so it can also be used in ath5k. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/regd.h')
-rw-r--r--drivers/net/wireless/ath9k/regd.h252
1 files changed, 0 insertions, 252 deletions
diff --git a/drivers/net/wireless/ath9k/regd.h b/drivers/net/wireless/ath9k/regd.h
deleted file mode 100644
index 61fa42ebfbc4..000000000000
--- a/drivers/net/wireless/ath9k/regd.h
+++ /dev/null
@@ -1,252 +0,0 @@
1/*
2 * Copyright (c) 2008-2009 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17#ifndef REGD_H
18#define REGD_H
19
20#include <linux/nl80211.h>
21
22#define COUNTRY_ERD_FLAG 0x8000
23#define WORLDWIDE_ROAMING_FLAG 0x4000
24
25#define MULTI_DOMAIN_MASK 0xFF00
26
27#define WORLD_SKU_MASK 0x00F0
28#define WORLD_SKU_PREFIX 0x0060
29
30#define CHANNEL_HALF_BW 10
31#define CHANNEL_QUARTER_BW 5
32
33struct reg_dmn_pair_mapping {
34 u16 regDmnEnum;
35 u16 reg_5ghz_ctl;
36 u16 reg_2ghz_ctl;
37};
38
39struct country_code_to_enum_rd {
40 u16 countryCode;
41 u16 regDmnEnum;
42 const char *isoName;
43};
44
45struct ath9k_regulatory {
46 char alpha2[2];
47 u16 country_code;
48 u16 max_power_level;
49 u32 tp_scale;
50 u16 current_rd;
51 u16 current_rd_ext;
52 int16_t power_limit;
53 struct reg_dmn_pair_mapping *regpair;
54};
55
56enum CountryCode {
57 CTRY_ALBANIA = 8,
58 CTRY_ALGERIA = 12,
59 CTRY_ARGENTINA = 32,
60 CTRY_ARMENIA = 51,
61 CTRY_AUSTRALIA = 36,
62 CTRY_AUSTRIA = 40,
63 CTRY_AZERBAIJAN = 31,
64 CTRY_BAHRAIN = 48,
65 CTRY_BELARUS = 112,
66 CTRY_BELGIUM = 56,
67 CTRY_BELIZE = 84,
68 CTRY_BOLIVIA = 68,
69 CTRY_BOSNIA_HERZ = 70,
70 CTRY_BRAZIL = 76,
71 CTRY_BRUNEI_DARUSSALAM = 96,
72 CTRY_BULGARIA = 100,
73 CTRY_CANADA = 124,
74 CTRY_CHILE = 152,
75 CTRY_CHINA = 156,
76 CTRY_COLOMBIA = 170,
77 CTRY_COSTA_RICA = 188,
78 CTRY_CROATIA = 191,
79 CTRY_CYPRUS = 196,
80 CTRY_CZECH = 203,
81 CTRY_DENMARK = 208,
82 CTRY_DOMINICAN_REPUBLIC = 214,
83 CTRY_ECUADOR = 218,
84 CTRY_EGYPT = 818,
85 CTRY_EL_SALVADOR = 222,
86 CTRY_ESTONIA = 233,
87 CTRY_FAEROE_ISLANDS = 234,
88 CTRY_FINLAND = 246,
89 CTRY_FRANCE = 250,
90 CTRY_GEORGIA = 268,
91 CTRY_GERMANY = 276,
92 CTRY_GREECE = 300,
93 CTRY_GUATEMALA = 320,
94 CTRY_HONDURAS = 340,
95 CTRY_HONG_KONG = 344,
96 CTRY_HUNGARY = 348,
97 CTRY_ICELAND = 352,
98 CTRY_INDIA = 356,
99 CTRY_INDONESIA = 360,
100 CTRY_IRAN = 364,
101 CTRY_IRAQ = 368,
102 CTRY_IRELAND = 372,
103 CTRY_ISRAEL = 376,
104 CTRY_ITALY = 380,
105 CTRY_JAMAICA = 388,
106 CTRY_JAPAN = 392,
107 CTRY_JORDAN = 400,
108 CTRY_KAZAKHSTAN = 398,
109 CTRY_KENYA = 404,
110 CTRY_KOREA_NORTH = 408,
111 CTRY_KOREA_ROC = 410,
112 CTRY_KOREA_ROC2 = 411,
113 CTRY_KOREA_ROC3 = 412,
114 CTRY_KUWAIT = 414,
115 CTRY_LATVIA = 428,
116 CTRY_LEBANON = 422,
117 CTRY_LIBYA = 434,
118 CTRY_LIECHTENSTEIN = 438,
119 CTRY_LITHUANIA = 440,
120 CTRY_LUXEMBOURG = 442,
121 CTRY_MACAU = 446,
122 CTRY_MACEDONIA = 807,
123 CTRY_MALAYSIA = 458,
124 CTRY_MALTA = 470,
125 CTRY_MEXICO = 484,
126 CTRY_MONACO = 492,
127 CTRY_MOROCCO = 504,
128 CTRY_NEPAL = 524,
129 CTRY_NETHERLANDS = 528,
130 CTRY_NETHERLANDS_ANTILLES = 530,
131 CTRY_NEW_ZEALAND = 554,
132 CTRY_NICARAGUA = 558,
133 CTRY_NORWAY = 578,
134 CTRY_OMAN = 512,
135 CTRY_PAKISTAN = 586,
136 CTRY_PANAMA = 591,
137 CTRY_PAPUA_NEW_GUINEA = 598,
138 CTRY_PARAGUAY = 600,
139 CTRY_PERU = 604,
140 CTRY_PHILIPPINES = 608,
141 CTRY_POLAND = 616,
142 CTRY_PORTUGAL = 620,
143 CTRY_PUERTO_RICO = 630,
144 CTRY_QATAR = 634,
145 CTRY_ROMANIA = 642,
146 CTRY_RUSSIA = 643,
147 CTRY_SAUDI_ARABIA = 682,
148 CTRY_SERBIA_MONTENEGRO = 891,
149 CTRY_SINGAPORE = 702,
150 CTRY_SLOVAKIA = 703,
151 CTRY_SLOVENIA = 705,
152 CTRY_SOUTH_AFRICA = 710,
153 CTRY_SPAIN = 724,
154 CTRY_SRI_LANKA = 144,
155 CTRY_SWEDEN = 752,
156 CTRY_SWITZERLAND = 756,
157 CTRY_SYRIA = 760,
158 CTRY_TAIWAN = 158,
159 CTRY_THAILAND = 764,
160 CTRY_TRINIDAD_Y_TOBAGO = 780,
161 CTRY_TUNISIA = 788,
162 CTRY_TURKEY = 792,
163 CTRY_UAE = 784,
164 CTRY_UKRAINE = 804,
165 CTRY_UNITED_KINGDOM = 826,
166 CTRY_UNITED_STATES = 840,
167 CTRY_UNITED_STATES_FCC49 = 842,
168 CTRY_URUGUAY = 858,
169 CTRY_UZBEKISTAN = 860,
170 CTRY_VENEZUELA = 862,
171 CTRY_VIET_NAM = 704,
172 CTRY_YEMEN = 887,
173 CTRY_ZIMBABWE = 716,
174 CTRY_JAPAN1 = 393,
175 CTRY_JAPAN2 = 394,
176 CTRY_JAPAN3 = 395,
177 CTRY_JAPAN4 = 396,
178 CTRY_JAPAN5 = 397,
179 CTRY_JAPAN6 = 4006,
180 CTRY_JAPAN7 = 4007,
181 CTRY_JAPAN8 = 4008,
182 CTRY_JAPAN9 = 4009,
183 CTRY_JAPAN10 = 4010,
184 CTRY_JAPAN11 = 4011,
185 CTRY_JAPAN12 = 4012,
186 CTRY_JAPAN13 = 4013,
187 CTRY_JAPAN14 = 4014,
188 CTRY_JAPAN15 = 4015,
189 CTRY_JAPAN16 = 4016,
190 CTRY_JAPAN17 = 4017,
191 CTRY_JAPAN18 = 4018,
192 CTRY_JAPAN19 = 4019,
193 CTRY_JAPAN20 = 4020,
194 CTRY_JAPAN21 = 4021,
195 CTRY_JAPAN22 = 4022,
196 CTRY_JAPAN23 = 4023,
197 CTRY_JAPAN24 = 4024,
198 CTRY_JAPAN25 = 4025,
199 CTRY_JAPAN26 = 4026,
200 CTRY_JAPAN27 = 4027,
201 CTRY_JAPAN28 = 4028,
202 CTRY_JAPAN29 = 4029,
203 CTRY_JAPAN30 = 4030,
204 CTRY_JAPAN31 = 4031,
205 CTRY_JAPAN32 = 4032,
206 CTRY_JAPAN33 = 4033,
207 CTRY_JAPAN34 = 4034,
208 CTRY_JAPAN35 = 4035,
209 CTRY_JAPAN36 = 4036,
210 CTRY_JAPAN37 = 4037,
211 CTRY_JAPAN38 = 4038,
212 CTRY_JAPAN39 = 4039,
213 CTRY_JAPAN40 = 4040,
214 CTRY_JAPAN41 = 4041,
215 CTRY_JAPAN42 = 4042,
216 CTRY_JAPAN43 = 4043,
217 CTRY_JAPAN44 = 4044,
218 CTRY_JAPAN45 = 4045,
219 CTRY_JAPAN46 = 4046,
220 CTRY_JAPAN47 = 4047,
221 CTRY_JAPAN48 = 4048,
222 CTRY_JAPAN49 = 4049,
223 CTRY_JAPAN50 = 4050,
224 CTRY_JAPAN51 = 4051,
225 CTRY_JAPAN52 = 4052,
226 CTRY_JAPAN53 = 4053,
227 CTRY_JAPAN54 = 4054,
228 CTRY_JAPAN55 = 4055,
229 CTRY_JAPAN56 = 4056,
230 CTRY_JAPAN57 = 4057,
231 CTRY_JAPAN58 = 4058,
232 CTRY_JAPAN59 = 4059,
233 CTRY_AUSTRALIA2 = 5000,
234 CTRY_CANADA2 = 5001,
235 CTRY_BELGIUM2 = 5002
236};
237
238bool ath9k_is_world_regd(struct ath9k_regulatory *reg);
239const struct ieee80211_regdomain *ath9k_world_regdomain(
240 struct ath9k_regulatory *reg);
241const struct ieee80211_regdomain *ath9k_default_world_regdomain(void);
242void ath9k_reg_apply_world_flags(struct wiphy *wiphy,
243 enum nl80211_reg_initiator,
244 struct ath9k_regulatory *reg);
245void ath9k_reg_apply_radar_flags(struct wiphy *wiphy);
246int ath9k_regd_init(struct ath9k_regulatory *reg);
247bool ath9k_regd_is_eeprom_valid(struct ath9k_regulatory *reg);
248u32 ath9k_regd_get_ctl(struct ath9k_regulatory *reg,
249 struct ath9k_channel *chan);
250int ath9k_reg_notifier(struct wiphy *wiphy, struct regulatory_request *request);
251
252#endif