Lines Matching +full:core +full:- +full:domain

1 .. SPDX-License-Identifier: GPL-2.0
15 ---------------------------------------
19 to the kernel one regulatory domain to be used as the central
20 core regulatory domain all wireless devices should adhere to.
23 -------------------------------------------
25 When the regulatory domain is first set up, the kernel will request a
31 ---------------------------------------------------------------
33 Userspace gets a regulatory domain in the kernel by having
38 is CRDA - central regulatory domain agent. Its documented here:
43 it needs a new regulatory domain. A udev rule can be put in place
44 to trigger crda to send the respective regulatory domain for a
55 --------------------------------
65 # set regulatory domain to "Costa Rica"
68 This will request the kernel to set the regulatory domain to
70 to provide a regulatory domain for the alpha2 specified by the user
76 regulatory domain is required. More on this to be added
81 If drivers determine they need a specific regulatory domain
82 set they can inform the wireless core using regulatory_hint().
83 They have two options -- they either provide an alpha2 so that
84 crda can provide back a regulatory domain for that country or
85 they can build their own regulatory domain based on internal
86 custom knowledge so the wireless core can respect it.
93 is called when the core's regulatory domain has been changed. The driver
100 Device drivers who provide their own built regulatory domain
105 Example code - drivers hinting an alpha2:
106 ------------------------------------------
110 domain value to a specific alpha2 as follows::
130 if (regdomain == reg_map->reg) {
131 alpha2[0] = reg_map->alpha2[0];
132 alpha2[1] = reg_map->alpha2[1];
139 Lastly, you can then hint to the core of your discovered alpha2, if a match
145 r = zd_reg2alpha2(mac->regdomain, alpha2);
147 regulatory_hint(hw->wiphy, alpha2);
149 Example code - drivers providing a built in regulatory domain:
150 --------------------------------------------------------------
155 driver and you *need* to use this we let you build a regulatory domain
156 structure and pass it to the wireless core. To do this you should
157 kmalloc() a structure big enough to hold your regulatory domain
159 call regulatory_hint() with the regulatory domain structure in it.
161 Bellow is a simple example, with a regulatory domain cached using the stack.
164 Example cache of some regulatory domain::
172 REG_RULE(2412-10, 2484+10, 40, 6, 20, 0),
174 REG_RULE(5170-10, 5240+10, 40, 6, 20,
177 REG_RULE(5260-10, 5320+10, 40, 6, 20,
195 return -ENOMEM;
200 memcpy(&rd->reg_rules[i],
206 ---------------------------------------