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()
797 pr_notice("Loading compiled-in X.509 certificates for regulatory database\n"); in load_builtin_regdb_keys()
810 MODULE_FIRMWARE("regulatory.db.p7s");
817 if (request_firmware(&sig, "regulatory.db.p7s", ®_pdev->dev)) in regdb_has_valid_signature()
892 pr_err("Invalid regulatory WMM rule %u-%u in domain %c%c\n", in set_wmm_rule()
1046 pr_info("failed to load regulatory.db\n"); in regdb_fw_cb()
1049 pr_info("loaded regulatory.db is malformed or signature is missing/invalid\n"); in regdb_fw_cb()
1083 MODULE_FIRMWARE("regulatory.db");
1098 err = request_firmware_nowait(THIS_MODULE, true, "regulatory.db", in query_regdb_file()
1115 err = request_firmware(&fw, "regulatory.db", ®_pdev->dev); in reg_reload_regdb()
1135 /* reset regulatory domain */ in reg_reload_regdb()
1185 * Follow the driver's regulatory domain, if present, unless a country in reg_get_regdomain()
1269 /* Sanity check on a regulatory rule */
1323 * regulatory rule support for other "bands".
1522 * regdom_intersect - do the intersection between two regulatory domains
1523 * @rd1: first regulatory domain
1524 * @rd2: second regulatory domain
1526 * Use this function to get the intersection between two regulatory domains.
1528 * as no one single alpha2 can represent this regulatory domain.
1530 * Returns a pointer to the regulatory domain structure which will hold the
1817 * This guarantees the driver's requested regulatory domain in handle_channel_single_rule()
1818 * will always be used as a base for further regulatory in handle_channel_single_rule()
1895 /* This guarantees the driver's requested regulatory domain in handle_channel_adjacent_rules()
1896 * will always be used as a base for further regulatory in handle_channel_adjacent_rules()
2036 * received regulatory rule unless the hint is coming in handle_channel()
2039 * to send only a subset of the regulatory rules allowed, in handle_channel()
2144 pr_debug("Ignoring regulatory request set by %s since last_request is not set\n", in ignore_reg_update()
2151 …pr_debug("Ignoring regulatory request set by %s since the driver uses its own custom regulatory do… in ignore_reg_update()
2158 * desired regulatory domain set in ignore_reg_update()
2163 …pr_debug("Ignoring regulatory request set by %s since the driver requires its own regulatory domai… in ignore_reg_update()
2281 /* This would happen when regulatory rules disallow HT40 completely */ in is_ht40_allowed()
2522 * Regulatory updates set by CORE are ignored for custom in wiphy_update_regulatory()
2523 * regulatory cards. Let us notify the changes to the driver, in wiphy_update_regulatory()
2694 * reg_process_hint_core - process core regulatory requests
2695 * @core_request: a pending core regulatory request
2698 * a regulatory request issued by the regulatory core.
2750 * reg_process_hint_user - process user regulatory requests
2751 * @user_request: a pending user regulatory request
2754 * a regulatory request initiated by userspace.
2793 * loaded card also agrees on the regulatory domain. in __reg_process_hint_driver()
2803 * reg_process_hint_driver - process driver regulatory requests
2804 * @wiphy: the wireless device for the regulatory request
2805 * @driver_request: a pending driver regulatory request
2808 * a regulatory request issued by an 802.11 driver.
2846 * have applied the requested regulatory domain before we just in reg_process_hint_driver()
2907 * reg_process_hint_country_ie - process regulatory requests from country IEs
2908 * @wiphy: the wireless device for the regulatory request
2909 * @country_ie_request: a regulatory request from a country IE
2912 * a regulatory request issued by a country Information Element.
3034 /* This processes *all* regulatory hints */
3102 * Processes regulatory hints, this is all the NL80211_REGDOM_SET_BY_*
3103 * Regulatory hints come on a first come first serve basis and we
3114 pr_debug("Pending regulatory request, waiting for it to be processed...\n"); in reg_process_pending_hints()
3241 * Core regulatory hint -- happens during cfg80211_init()
3242 * and when we restore regulatory settings.
3432 pr_debug("Restoring regulatory settings including user preference\n"); in restore_alpha2()
3448 pr_debug("Restoring regulatory settings while preserving user preference for: %c%c\n", in restore_alpha2()
3459 pr_debug("Restoring regulatory settings\n"); in restore_alpha2()
3484 * Restoring regulatory settings involves ignoring any
3485 * possibly stale country IE information and user regulatory
3488 * after disconnection. To restore regulatory settings we do
3491 * - send a core regulatory hint
3492 * - send a user regulatory hint if applicable
3494 * Device drivers that send a regulatory hint for a specific country
3495 * keep their own regulatory domain on wiphy->regd so that does
3526 * add then after we've restored regulatory in restore_regulatory_settings()
3546 /* First restore to the basic regulatory settings */ in restore_regulatory_settings()
3586 * preference or the last user requested regulatory in restore_regulatory_settings()
3587 * settings, user regulatory settings takes precedence. in restore_regulatory_settings()
3623 /* Restore of regulatory settings is not required when wiphy(s) in regulatory_hint_disconnect()
3650 pr_debug("All devices are disconnected, going to restore regulatory settings\n"); in regulatory_hint_disconnect()
3795 pr_debug("Current regulatory domain updated by AP to: %c%c\n", in print_regdomain()
3799 pr_debug("Current regulatory domain intersected:\n"); in print_regdomain()
3801 pr_debug("Current regulatory domain intersected:\n"); in print_regdomain()
3803 pr_debug("World regulatory domain updated:\n"); in print_regdomain()
3806 pr_debug("Regulatory domain changed to driver built-in settings (unknown country)\n"); in print_regdomain()
3809 pr_debug("Regulatory domain changed to country: %c%c by Cell Station\n", in print_regdomain()
3812 pr_debug("Regulatory domain changed to country: %c%c\n", in print_regdomain()
3823 pr_debug("Regulatory domain: %c%c\n", rd->alpha2[0], rd->alpha2[1]); in print_regdomain_info()
3844 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_user()
3881 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_driver()
3917 * However if a driver requested this specific regulatory in reg_set_rd_driver()
3947 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_country_ie()
3965 * Use this call to set the current regulatory domain. Conflicts with
4017 /* Back to world regulatory in case of errors */ in set_regdom()
4029 /* update all wiphys now with the new established regulatory domain */ in set_regdom()
4056 "Invalid regulatory domain detected: %c%c\n", in __regulatory_set_wiphy_regd()
4350 reg_pdev = platform_device_register_simple("regulatory", 0, NULL, 0); in regulatory_init()