Re: [linux-yocto] [kernel-cache][PATCH] features/wifi: Add WiFi driver fragments for various vendors/interfaces

2018-03-22 Thread Bruce Ashfield

On 03/22/2018 12:00 PM, Bruce Ashfield wrote:

On 03/22/2018 04:49 AM, Nathan Rossi wrote:
On 22 March 2018 at 15:33, Bruce Ashfield 
 wrote:

On 03/20/2018 10:10 AM, Nathan Rossi wrote:


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.



These changes look good to me. I'll let them sit on the list for
another day or so, and see if anyone else has any comments.



Signed-off-by: Nathan Rossi 
---
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 




Interesting. I'm not sure how they ended up getting dropped or
lost, but when I merge this, it will go into the versioned
branches and master, so it can't be lost again.



Also whilst not in this patch, if accepted these fragments could 
replace

the common-pc-wifi.cfg to reduce duplication.



Indeed. We can look at that in follow up commits.



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.



What configuration were you building to trigger those errors ? Just
qemux86-64 ? something else ? The patches should have been ignored,
as long as the fragment wasn't directly on the SRC_URI.


Just adding iwlwifi.scc to KERNEL_FEATURES either directly or via the
include in one of the .scc files of this patch causes the iwlwifi
patches to apply.

KERNEL_FEATURES_append = " features/iwlwifi/iwlwifi.scc"

| DEBUG: Executing shell function do_patch
| (1/310) iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
| [INFO]: check of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch 


with "git am" did not pass, trying reduced context.
| [INFO]: Context reduced git-am of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch 


with "git am" did not work, trying "apply".
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:26: 


indent with spaces.
|  * struct iwl_nvm_get_info - request to get NVM data
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:27: 


indent with spaces.
|  */
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:33: 


indent with spaces.
|  * struct iwl_nvm_get_info_general - general NVM data
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:34: 


indent with spaces.
|  * @flags: 1 - empty, 0 - valid
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:35: 


indent with spaces.
|  * @nvm_version: nvm version
| error: patch failed: 
drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h:345
| error: drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h: patch does 
not apply

| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/fw.c:738
| error: drivers/net/wireless/intel/iwlwifi/mvm/fw.c: patch does not 
apply

| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/mvm.h:1390
| error: drivers/net/wireless/intel/iwlwifi/mvm/mvm.h: patch does not 
apply

| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/nvm.c:374
| error: drivers/net/wireless/intel/iwlwifi/mvm/nvm.c: patch does not 
apply

| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/ops.c:483
| error: drivers/net/wireless/intel/iwlwifi/mvm/ops.c: patch does not 
apply

| [ERROR]: Application of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch 


failed.
|  Patch needs to be refreshed. Sample resolution script:
|  .git/rebase-apply/resolve_rejects
| ERROR: Could not apply patches for qemux86-64.

I thought

Re: [linux-yocto] [kernel-cache][PATCH] features/wifi: Add WiFi driver fragments for various vendors/interfaces

2018-03-22 Thread Bruce Ashfield

On 03/22/2018 04:49 AM, Nathan Rossi wrote:

On 22 March 2018 at 15:33, Bruce Ashfield  wrote:

On 03/20/2018 10:10 AM, Nathan Rossi wrote:


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.



These changes look good to me. I'll let them sit on the list for
another day or so, and see if anyone else has any comments.



Signed-off-by: Nathan Rossi 
---
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



Interesting. I'm not sure how they ended up getting dropped or
lost, but when I merge this, it will go into the versioned
branches and master, so it can't be lost again.



Also whilst not in this patch, if accepted these fragments could replace
the common-pc-wifi.cfg to reduce duplication.



Indeed. We can look at that in follow up commits.



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.



What configuration were you building to trigger those errors ? Just
qemux86-64 ? something else ? The patches should have been ignored,
as long as the fragment wasn't directly on the SRC_URI.


Just adding iwlwifi.scc to KERNEL_FEATURES either directly or via the
include in one of the .scc files of this patch causes the iwlwifi
patches to apply.

KERNEL_FEATURES_append = " features/iwlwifi/iwlwifi.scc"

| DEBUG: Executing shell function do_patch
| (1/310) iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
| [INFO]: check of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
with "git am" did not pass, trying reduced context.
| [INFO]: Context reduced git-am of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
with "git am" did not work, trying "apply".
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:26:
indent with spaces.
|  * struct iwl_nvm_get_info - request to get NVM data
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:27:
indent with spaces.
|  */
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:33:
indent with spaces.
|  * struct iwl_nvm_get_info_general - general NVM data
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:34:
indent with spaces.
|  * @flags: 1 - empty, 0 - valid
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:35:
indent with spaces.
|  * @nvm_version: nvm version
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h:345
| error: drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/fw.c:738
| error: drivers/net/wireless/intel/iwlwifi/mvm/fw.c: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/mvm.h:1390
| error: drivers/net/wireless/intel/iwlwifi/mvm/mvm.h: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/nvm.c:374
| error: drivers/net/wireless/intel/iwlwifi/mvm/nvm.c: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/ops.c:483
| error: drivers/net/wireless/intel/iwlwifi/mvm/ops.c: patch does not apply
| [ERROR]: Application of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
failed.
|  Patch needs to be refreshed. Sample resolution script:
|  .git/rebase-apply/resolve_rejects
| ERROR: Could not apply patches for qemux86-64.

