This change adds WiFi driver configuration fragments. The fragments are split into vendor and interface files to allow for easy selection of drivers for specific interface types (USB, PCI, SDIO) which is useful for BSPs with specific interfaces. The specific vendor/interface config fragments can be included by specific BSPs in its .scc files.
However .scc files (wifi-*.scc) are provided to allow enabling interface specific or all interfaces drivers via KERNEL_FEATURES or inclusion via other .scc files. And wifi-common.scc is provided to enable the base config options required for all WiFi drivers, which is done to ensure correct configuration for default no config setups (e.g. linux-yocto-tiny). This patch only enables a limited set of drivers, which is based on what the common-pc-wifi.cfg fragment sets as well as some additional drivers, that primarily appear in USB WiFi devices. Signed-off-by: Nathan Rossi <[email protected]> --- These changes are very similar to a set of configuration fragments that were included (?) in minnow branches in ~2013. However they never made it into the current set of configuration fragments. https://lists.yoctoproject.org/pipermail/linux-yocto/2013-November/001393.html Also whilst not in this patch, if accepted these fragments could replace the common-pc-wifi.cfg to reduce duplication. For completeness I have tested these fragments on linux-yocto version v4.14 and v4.15 for qemux86, qemux86-64 and qemuarm builds as well as for the beaglebone-yocto target. For v4.12 compatibility, due to the iwlwifi fragments adding patches (which do not apply correctly to standard/base) the fragments would need to be modified. --- features/wifi/atheros-pci.cfg | 11 +++++++++++ features/wifi/atheros-usb.cfg | 8 ++++++++ features/wifi/broadcom-pci.cfg | 11 +++++++++++ features/wifi/broadcom-sdio.cfg | 11 +++++++++++ features/wifi/broadcom-usb.cfg | 7 +++++++ features/wifi/mediatek-pci.cfg | 3 +++ features/wifi/mediatek-usb.cfg | 3 +++ features/wifi/ralink-pci.cfg | 15 +++++++++++++++ features/wifi/ralink-usb.cfg | 12 ++++++++++++ features/wifi/realtek-pci.cfg | 18 ++++++++++++++++++ features/wifi/realtek-usb.cfg | 11 +++++++++++ features/wifi/wifi-all.scc | 7 +++++++ features/wifi/wifi-common.cfg | 4 ++++ features/wifi/wifi-common.scc | 7 +++++++ features/wifi/wifi-pci.scc | 14 ++++++++++++++ features/wifi/wifi-sdio.scc | 7 +++++++ features/wifi/wifi-usb.scc | 11 +++++++++++ 17 files changed, 160 insertions(+) create mode 100644 features/wifi/atheros-pci.cfg create mode 100644 features/wifi/atheros-usb.cfg create mode 100644 features/wifi/broadcom-pci.cfg create mode 100644 features/wifi/broadcom-sdio.cfg create mode 100644 features/wifi/broadcom-usb.cfg create mode 100644 features/wifi/mediatek-pci.cfg create mode 100644 features/wifi/mediatek-usb.cfg create mode 100644 features/wifi/ralink-pci.cfg create mode 100644 features/wifi/ralink-usb.cfg create mode 100644 features/wifi/realtek-pci.cfg create mode 100644 features/wifi/realtek-usb.cfg create mode 100644 features/wifi/wifi-all.scc create mode 100644 features/wifi/wifi-common.cfg create mode 100644 features/wifi/wifi-common.scc create mode 100644 features/wifi/wifi-pci.scc create mode 100644 features/wifi/wifi-sdio.scc create mode 100644 features/wifi/wifi-usb.scc diff --git a/features/wifi/atheros-pci.cfg b/features/wifi/atheros-pci.cfg new file mode 100644 index 0000000000..1c48a0528a --- /dev/null +++ b/features/wifi/atheros-pci.cfg @@ -0,0 +1,11 @@ +CONFIG_WLAN_VENDOR_ATH=y + +# ath5k +CONFIG_ATH5K=m + +# ath9k +CONFIG_ATH9K=m +CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_PCI=y + diff --git a/features/wifi/atheros-usb.cfg b/features/wifi/atheros-usb.cfg new file mode 100644 index 0000000000..b9767dc164 --- /dev/null +++ b/features/wifi/atheros-usb.cfg @@ -0,0 +1,8 @@ +CONFIG_WLAN_VENDOR_ATH=y + +# ath9k +CONFIG_ATH9K=m +CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=y + diff --git a/features/wifi/broadcom-pci.cfg b/features/wifi/broadcom-pci.cfg new file mode 100644 index 0000000000..2b5abe5842 --- /dev/null +++ b/features/wifi/broadcom-pci.cfg @@ -0,0 +1,11 @@ +CONFIG_WLAN_VENDOR_BROADCOM=y + +# brcm80211 +CONFIG_BRCMUTIL=m +CONFIG_BRCMSMAC=m +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_PCIE=y + +# b43 +CONFIG_B43=m + diff --git a/features/wifi/broadcom-sdio.cfg b/features/wifi/broadcom-sdio.cfg new file mode 100644 index 0000000000..7762ccc61c --- /dev/null +++ b/features/wifi/broadcom-sdio.cfg @@ -0,0 +1,11 @@ +CONFIG_WLAN_VENDOR_BROADCOM=y + +# brcm80211 +CONFIG_BRCMUTIL=m +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_SDIO=y + +# b43 +CONFIG_B43=m +CONFIG_B43_SDIO=y + diff --git a/features/wifi/broadcom-usb.cfg b/features/wifi/broadcom-usb.cfg new file mode 100644 index 0000000000..098933788d --- /dev/null +++ b/features/wifi/broadcom-usb.cfg @@ -0,0 +1,7 @@ +CONFIG_WLAN_VENDOR_BROADCOM=y + +# brcm80211 +CONFIG_BRCMUTIL=m +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_USB=y + diff --git a/features/wifi/mediatek-pci.cfg b/features/wifi/mediatek-pci.cfg new file mode 100644 index 0000000000..f37937ac21 --- /dev/null +++ b/features/wifi/mediatek-pci.cfg @@ -0,0 +1,3 @@ +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT76x2E=m + diff --git a/features/wifi/mediatek-usb.cfg b/features/wifi/mediatek-usb.cfg new file mode 100644 index 0000000000..b2975569ea --- /dev/null +++ b/features/wifi/mediatek-usb.cfg @@ -0,0 +1,3 @@ +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT7601U=m + diff --git a/features/wifi/ralink-pci.cfg b/features/wifi/ralink-pci.cfg new file mode 100644 index 0000000000..8320bd92f7 --- /dev/null +++ b/features/wifi/ralink-pci.cfg @@ -0,0 +1,15 @@ +CONFIG_WLAN_VENDOR_RALINK=y + +# rt2x00 +CONFIG_RT2X00=m + +# pci +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT61PCI=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +config RT2800PCI_RT35XX=y +config RT2800PCI_RT53XX=y +config RT2800PCI_RT3290=y + diff --git a/features/wifi/ralink-usb.cfg b/features/wifi/ralink-usb.cfg new file mode 100644 index 0000000000..25ed907a2b --- /dev/null +++ b/features/wifi/ralink-usb.cfg @@ -0,0 +1,12 @@ +CONFIG_WLAN_VENDOR_RALINK=y + +# rt2x00 +CONFIG_RT2X00=m + +# usb +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y + diff --git a/features/wifi/realtek-pci.cfg b/features/wifi/realtek-pci.cfg new file mode 100644 index 0000000000..df67b85102 --- /dev/null +++ b/features/wifi/realtek-pci.cfg @@ -0,0 +1,18 @@ +CONFIG_WLAN_VENDOR_REALTEK=y + +# rtl818x +CONFIG_RTL8180=m + +# rtl8xxxu +CONFIG_RTL8XXXU=m + +# rtlwifi +CONFIG_RTL_CARDS=y +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m diff --git a/features/wifi/realtek-usb.cfg b/features/wifi/realtek-usb.cfg new file mode 100644 index 0000000000..111ec439cf --- /dev/null +++ b/features/wifi/realtek-usb.cfg @@ -0,0 +1,11 @@ +CONFIG_WLAN_VENDOR_REALTEK=y + +# rtl818x +CONFIG_RTL8187=y + +# rtl8xxxu +CONFIG_RTL8XXXU=m + +# rtlwifi +CONFIG_RTL_CARDS=y +CONFIG_RTL8192CU=m diff --git a/features/wifi/wifi-all.scc b/features/wifi/wifi-all.scc new file mode 100644 index 0000000000..0fe6f931f6 --- /dev/null +++ b/features/wifi/wifi-all.scc @@ -0,0 +1,7 @@ +define KFEATURE_DESCRIPTION "Enable All WiFi Drivers" +define KFEATURE_COMPATIBILITY board + +include wifi-pci.scc +include wifi-sdio.scc +include wifi-usb.scc + diff --git a/features/wifi/wifi-common.cfg b/features/wifi/wifi-common.cfg new file mode 100644 index 0000000000..c5b019ebef --- /dev/null +++ b/features/wifi/wifi-common.cfg @@ -0,0 +1,4 @@ +CONFIG_NET=y +CONFIG_NETDEVICES=y +CONFIG_WIRELESS=y +CONFIG_WLAN=y diff --git a/features/wifi/wifi-common.scc b/features/wifi/wifi-common.scc new file mode 100644 index 0000000000..4f7633ce24 --- /dev/null +++ b/features/wifi/wifi-common.scc @@ -0,0 +1,7 @@ +define KFEATURE_DESCRIPTION "Enable Common WiFi Kernel Features" +define KFEATURE_COMPATIBILITY board + +kconf hardware wifi-common.cfg + +include features/mac80211/mac80211.scc + diff --git a/features/wifi/wifi-pci.scc b/features/wifi/wifi-pci.scc new file mode 100644 index 0000000000..a2d7ff5a6a --- /dev/null +++ b/features/wifi/wifi-pci.scc @@ -0,0 +1,14 @@ +define KFEATURE_DESCRIPTION "Enable PCI(e) WiFi Drivers" +define KFEATURE_COMPATIBILITY board + +include wifi-common.scc + +kconf hardware atheros-pci.cfg +kconf hardware broadcom-pci.cfg +kconf hardware mediatek-pci.cfg +kconf hardware ralink-pci.cfg +kconf hardware realtek-pci.cfg + +include features/iwlwifi/iwlwifi.scc +include features/iwlegacy/iwlegacy.scc + diff --git a/features/wifi/wifi-sdio.scc b/features/wifi/wifi-sdio.scc new file mode 100644 index 0000000000..23843d0367 --- /dev/null +++ b/features/wifi/wifi-sdio.scc @@ -0,0 +1,7 @@ +define KFEATURE_DESCRIPTION "Enable SDIO WiFi Drivers" +define KFEATURE_COMPATIBILITY board + +include wifi-common.scc + +kconf hardware broadcom-sdio.cfg + diff --git a/features/wifi/wifi-usb.scc b/features/wifi/wifi-usb.scc new file mode 100644 index 0000000000..9f9bafd4c9 --- /dev/null +++ b/features/wifi/wifi-usb.scc @@ -0,0 +1,11 @@ +define KFEATURE_DESCRIPTION "Enable USB WiFi Drivers" +define KFEATURE_COMPATIBILITY board + +include wifi-common.scc + +kconf hardware atheros-usb.cfg +kconf hardware broadcom-usb.cfg +kconf hardware mediatek-usb.cfg +kconf hardware ralink-usb.cfg +kconf hardware realtek-usb.cfg + -- 2.16.2 -- _______________________________________________ linux-yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/linux-yocto
