summaryrefslogtreecommitdiffstats
path: root/meta-networking
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking')
-rw-r--r--meta-networking/classes/kernel_wireless_regdb.bbclass20
-rw-r--r--meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb9
2 files changed, 29 insertions, 0 deletions
diff --git a/meta-networking/classes/kernel_wireless_regdb.bbclass b/meta-networking/classes/kernel_wireless_regdb.bbclass
new file mode 100644
index 000000000..1238172bd
--- /dev/null
+++ b/meta-networking/classes/kernel_wireless_regdb.bbclass
@@ -0,0 +1,20 @@
1# Linux kernels before v4.15, allowed to be compiled with static
2# regulatory database if it was put under net/wireless/db.txt.
3#
4# This class copies the regulatory plaintext database to kernel sources before
5# compiling.
6#
7# Usage:
8# 1. The class should be inherited by kernel recipe (e.g. in
9# linux-yocto_%.bbappend).
10# 2. For Linux kernels up to v4.14, build kernel with CONFIG_EXPERT and
11# CONFIG_CFG80211_INTERNAL_REGDB.
12
13DEPENDS += "wireless-regdb-native"
14
15SRCTREECOVEREDTASKS += "do_kernel_add_regdb"
16do_kernel_add_regdb() {
17 cp ${STAGING_LIBDIR_NATIVE}/crda/db.txt ${S}/net/wireless/db.txt
18}
19do_kernel_add_regdb[dirs] = "${S}"
20addtask kernel_add_regdb before do_build after do_configure
diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
index 2ae9e8542..d1c8d5675 100644
--- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
+++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
@@ -22,6 +22,7 @@ do_install() {
22 22
23# Install static regulatory DB in /lib/firmware for kernel to load. 23# Install static regulatory DB in /lib/firmware for kernel to load.
24# This requires Linux kernel >= v4.15. 24# This requires Linux kernel >= v4.15.
25# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe.
25PACKAGES =+ "${PN}-static" 26PACKAGES =+ "${PN}-static"
26RCONFLICTS_${PN} = "${PN}-static" 27RCONFLICTS_${PN} = "${PN}-static"
27 28
@@ -30,4 +31,12 @@ FILES_${PN}-static = " \
30 ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ 31 ${nonarch_base_libdir}/firmware/regulatory.db.p7s \
31" 32"
32 33
34# Native users might want to use the source of regulatory DB.
35# This is for example used by Linux kernel <= v4.14 and kernel_wireless_regdb.bbclass.
36do_install_append_class-native() {
37 install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt
38}
39
33RSUGGESTS_${PN} = "crda" 40RSUGGESTS_${PN} = "crda"
41
42BBCLASSEXTEND = "native"