I thought this behaviour was intentional given this part of
kernel-yocto.bbclass?
http://git.openemb

Re: [linux-yocto] [kernel-cache][PATCH] features/wifi: Add WiFi driver fragments for various vendors/interfaces

2018-03-22 Thread Nathan Rossi
On 22 March 2018 at 15:33, Bruce Ashfield  wrote:
> On 03/20/2018 10:10 AM, Nathan Rossi wrote:
>>
>> 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.
>>
>
> These changes look good to me. I'll let them sit on the list for
> another day or so, and see if anyone else has any comments.
>
>
>> Signed-off-by: Nathan Rossi 
>> ---
>> 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
>
>
> Interesting. I'm not sure how they ended up getting dropped or
> lost, but when I merge this, it will go into the versioned
> branches and master, so it can't be lost again.
>
>>
>> Also whilst not in this patch, if accepted these fragments could replace
>> the common-pc-wifi.cfg to reduce duplication.
>
>
> Indeed. We can look at that in follow up commits.
>
>>
>> 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.
>
>
> What configuration were you building to trigger those errors ? Just
> qemux86-64 ? something else ? The patches should have been ignored,
> as long as the fragment wasn't directly on the SRC_URI.

Just adding iwlwifi.scc to KERNEL_FEATURES either directly or via the
include in one of the .scc files of this patch causes the iwlwifi
patches to apply.

KERNEL_FEATURES_append = " features/iwlwifi/iwlwifi.scc"

| DEBUG: Executing shell function do_patch
| (1/310) iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
| [INFO]: check of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
with "git am" did not pass, trying reduced context.
| [INFO]: Context reduced git-am of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
with "git am" did not work, trying "apply".
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:26:
indent with spaces.
|  * struct iwl_nvm_get_info - request to get NVM data
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:27:
indent with spaces.
|  */
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:33:
indent with spaces.
|  * struct iwl_nvm_get_info_general - general NVM data
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:34:
indent with spaces.
|  * @flags: 1 - empty, 0 - valid
| 
/storage/nathan/build/test-wifi/tmp-glibc/work-shared/qemux86-64/kernel-source/.git/rebase-apply/patch:35:
indent with spaces.
|  * @nvm_version: nvm version
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h:345
| error: drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/fw.c:738
| error: drivers/net/wireless/intel/iwlwifi/mvm/fw.c: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/mvm.h:1390
| error: drivers/net/wireless/intel/iwlwifi/mvm/mvm.h: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/nvm.c:374
| error: drivers/net/wireless/intel/iwlwifi/mvm/nvm.c: patch does not apply
| error: patch failed: drivers/net/wireless/intel/iwlwifi/mvm/ops.c:483
| error: drivers/net/wireless/intel/iwlwifi/mvm/ops.c: patch does not apply
| [ERROR]: Application of
.kernel-meta//patches//features/iwlwifi/iwlwifi-mvm-support-getting-nvm-data-from-firmware.patch
failed.
|  Patch needs to be refreshed. Sample resolution script:
|  .git/rebase-apply/resolve_rejects
| ERROR: Could not apply patches for qemux86-64.

I thought this behaviour was

Re: [linux-yocto] [kernel-cache][PATCH] features/wifi: Add WiFi driver fragments for various vendors/interfaces

2018-03-21 Thread Bruce Ashfield

On 03/20/2018 10:10 AM, Nathan Rossi wrote:

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.



These changes look good to me. I'll let them sit on the list for
another day or so, and see if anyone else has any comments.



Signed-off-by: Nathan Rossi 
---
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


Interesting. I'm not sure how they ended up getting dropped or
lost, but when I merge this, it will go into the versioned
branches and master, so it can't be lost again.



Also whilst not in this patch, if accepted these fragments could replace
the common-pc-wifi.cfg to reduce duplication.


Indeed. We can look at that in follow up commits.



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.


What configuration were you building to trigger those errors ? Just
qemux86-64 ? something else ? The patches should have been ignored,
as long as the fragment wasn't directly on the SRC_URI.

Bruce


---
  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 00..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 00..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 00..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

[linux-yocto] [kernel-cache][PATCH] features/wifi: Add WiFi driver fragments for various vendors/interfaces

2018-03-20 Thread Nathan Rossi
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 
---
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 00..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 00..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 00..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 00..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 00..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_B