This patch will add options to select SDIO and USB support in the brcmfmac driver, and not tie it to only support USB. As the driver doesn't build the host interface code into separate .ko, the required ones are selected via config options.

PCIe support is not added now, can be added later. As of now, only sunxi would use the SDIO support for the Ampak modules.

Signed-off-by: Zoltan HERPAI <wigy...@uid0.hu>
---
Index: package/kernel/mac80211/Makefile
===================================================================
--- package/kernel/mac80211/Makefile    (revision 43857)
+++ package/kernel/mac80211/Makefile    (working copy)
@@ -1477,17 +1477,36 @@

 define KernelPackage/brcmfmac
   $(call KernelPackage/mac80211/Default)
-  TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
+  TITLE:=Broadcom IEEE802.11n USB/SDIO FullMAC WLAN driver
   URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
-  DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-cfg80211 +@DRIVER_11N_SUPPORT 
+kmod-brcmutil
+  DEPENDS+= @(USB_SUPPORT||TARGET_sunxi) +kmod-cfg80211 +@DRIVER_11N_SUPPORT 
+kmod-brcmutil
   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
   AUTOLOAD:=$(call AutoProbe,brcmfmac)
 endef

 define KernelPackage/brcmfmac/description
- Kernel module for Broadcom IEEE802.11n USB Wireless cards
+ Kernel module for Broadcom IEEE802.11n USB/SDIO Wireless cards
 endef

+define KernelPackage/brcmfmac/config
+    if PACKAGE_kmod-brcmfmac
+
+               config PACKAGE_BRCMFMAC_SDIO
+                       depends TARGET_sunxi
+                       bool "Broadcom FullMAC SDIO support"
+                       help
+                           Say Y if you want to enable SDIO support for the 
brcmfmac driver.
+
+               config PACKAGE_BRCMFMAC_USB
+                       select PACKAGE_kmod-usb-core
+                       default y
+                       bool "Broadcom FullMAC USB support"
+                       help
+                           Say Y if you want to enable USB support for the 
brcmfmac driver.
+
+    endif
+endef
+
 config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)

 config-y:= \
@@ -1558,8 +1577,9 @@
 config-$(call config_package,brcmutil) += BRCMUTIL
 config-$(call config_package,brcmsmac) += BRCMSMAC
 config-$(call config_package,brcmfmac) += BRCMFMAC
-config-y += BRCMFMAC_USB
+config-$(CONFIG_PACKAGE_BRCMFMAC_USB) += BRCMFMAC_USB
 config-$(CONFIG_PACKAGE_BRCM80211_DEBUG) += BRCMDBG
+config-$(CONFIG_PACKAGE_BRCMFMAC_SDIO) += BRCMFMAC_SDIO

 config-$(call config_package,mac80211-hwsim) += MAC80211_HWSIM

@@ -1969,12 +1989,25 @@

 define KernelPackage/brcmfmac/install
        $(INSTALL_DIR) $(1)/lib/firmware/brcm
+ifeq ($(CONFIG_PACKAGE_BRCMFMAC_USB),y)
        $(INSTALL_DATA) \
                
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
                $(1)/lib/firmware/brcm/
        $(INSTALL_DATA) \
                
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43143.bin \
                $(1)/lib/firmware/brcm/
+endif
+ifeq ($(CONFIG_PACKAGE_BRCMFMAC_SDIO),y)
+       $(INSTALL_DATA) \
+               
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac4329-sdio.bin \
+               $(1)/lib/firmware/brcm/
+       $(INSTALL_DATA) \
+               
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac4330-sdio.bin \
+               $(1)/lib/firmware/brcm/
+       $(INSTALL_DATA) \
+               
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43362-sdio.bin \
+               $(1)/lib/firmware/brcm/
+endif
 endef

 $(eval $(call KernelPackage,adm8211))
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to