[OpenWrt-Devel] [RFC PATCH] mac80211: brcmfmac: separate SDIO and USB support

Zoltan HERPAI wigyori at uid0.hu
Wed Jan 7 14:37:44 EST 2015


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 <wigyori at 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 + at DRIVER_11N_SUPPORT +kmod-brcmutil
+  DEPENDS+= @(USB_SUPPORT||TARGET_sunxi) +kmod-cfg80211 + at 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 at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list