Skip to content

Commit

Permalink
docs: networking: convert regulatory.txt to ReST
Browse files Browse the repository at this point in the history
- 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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
mchehab authored and davem330 committed Apr 30, 2020
1 parent bad5b6e commit 98661e0
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
1 change: 1 addition & 0 deletions Documentation/networking/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ Contents:
radiotap-headers
ray_cs
rds
regulatory

.. only:: subproject and html

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
.. SPDX-License-Identifier: GPL-2.0
=======================================
Linux wireless regulatory documentation
---------------------------------------
=======================================

This document gives a brief review over how the Linux wireless
regulatory infrastructure works.
Expand Down Expand Up @@ -57,7 +60,7 @@ Users can use iw:

http://wireless.kernel.org/en/users/Documentation/iw

An example:
An example::

# set regulatory domain to "Costa Rica"
iw reg set CR
Expand Down Expand Up @@ -104,9 +107,9 @@ Example code - drivers hinting an alpha2:

This example comes from the zd1211rw device driver. You can start
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_IC, "CA" },
{ ZD_REGDOMAIN_ETSI, "DE" }, /* Generic ETSI, use most restrictive */
Expand All @@ -116,10 +119,10 @@ static struct zd_reg_alpha2_map reg_alpha2_map[] = {
{ ZD_REGDOMAIN_FRANCE, "FR" },

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)
{
unsigned int i;
struct zd_reg_alpha2_map *reg_map;
for (i = 0; i < ARRAY_SIZE(reg_alpha2_map); i++) {
Expand All @@ -131,12 +134,14 @@ static int zd_reg2alpha2(u8 regdomain, char *alpha2)
}
}
return 1;
}
}

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
are expected to do this during initialization.

::

r = zd_reg2alpha2(mac->regdomain, alpha2);
if (!r)
regulatory_hint(hw->wiphy, alpha2);
Expand All @@ -156,9 +161,9 @@ call regulatory_hint() with the regulatory domain structure in it.
Bellow is a simple example, with a regulatory domain cached using the stack.
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,
.alpha2 = "JP",
//.alpha2 = "99", /* If I have no alpha2 to map it to */
Expand All @@ -173,9 +178,9 @@ struct ieee80211_regdomain mydriver_jp_regdom = {
NL80211_RRF_NO_IR|
NL80211_RRF_DFS),
}
};
};

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;
int size_of_regd;
Expand Down
2 changes: 1 addition & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -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-next.git
F: Documentation/driver-api/80211/cfg80211.rst
F: Documentation/networking/regulatory.txt
F: Documentation/networking/regulatory.rst
F: include/linux/ieee80211.h
F: include/net/cfg80211.h
F: include/net/ieee80211_radiotap.h
Expand Down

0 comments on commit 98661e0

Please sign in to comment.