mac80211: add brcmfmac driver
SVN-Revision: 31786
This commit is contained in:
parent
e3678eb33e
commit
7dd6e5c7bb
2 changed files with 82 additions and 19 deletions
|
@ -1078,32 +1078,56 @@ define KernelPackage/b43legacy/description
|
||||||
Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
|
Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/brcmutil
|
||||||
|
$(call KernelPackage/mac80211/Default)
|
||||||
|
TITLE:=Broadcom IEEE802.11n common driver parts
|
||||||
|
URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
|
||||||
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
|
||||||
|
AUTOLOAD:=$(call AutoLoad,30,brcmutil)
|
||||||
|
MENU:=1
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/brcmutil/description
|
||||||
|
This module contains some common parts needed by Broadcom Wireless drivers brcmsmac and brcmfmac.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/brcmutil/config
|
||||||
|
menu "Configuration"
|
||||||
|
depends on PACKAGE_kmod-brcmutil
|
||||||
|
|
||||||
|
config PACKAGE_BRCM80211_DEBUG
|
||||||
|
bool "Broadcom wireless driver debugging"
|
||||||
|
help
|
||||||
|
Say Y, if you want to debug brcmsmac and brcmfmac wireless driver.
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
endef
|
||||||
|
|
||||||
define KernelPackage/brcmsmac
|
define KernelPackage/brcmsmac
|
||||||
$(call KernelPackage/mac80211/Default)
|
$(call KernelPackage/mac80211/Default)
|
||||||
TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
|
TITLE:=Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
|
||||||
URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
|
URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
|
||||||
DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8
|
DEPENDS+= +kmod-mac80211 +@DRIVER_11N_SUPPORT +!TARGET_brcm47xx:kmod-bcma +kmod-lib-cordic +kmod-lib-crc8 +kmod-brcmutil
|
||||||
FILES:= \
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
|
||||||
$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko \
|
AUTOLOAD:=$(call AutoLoad,31,brcmsmac)
|
||||||
$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
|
|
||||||
AUTOLOAD:=$(call AutoLoad,30,brcmutil brcmsmac)
|
|
||||||
MENU:=1
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/brcmsmac/description
|
define KernelPackage/brcmsmac/description
|
||||||
Kernel modules for Broadcom IEEE802.11n PCIe Wireless cards
|
Kernel module for Broadcom IEEE802.11n PCIe Wireless cards
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/brcmsmac/config
|
define KernelPackage/brcmfmac
|
||||||
menu "Configuration"
|
$(call KernelPackage/mac80211/Default)
|
||||||
depends on PACKAGE_kmod-brcmsmac
|
TITLE:=Broadcom IEEE802.11n USB FullMAC WLAN driver
|
||||||
|
URL:=http://linuxwireless.org/en/users/Drivers/brcm80211
|
||||||
|
DEPENDS+= @USB_SUPPORT +kmod-cfg80211 +@DRIVER_11N_SUPPORT +kmod-brcmutil
|
||||||
|
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
|
||||||
|
AUTOLOAD:=$(call AutoLoad,60,brcmfmac)
|
||||||
|
endef
|
||||||
|
|
||||||
config PACKAGE_BRCM80211_DEBUG
|
define KernelPackage/brcmfmac/description
|
||||||
bool "brcmsmac wireless debugging"
|
Kernel module for Broadcom IEEE802.11n USB Wireless cards
|
||||||
help
|
|
||||||
Say Y, if you want to debug brcmsmac wireless driver.
|
|
||||||
|
|
||||||
endmenu
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
BUILDFLAGS:= \
|
BUILDFLAGS:= \
|
||||||
|
@ -1143,7 +1167,8 @@ BUILDFLAGS:= \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
|
$(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_IWL3945) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965) \
|
$(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO) \
|
$(if $(CONFIG_PACKAGE_kmod-wl12xx),-DCONFIG_WL12XX -DCONFIG_COMPAT_WL12XX_SDIO) \
|
||||||
$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),-DCONFIG_BRCMDBG)
|
$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),-DCONFIG_BRCMDBG) \
|
||||||
|
$(if $(CONFIG_PACKAGE_kmod-brcmfmac),-DCONFIG_BRCMFMAC_USB)
|
||||||
|
|
||||||
MAKE_OPTS:= \
|
MAKE_OPTS:= \
|
||||||
CROSS_COMPILE="$(KERNEL_CROSS)" \
|
CROSS_COMPILE="$(KERNEL_CROSS)" \
|
||||||
|
@ -1275,9 +1300,10 @@ MAKE_OPTS:= \
|
||||||
CONFIG_ATL2= \
|
CONFIG_ATL2= \
|
||||||
CONFIG_ATL1E= \
|
CONFIG_ATL1E= \
|
||||||
CONFIG_ATL1C= \
|
CONFIG_ATL1C= \
|
||||||
CONFIG_BRCMFMAC= \
|
CONFIG_BRCMUTIL=$(if $(CONFIG_PACKAGE_kmod-brcmutil),m) \
|
||||||
CONFIG_BRCMUTIL=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
|
|
||||||
CONFIG_BRCMSMAC=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
|
CONFIG_BRCMSMAC=$(if $(CONFIG_PACKAGE_kmod-brcmsmac),m) \
|
||||||
|
CONFIG_BRCMFMAC=$(if $(CONFIG_PACKAGE_kmod-brcmfmac),m) \
|
||||||
|
CONFIG_BRCMFMAC_USB=$(if $(CONFIG_PACKAGE_kmod-brcmfmac),y) \
|
||||||
CONFIG_BRCMDBG=$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),y) \
|
CONFIG_BRCMDBG=$(if $(CONFIG_PACKAGE_BRCM80211_DEBUG),y) \
|
||||||
KLIB_BUILD="$(LINUX_DIR)" \
|
KLIB_BUILD="$(LINUX_DIR)" \
|
||||||
MODPROBE=true \
|
MODPROBE=true \
|
||||||
|
@ -1533,6 +1559,13 @@ define KernelPackage/brcmsmac/install
|
||||||
$(1)/lib/firmware/brcm/
|
$(1)/lib/firmware/brcm/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/brcmfmac/install
|
||||||
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
||||||
|
$(INSTALL_DATA) \
|
||||||
|
$(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/brcmfmac43236b.bin \
|
||||||
|
$(1)/lib/firmware/brcm/
|
||||||
|
endef
|
||||||
|
|
||||||
$(eval $(call KernelPackage,ath5k))
|
$(eval $(call KernelPackage,ath5k))
|
||||||
$(eval $(call KernelPackage,lib80211))
|
$(eval $(call KernelPackage,lib80211))
|
||||||
$(eval $(call KernelPackage,libertas-usb))
|
$(eval $(call KernelPackage,libertas-usb))
|
||||||
|
@ -1566,7 +1599,9 @@ $(eval $(call KernelPackage,ath))
|
||||||
$(eval $(call KernelPackage,carl9170))
|
$(eval $(call KernelPackage,carl9170))
|
||||||
$(eval $(call KernelPackage,b43))
|
$(eval $(call KernelPackage,b43))
|
||||||
$(eval $(call KernelPackage,b43legacy))
|
$(eval $(call KernelPackage,b43legacy))
|
||||||
|
$(eval $(call KernelPackage,brcmutil))
|
||||||
$(eval $(call KernelPackage,brcmsmac))
|
$(eval $(call KernelPackage,brcmsmac))
|
||||||
|
$(eval $(call KernelPackage,brcmfmac))
|
||||||
$(eval $(call KernelPackage,net-libipw))
|
$(eval $(call KernelPackage,net-libipw))
|
||||||
$(eval $(call KernelPackage,net-ipw2100))
|
$(eval $(call KernelPackage,net-ipw2100))
|
||||||
$(eval $(call KernelPackage,net-ipw2200))
|
$(eval $(call KernelPackage,net-ipw2200))
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
--- a/drivers/net/wireless/brcm80211/brcmfmac/usb.c
|
||||||
|
+++ b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
#include <linux/uaccess.h>
|
||||||
|
#include <linux/firmware.h>
|
||||||
|
#include <linux/usb.h>
|
||||||
|
+#include <linux/vmalloc.h>
|
||||||
|
#include <net/cfg80211.h>
|
||||||
|
|
||||||
|
#include <defs.h>
|
||||||
|
@@ -1239,7 +1240,7 @@ static int brcmf_usb_get_fw(struct brcmf
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- devinfo->image = kmalloc(fw->size, GFP_ATOMIC); /* plus nvram */
|
||||||
|
+ devinfo->image = vmalloc(fw->size); /* plus nvram */
|
||||||
|
if (!devinfo->image)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@@ -1602,7 +1603,7 @@ static struct usb_driver brcmf_usbdrvr =
|
||||||
|
void brcmf_usb_exit(void)
|
||||||
|
{
|
||||||
|
usb_deregister(&brcmf_usbdrvr);
|
||||||
|
- kfree(g_image.data);
|
||||||
|
+ vfree(g_image.data);
|
||||||
|
g_image.data = NULL;
|
||||||
|
g_image.len = 0;
|
||||||
|
}
|
Loading…
Reference in a new issue