We take regulatory considerations seriously as its one of the major key components to getting proper vendor support on drivers. In order to enhance regulatory support we introduced a new regulatory infrastructure. This infrastructure consists of three major components:
We have factored common regulatory driver code as part of the wireless stack and provided a way for a userspace agent to update the currently set regulatory domain. An important component to Linux' own kernel integration is to allow drivers themselves to hint to the wireless core an alpha2 and have a callback to review the data passed by crda based on its own driver or EEPROM data or to build a regulatory domain completely by itself. This allows vendors to use their own regulatory information to help enhance regulatory compliance even further. For more details on the Linux kernel integration see how you can set the regulatory domain.
CRDA is our userspace agent which uploads regulatory domains into the kernel.
The regulatory database