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
199 /* Used to queue up regulatory hints */
221 /* We keep a static world regulatory domain in case of the absence of CRDA */
270 MODULE_PARM_DESC(ieee80211_regdom, "IEEE 802.11 regulatory domain code");
331 * Dynamic world regulatory domain requested by the wireless
366 * Special case where regulatory domain was built by driver in is_unknown_alpha2()
377 * Special case where regulatory domain is the in is_intersected_alpha2()
378 * result of an intersection between two regulatory domain in is_intersected_alpha2()
409 * you know if a valid regulatory hint with NL80211_REGDOM_SET_BY_USER
517 pr_debug("Timeout while waiting for CRDA to reply, restoring regulatory settings\n"); in crda_timeout_work()
540 * This lets us keep regulatory code which is updated on a regulatory
561 pr_debug("Calling CRDA to update world regulatory domain\n"); in call_crda()
777 pr_notice("Loading compiled-in X.509 certificates for regulatory database\n"); in load_builtin_regdb_keys()
790 MODULE_FIRMWARE("regulatory.db.p7s");
797 if (request_firmware(&sig, "regulatory.db.p7s", ®_pdev->dev)) in regdb_has_valid_signature()
872 pr_err("Invalid regulatory WMM rule %u-%u in domain %c%c\n", in set_wmm_rule()
1026 pr_info("failed to load regulatory.db\n"); in regdb_fw_cb()
1029 pr_info("loaded regulatory.db is malformed or signature is missing/invalid\n"); in regdb_fw_cb()
1063 MODULE_FIRMWARE("regulatory.db");
1078 err = request_firmware_nowait(THIS_MODULE, true, "regulatory.db", in query_regdb_file()
1093 err = request_firmware(&fw, "regulatory.db", ®_pdev->dev); in reg_reload_regdb()
1145 * Follow the driver's regulatory domain, if present, unless a country in reg_get_regdomain()
1227 /* Sanity check on a regulatory rule */
1281 * regulatory rule support for other "bands".
1480 * regdom_intersect - do the intersection between two regulatory domains
1481 * @rd1: first regulatory domain
1482 * @rd2: second regulatory domain
1484 * Use this function to get the intersection between two regulatory domains.
1486 * as no one single alpha2 can represent this regulatory domain.
1488 * Returns a pointer to the regulatory domain structure which will hold the
1771 * This guarantees the driver's requested regulatory domain in handle_channel_single_rule()
1772 * will always be used as a base for further regulatory in handle_channel_single_rule()
1849 /* This guarantees the driver's requested regulatory domain in handle_channel_adjacent_rules()
1850 * will always be used as a base for further regulatory in handle_channel_adjacent_rules()
1990 * received regulatory rule unless the hint is coming in handle_channel()
1993 * to send only a subset of the regulatory rules allowed, in handle_channel()
2098 pr_debug("Ignoring regulatory request set by %s since last_request is not set\n", in ignore_reg_update()
2105 …pr_debug("Ignoring regulatory request set by %s since the driver uses its own custom regulatory do… in ignore_reg_update()
2112 * desired regulatory domain set in ignore_reg_update()
2117 …pr_debug("Ignoring regulatory request set by %s since the driver requires its own regulatory domai… in ignore_reg_update()
2235 /* This would happen when regulatory rules disallow HT40 completely */ in is_ht40_allowed()
2443 * Regulatory updates set by CORE are ignored for custom in wiphy_update_regulatory()
2444 * regulatory cards. Let us notify the changes to the driver, in wiphy_update_regulatory()
2601 * reg_process_hint_core - process core regulatory requests
2602 * @core_request: a pending core regulatory request
2605 * a regulatory request issued by the regulatory core.
2657 * reg_process_hint_user - process user regulatory requests
2658 * @user_request: a pending user regulatory request
2661 * a regulatory request initiated by userspace.
2700 * loaded card also agrees on the regulatory domain. in __reg_process_hint_driver()
2710 * reg_process_hint_driver - process driver regulatory requests
2711 * @wiphy: the wireless device for the regulatory request
2712 * @driver_request: a pending driver regulatory request
2715 * a regulatory request issued by an 802.11 driver.
2750 * have applied the requested regulatory domain before we just in reg_process_hint_driver()
2811 * reg_process_hint_country_ie - process regulatory requests from country IEs
2812 * @wiphy: the wireless device for the regulatory request
2813 * @country_ie_request: a regulatory request from a country IE
2816 * a regulatory request issued by a country Information Element.
2938 /* This processes *all* regulatory hints */
3006 * Processes regulatory hints, this is all the NL80211_REGDOM_SET_BY_*
3007 * Regulatory hints come on a first come first serve basis and we
3018 pr_debug("Pending regulatory request, waiting for it to be processed...\n"); in reg_process_pending_hints()
3134 * Core regulatory hint -- happens during cfg80211_init()
3135 * and when we restore regulatory settings.
3325 pr_debug("Restoring regulatory settings including user preference\n"); in restore_alpha2()
3341 pr_debug("Restoring regulatory settings while preserving user preference for: %c%c\n", in restore_alpha2()
3352 pr_debug("Restoring regulatory settings\n"); in restore_alpha2()
3377 * Restoring regulatory settings involves ingoring any
3378 * possibly stale country IE information and user regulatory
3381 * after disconnection. To restore regulatory settings we do
3384 * - send a core regulatory hint
3385 * - send a user regulatory hint if applicable
3387 * Device drivers that send a regulatory hint for a specific country
3388 * keep their own regulatory domain on wiphy->regd so that does
3419 * add then after we've restored regulatory in restore_regulatory_settings()
3439 /* First restore to the basic regulatory settings */ in restore_regulatory_settings()
3479 * preference or the last user requested regulatory in restore_regulatory_settings()
3480 * settings, user regulatory settings takes precedence. in restore_regulatory_settings()
3516 /* Restore of regulatory settings is not required when wiphy(s) in regulatory_hint_disconnect()
3543 pr_debug("All devices are disconnected, going to restore regulatory settings\n"); in regulatory_hint_disconnect()
3688 pr_debug("Current regulatory domain updated by AP to: %c%c\n", in print_regdomain()
3692 pr_debug("Current regulatory domain intersected:\n"); in print_regdomain()
3694 pr_debug("Current regulatory domain intersected:\n"); in print_regdomain()
3696 pr_debug("World regulatory domain updated:\n"); in print_regdomain()
3699 pr_debug("Regulatory domain changed to driver built-in settings (unknown country)\n"); in print_regdomain()
3702 pr_debug("Regulatory domain changed to country: %c%c by Cell Station\n", in print_regdomain()
3705 pr_debug("Regulatory domain changed to country: %c%c\n", in print_regdomain()
3716 pr_debug("Regulatory domain: %c%c\n", rd->alpha2[0], rd->alpha2[1]); in print_regdomain_info()
3737 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_user()
3774 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_driver()
3803 * However if a driver requested this specific regulatory in reg_set_rd_driver()
3833 pr_err("Invalid regulatory domain detected: %c%c\n", in reg_set_rd_country_ie()
3851 * Use this call to set the current regulatory domain. Conflicts with
3903 /* Back to world regulatory in case of errors */ in set_regdom()
3915 /* update all wiphys now with the new established regulatory domain */ in set_regdom()
3941 if (WARN(!is_valid_rd(rd), "Invalid regulatory domain detected\n")) { in __regulatory_set_wiphy_regd()
4226 reg_pdev = platform_device_register_simple("regulatory", 0, NULL, 0); in regulatory_init()