docs: networking: convert regulatory.txt to ReST
- add SPDX header; - adjust title markup; - mark code blocks and literals as such; - adjust identation, whitespaces and blank lines where needed; - add to networking/index.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
bad5b6e223
commit
98661e0c57
@@ -98,6 +98,7 @@ Contents:
|
|||||||
radiotap-headers
|
radiotap-headers
|
||||||
ray_cs
|
ray_cs
|
||||||
rds
|
rds
|
||||||
|
regulatory
|
||||||
|
|
||||||
.. only:: subproject and html
|
.. only:: subproject and html
|
||||||
|
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
=======================================
|
||||||
Linux wireless regulatory documentation
|
Linux wireless regulatory documentation
|
||||||
---------------------------------------
|
=======================================
|
||||||
|
|
||||||
This document gives a brief review over how the Linux wireless
|
This document gives a brief review over how the Linux wireless
|
||||||
regulatory infrastructure works.
|
regulatory infrastructure works.
|
||||||
@@ -57,7 +60,7 @@ Users can use iw:
|
|||||||
|
|
||||||
http://wireless.kernel.org/en/users/Documentation/iw
|
http://wireless.kernel.org/en/users/Documentation/iw
|
||||||
|
|
||||||
An example:
|
An example::
|
||||||
|
|
||||||
# set regulatory domain to "Costa Rica"
|
# set regulatory domain to "Costa Rica"
|
||||||
iw reg set CR
|
iw reg set CR
|
||||||
@@ -104,7 +107,7 @@ Example code - drivers hinting an alpha2:
|
|||||||
|
|
||||||
This example comes from the zd1211rw device driver. You can start
|
This example comes from the zd1211rw device driver. You can start
|
||||||
by having a mapping of your device's EEPROM country/regulatory
|
by having a mapping of your device's EEPROM country/regulatory
|
||||||
domain value to a specific alpha2 as follows:
|
domain value to a specific alpha2 as follows::
|
||||||
|
|
||||||
static struct zd_reg_alpha2_map reg_alpha2_map[] = {
|
static struct zd_reg_alpha2_map reg_alpha2_map[] = {
|
||||||
{ ZD_REGDOMAIN_FCC, "US" },
|
{ ZD_REGDOMAIN_FCC, "US" },
|
||||||
@@ -116,7 +119,7 @@ static struct zd_reg_alpha2_map reg_alpha2_map[] = {
|
|||||||
{ ZD_REGDOMAIN_FRANCE, "FR" },
|
{ ZD_REGDOMAIN_FRANCE, "FR" },
|
||||||
|
|
||||||
Then you can define a routine to map your read EEPROM value to an alpha2,
|
Then you can define a routine to map your read EEPROM value to an alpha2,
|
||||||
as follows:
|
as follows::
|
||||||
|
|
||||||
static int zd_reg2alpha2(u8 regdomain, char *alpha2)
|
static int zd_reg2alpha2(u8 regdomain, char *alpha2)
|
||||||
{
|
{
|
||||||
@@ -137,6 +140,8 @@ Lastly, you can then hint to the core of your discovered alpha2, if a match
|
|||||||
was found. You need to do this after you have registered your wiphy. You
|
was found. You need to do this after you have registered your wiphy. You
|
||||||
are expected to do this during initialization.
|
are expected to do this during initialization.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
r = zd_reg2alpha2(mac->regdomain, alpha2);
|
r = zd_reg2alpha2(mac->regdomain, alpha2);
|
||||||
if (!r)
|
if (!r)
|
||||||
regulatory_hint(hw->wiphy, alpha2);
|
regulatory_hint(hw->wiphy, alpha2);
|
||||||
@@ -156,7 +161,7 @@ call regulatory_hint() with the regulatory domain structure in it.
|
|||||||
Bellow is a simple example, with a regulatory domain cached using the stack.
|
Bellow is a simple example, with a regulatory domain cached using the stack.
|
||||||
Your implementation may vary (read EEPROM cache instead, for example).
|
Your implementation may vary (read EEPROM cache instead, for example).
|
||||||
|
|
||||||
Example cache of some regulatory domain
|
Example cache of some regulatory domain::
|
||||||
|
|
||||||
struct ieee80211_regdomain mydriver_jp_regdom = {
|
struct ieee80211_regdomain mydriver_jp_regdom = {
|
||||||
.n_reg_rules = 3,
|
.n_reg_rules = 3,
|
||||||
@@ -175,7 +180,7 @@ struct ieee80211_regdomain mydriver_jp_regdom = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Then in some part of your code after your wiphy has been registered:
|
Then in some part of your code after your wiphy has been registered::
|
||||||
|
|
||||||
struct ieee80211_regdomain *rd;
|
struct ieee80211_regdomain *rd;
|
||||||
int size_of_regd;
|
int size_of_regd;
|
@@ -193,7 +193,7 @@ W: https://wireless.wiki.kernel.org/
|
|||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
|
||||||
F: Documentation/driver-api/80211/cfg80211.rst
|
F: Documentation/driver-api/80211/cfg80211.rst
|
||||||
F: Documentation/networking/regulatory.txt
|
F: Documentation/networking/regulatory.rst
|
||||||
F: include/linux/ieee80211.h
|
F: include/linux/ieee80211.h
|
||||||
F: include/net/cfg80211.h
|
F: include/net/cfg80211.h
|
||||||
F: include/net/ieee80211_radiotap.h
|
F: include/net/ieee80211_radiotap.h
|
||||||
|
Reference in New Issue
Block a user