summaryrefslogtreecommitdiffstats
path: root/Documentation/networking/regulatory.txt
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-10-15 11:22:58 +0200
committerJohannes Berg <johannes.berg@intel.com>2017-10-11 13:04:15 +0200
commit007f6c5e6eb45c81ee89368a5f226572ae638831 (patch)
treef458dd8f271a09f88f0cc98dbea8f89d6f6f60dc /Documentation/networking/regulatory.txt
parent2a9e25796b289f71c0802eca46005c750c57af95 (diff)
downloadlinux-007f6c5e6eb45c81ee89368a5f226572ae638831.tar.gz
linux-007f6c5e6eb45c81ee89368a5f226572ae638831.tar.bz2
linux-007f6c5e6eb45c81ee89368a5f226572ae638831.zip
cfg80211: support loading regulatory database as firmware file
As the current regulatory database is only about 4k big, and already difficult to extend, we decided that overall it would be better to get rid of the complications with CRDA and load the database into the kernel directly, but in a new format that is extensible. The new file format can be extended since it carries a length field on all the structs that need to be extensible. In order to be able to request firmware when the module initializes, move cfg80211 from subsys_initcall() to the later fs_initcall(); the firmware loader is at the same level but linked earlier, so it can be called from there. Otherwise, when both the firmware loader and cfg80211 are built-in, the request will crash the kernel. We also need to be before device_initcall() so that cfg80211 is available for devices when they initialize. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'Documentation/networking/regulatory.txt')
-rw-r--r--Documentation/networking/regulatory.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/networking/regulatory.txt b/Documentation/networking/regulatory.txt
index 7818b5fe448b..46c8d8b1cc66 100644
--- a/Documentation/networking/regulatory.txt
+++ b/Documentation/networking/regulatory.txt
@@ -19,6 +19,14 @@ core regulatory domain all wireless devices should adhere to.
How to get regulatory domains to the kernel
-------------------------------------------
+When the regulatory domain is first set up, the kernel will request a
+database file (regulatory.db) containing all the regulatory rules. It
+will then use that database when it needs to look up the rules for a
+given country.
+
+How to get regulatory domains to the kernel (old CRDA solution)
+---------------------------------------------------------------
+
Userspace gets a regulatory domain in the kernel by having
a userspace agent build it and send it via nl80211. Only
expected regulatory domains will be respected by the kernel.