diff options
-rw-r--r-- | include/net/wireless.h | 37 | ||||
-rw-r--r-- | net/wireless/reg.h | 28 |
2 files changed, 37 insertions, 28 deletions
diff --git a/include/net/wireless.h b/include/net/wireless.h index c0aa0fb8db5e..061fe5017e5c 100644 --- a/include/net/wireless.h +++ b/include/net/wireless.h | |||
@@ -341,33 +341,6 @@ ieee80211_get_channel(struct wiphy *wiphy, int freq) | |||
341 | } | 341 | } |
342 | 342 | ||
343 | /** | 343 | /** |
344 | * __regulatory_hint - hint to the wireless core a regulatory domain | ||
345 | * @wiphy: if a driver is providing the hint this is the driver's very | ||
346 | * own &struct wiphy | ||
347 | * @alpha2: the ISO/IEC 3166 alpha2 being claimed the regulatory domain | ||
348 | * should be in. If @rd is set this should be NULL | ||
349 | * @rd: a complete regulatory domain, if passed the caller need not worry | ||
350 | * about freeing it | ||
351 | * | ||
352 | * The Wireless subsystem can use this function to hint to the wireless core | ||
353 | * what it believes should be the current regulatory domain by | ||
354 | * giving it an ISO/IEC 3166 alpha2 country code it knows its regulatory | ||
355 | * domain should be in or by providing a completely build regulatory domain. | ||
356 | * | ||
357 | * Returns -EALREADY if *a regulatory domain* has already been set. Note that | ||
358 | * this could be by another driver. It is safe for drivers to continue if | ||
359 | * -EALREADY is returned, if drivers are not capable of world roaming they | ||
360 | * should not register more channels than they support. Right now we only | ||
361 | * support listening to the first driver hint. If the driver is capable | ||
362 | * of world roaming but wants to respect its own EEPROM mappings for | ||
363 | * specific regulatory domains it should register the @reg_notifier callback | ||
364 | * on the &struct wiphy. Returns 0 if the hint went through fine or through an | ||
365 | * intersection operation. Otherwise a standard error code is returned. | ||
366 | * | ||
367 | */ | ||
368 | extern int __regulatory_hint(struct wiphy *wiphy, enum reg_set_by set_by, | ||
369 | const char *alpha2, struct ieee80211_regdomain *rd); | ||
370 | /** | ||
371 | * regulatory_hint - driver hint to the wireless core a regulatory domain | 344 | * regulatory_hint - driver hint to the wireless core a regulatory domain |
372 | * @wiphy: the driver's very own &struct wiphy | 345 | * @wiphy: the driver's very own &struct wiphy |
373 | * @alpha2: the ISO/IEC 3166 alpha2 the driver claims its regulatory domain | 346 | * @alpha2: the ISO/IEC 3166 alpha2 the driver claims its regulatory domain |
@@ -388,7 +361,15 @@ extern int __regulatory_hint(struct wiphy *wiphy, enum reg_set_by set_by, | |||
388 | * the wireless core it is unknown. If you pass a built regulatory domain | 361 | * the wireless core it is unknown. If you pass a built regulatory domain |
389 | * and we return non zero you are in charge of kfree()'ing the structure. | 362 | * and we return non zero you are in charge of kfree()'ing the structure. |
390 | * | 363 | * |
391 | * See __regulatory_hint() documentation for possible return values. | 364 | * Returns -EALREADY if *a regulatory domain* has already been set. Note that |
365 | * this could be by another driver. It is safe for drivers to continue if | ||
366 | * -EALREADY is returned, if drivers are not capable of world roaming they | ||
367 | * should not register more channels than they support. Right now we only | ||
368 | * support listening to the first driver hint. If the driver is capable | ||
369 | * of world roaming but wants to respect its own EEPROM mappings for | ||
370 | * specific regulatory domains it should register the @reg_notifier callback | ||
371 | * on the &struct wiphy. Returns 0 if the hint went through fine or through an | ||
372 | * intersection operation. Otherwise a standard error code is returned. | ||
392 | */ | 373 | */ |
393 | extern int regulatory_hint(struct wiphy *wiphy, | 374 | extern int regulatory_hint(struct wiphy *wiphy, |
394 | const char *alpha2, struct ieee80211_regdomain *rd); | 375 | const char *alpha2, struct ieee80211_regdomain *rd); |
diff --git a/net/wireless/reg.h b/net/wireless/reg.h index a33362872f3c..a4845b140a84 100644 --- a/net/wireless/reg.h +++ b/net/wireless/reg.h | |||
@@ -10,4 +10,32 @@ void regulatory_exit(void); | |||
10 | 10 | ||
11 | int set_regdom(const struct ieee80211_regdomain *rd); | 11 | int set_regdom(const struct ieee80211_regdomain *rd); |
12 | 12 | ||
13 | /** | ||
14 | * __regulatory_hint - hint to the wireless core a regulatory domain | ||
15 | * @wiphy: if a driver is providing the hint this is the driver's very | ||
16 | * own &struct wiphy | ||
17 | * @alpha2: the ISO/IEC 3166 alpha2 being claimed the regulatory domain | ||
18 | * should be in. If @rd is set this should be NULL | ||
19 | * @rd: a complete regulatory domain, if passed the caller need not worry | ||
20 | * about freeing it | ||
21 | * | ||
22 | * The Wireless subsystem can use this function to hint to the wireless core | ||
23 | * what it believes should be the current regulatory domain by | ||
24 | * giving it an ISO/IEC 3166 alpha2 country code it knows its regulatory | ||
25 | * domain should be in or by providing a completely build regulatory domain. | ||
26 | * | ||
27 | * Returns -EALREADY if *a regulatory domain* has already been set. Note that | ||
28 | * this could be by another driver. It is safe for drivers to continue if | ||
29 | * -EALREADY is returned, if drivers are not capable of world roaming they | ||
30 | * should not register more channels than they support. Right now we only | ||
31 | * support listening to the first driver hint. If the driver is capable | ||
32 | * of world roaming but wants to respect its own EEPROM mappings for | ||
33 | * specific regulatory domains it should register the @reg_notifier callback | ||
34 | * on the &struct wiphy. Returns 0 if the hint went through fine or through an | ||
35 | * intersection operation. Otherwise a standard error code is returned. | ||
36 | * | ||
37 | */ | ||
38 | extern int __regulatory_hint(struct wiphy *wiphy, enum reg_set_by set_by, | ||
39 | const char *alpha2, struct ieee80211_regdomain *rd); | ||
40 | |||
13 | #endif /* __NET_WIRELESS_REG_H */ | 41 | #endif /* __NET_WIRELESS_REG_H */ |