Lines Matching full:regulatory
25 * DOC: Wireless regulatory infrastructure
28 * determine which regulatory domain it should be operating under, then
36 * In addition to all this we provide an extra layer of regulatory
37 * conformance. For drivers which do not have any regulatory
38 * information CRDA provides the complete regulatory solution.
68 * channels allowed by the current regulatory domain.
73 * enum reg_request_treatment - regulatory request treatment
75 * @REG_REQ_OK: continue processing the regulatory request
76 * @REG_REQ_IGNORE: ignore the regulatory request
77 * @REG_REQ_INTERSECT: the regulatory domain resulting from this request should
79 * @REG_REQ_ALREADY_SET: the regulatory request will not change the current
80 * regulatory settings, and no further processing is required.
99 * Receipt of information from last regulatory request,
109 * Central wireless core regulatory domains, we only need two,
110 * the current one and a world regulatory domain in case we have no
118 * that support cellular base station regulatory hints
144 * Returns the regulatory domain associated with the wiphy.
219 /* Used to queue up regulatory hints */
241 /* We keep a static world regulatory domain in case of the absence of CRDA */
290 MODULE_PARM_DESC(ieee80211_regdom, "IEEE 802.11 regulatory domain code");
351 * Dynamic world regulatory domain requested by the wireless
386 * Special case where regulatory domain was built by driver in is_unknown_alpha2()
397 * Special case where regulatory domain is the in is_intersected_alpha2()
398 * result of an intersection between two regulatory domain in is_intersected_alpha2()
429 * you know if a valid regulatory hint with NL80211_REGDOM_SET_BY_USER
537 pr_debug("Timeout while waiting for CRDA to reply, restoring regulatory settings\n"); in crda_timeout_work()
560 * This lets us keep regulatory code which is updated on a regulatory
581 pr_debug("Calling CRDA to update world regulatory domain\n"); in call_crda()
755 pr_notice("Loading compiled-in X.509 certificates for regulatory database\n"); in load_builtin_regdb_keys()
772 MODULE_FIRMWARE("regulatory.db.p7s");
779 if (request_firmware(&sig, "regulatory.db.p7s", ®_pdev->dev)) in regdb_has_valid_signature()
854 pr_err("Invalid regulatory WMM rule %u-%u in domain %c%c\n", in set_wmm_rule()
1008 pr_info("failed to load regulatory.db\n"); in regdb_fw_cb()
1011 pr_info("loaded regulatory.db is malformed or signature is missing/invalid\n"); in regdb_fw_cb()
1045 MODULE_FIRMWARE("regulatory.db");
1060 err = request_firmware_nowait(THIS_MODULE, true, "regulatory.db", in query_regdb_file()
1077 err = request_firmware(&fw, "regulatory.db", ®_pdev->dev); in reg_reload_regdb()
1097 /* reset regulatory domain */ in reg_reload_regdb()
1147 * Follow the driver's regulatory domain, if present, unless a country in reg_get_regdomain()
1231 /* Sanity check on a regulatory rule */
1285 * regulatory rule support for other "bands".
1484 * regdom_intersect - do the intersection between two regulatory domains
1485 * @rd1: first regulatory domain
1486 * @rd2: second regulatory domain
1488 * Use this function to get the intersection between two regulatory domains.
1490 * as no one single alpha2 can represent this regulatory domain.
1492 * Returns a pointer to the regulatory domain structure which will hold the
1781 * This guarantees the driver's requested regulatory domain in handle_channel_single_rule()
1782 * will always be used as a base for further regulatory in handle_channel_single_rule()
1859 /* This guarantees the driver's requested regulatory domain in handle_channel_adjacent_rules()
1860 * will always be used as a base for further regulatory in handle_channel_adjacent_rules()
2000 * received regulatory rule unless the hint is coming in handle_channel()
2003 * to send only a subset of the regulatory rules allowed, in handle_channel()
2108 pr_debug("Ignoring regulatory request set by %s since last_request is not set\n", in ignore_reg_update()
2115 …pr_debug("Ignoring regulatory request set by %s since the driver uses its own custom regulatory do… in ignore_reg_update()
2122 * desired regulatory domain set in ignore_reg_update()
2127 …pr_debug("Ignoring regulatory request set by %s since the driver requires its own regulatory domai… in ignore_reg_update()
2245 /* This would happen when regulatory rules disallow HT40 completely */ in is_ht40_allowed()
2489 * Regulatory updates set by CORE are ignored for custom in wiphy_update_regulatory()
2490 * regulatory cards. Let us notify the changes to the driver, in wiphy_update_regulatory()
2661 * reg_process_hint_core - process core regulatory requests
2662 * @core_request: a pending core regulatory request
2665 * a regulatory request issued by the regulatory core.
2717 * reg_process_hint_user - process user regulatory requests
2718 * @user_request: a pending user regulatory request
2721 * a regulatory request initiated by userspace.
2760 * loaded card also agrees on the regulatory domain. in __reg_process_hint_driver()
2770 * reg_process_hint_driver - process driver regulatory requests
2771 * @wiphy: the wireless device for the regulatory request
2772 * @driver_request: a pending driver regulatory request
2775 * a regulatory request issued by an 802.11 driver.
2813 * have applied the requested regulatory domain before we just in reg_process_hint_driver()
2874 * reg_process_hint_country_ie - process regulatory requests from country IEs
2875 * @wiphy: the wireless device for the regulatory request
2876 * @country_ie_request: a regulatory request from a country IE
2879 * a regulatory request issued by a country Information Element.
3001 /* This processes *all* regulatory hints */
3069 * Processes regulatory hints, this is all the NL80211_REGDOM_SET_BY_*
3070 * Regulatory hints come on a first come first serve basis and we
3081 pr_debug("Pending regulatory request, waiting for it to be processed...\n"); in reg_process_pending_hints()
3211 * Core regulatory hint -- happens during cfg80211_init()
3212 * and when we restore regulatory settings.
3402 pr_debug("Restoring regulatory settings including user preference\n"); in restore_alpha2()
3418 pr_debug("Restoring regulatory settings while preserving user preference for: %c%c\n", in restore_alpha2()
3429 pr_debug("Restoring regulatory settings\n"); in restore_alpha2()
3454 * Restoring regulatory settings involves ignoring any
3455 * possibly stale country IE information and user regulatory
3458 * after disconnection. To restore regulatory settings we do
3461 * - send a core regulatory hint
3462 * - send a user regulatory hint if applicable
3464 * Device drivers that send a regulatory hint for a specific country
3465 * keep their own regulatory domain on wiphy->regd so that does
3496 * add then after we've restored regulatory in restore_regulatory_settings()
3516 /* First restore to the basic regulatory settings */ in restore_regulatory_settings()
3556 * preference or the last user requested regulatory in restore_regulatory_settings()
3557 * settings, user regulatory settings takes precedence. in restore_regulatory_settings()
3593 /* Restore of regulatory settings is not required when wiphy(s) in regulatory_hint_disconnect()
3620 pr_debug("All devices are disconnected, going to restore regulatory settings\n"); in regulatory_hint_disconnect()
3765 pr_debug("Current regulatory domain updated by AP to: %c%c\n", in print_regdomain()
3769 pr_debug("Current regulatory domain intersected:\n"); in print_regdomain()
3771 pr_debug("Current regulatory domain intersected:\n"); in print_regdomain()
3773 pr_debug("World regulatory domain updated:\n"); in print_regdomain()
3776 pr_debug("Regulatory domain changed to driver built-in settings (unknown country)\n"); in print_regdomain()
3779 pr_debug("Regulatory domain changed to country: %c%c by Cell Station\n", in print_regdomain()
3782 pr_debug("Regulatory domain changed to country: %c%c\n", in print_regdomain()
3793 pr_debug("Regulatory domain: %c%c\n", rd->alpha2[0], rd->alpha2[1]); in print_regdomain_info()
3814 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_user()
3851 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_driver()
3887 * However if a driver requested this specific regulatory in reg_set_rd_driver()
3917 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_country_ie()
3935 * Use this call to set the current regulatory domain. Conflicts with
3987 /* Back to world regulatory in case of errors */ in set_regdom()
3999 /* update all wiphys now with the new established regulatory domain */ in set_regdom()
4026 "Invalid regulatory domain detected: %c%c\n", in __regulatory_set_wiphy_regd()
4322 reg_pdev = platform_device_register_simple("regulatory", 0, NULL, 0); in regulatory_init()