mac80211: fix build problems with kmod-mac80211=n
[openwrt.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=mac80211
12
13 PKG_VERSION:=2010-03-03
14 PKG_RELEASE:=3
15 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
16 #       http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
17 #       http://wireless.kernel.org/download/compat-wireless-2.6
18 PKG_MD5SUM:=af8da65ca4c25b1b69e3d2896d2bbb2f
19
20 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
21 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
22
23 PKG_CONFIG_DEPENDS:= \
24         CONFIG_PACKAGE_kmod-mac80211 \
25         CONFIG_PACKAGE_MAC80211_DEBUGFS \
26         CONFIG_PACKAGE_ATH9K_USE_MINSTREL \
27         CONFIG_PACKAGE_ATH_DEBUG \
28         CONFIG_ATH_USER_REGD \
29
30 include $(INCLUDE_DIR)/package.mk
31
32 WMENU:=Wireless Drivers
33
34 define KernelPackage/mac80211/Default
35   SUBMENU:=$(WMENU)
36   URL:=http://linuxwireless.org/
37   MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
38   DEPENDS:=@LINUX_2_6 @(!(TARGET_avr32||TARGET_ep93xx||TARGET_ps3||TARGET_pxcab)||BROKEN)
39 endef
40
41 define KernelPackage/cfg80211
42   $(call KernelPackage/mac80211/Default)
43   TITLE:=cfg80211 - wireless configuration API
44   DEPENDS+= +wireless-tools +iw @!LINUX_2_6_25
45 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1) 
46   FILES:= \
47         $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
48         $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
49   AUTOLOAD:=$(call AutoLoad,20,compat cfg80211)
50 else 
51   FILES:= \
52         $(PKG_BUILD_DIR)/compat/compat.$(LINUX_KMOD_SUFFIX) \
53         $(PKG_BUILD_DIR)/compat/compat_firmware_class.$(LINUX_KMOD_SUFFIX) \
54         $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
55   AUTOLOAD:=$(call AutoLoad,20,compat compat_firmware_class cfg80211)
56 endif
57 endef
58
59 define KernelPackage/cfg80211/description
60 cfg80211 is the Linux wireless LAN (802.11) configuration API.
61 endef
62
63 define KernelPackage/mac80211
64   $(call KernelPackage/mac80211/Default)
65   TITLE:=Linux 802.11 Wireless Networking Stack
66   DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
67   FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX)
68   AUTOLOAD:=$(call AutoLoad,21,mac80211)
69 endef
70
71 define KernelPackage/mac80211/config
72         source "$(SOURCE)/Config.in"
73 endef
74
75 define KernelPackage/mac80211/description
76 Generic IEEE 802.11 Networking Stack (mac80211)
77 endef
78
79 # Prism54 drivers
80 P54PCIFW:=2.13.12.0.arm
81 P54USBFW:=2.13.24.0.lm87.arm
82
83 define Download/p54usb
84   FILE:=$(P54USBFW)
85   URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
86   MD5SUM:=8e8ab005a4f8f0123bcdc51bc25b47f6
87 endef
88 $(eval $(call Download,p54usb))
89
90 define Download/p54pci
91   FILE:=$(P54PCIFW)
92   URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
93   MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
94 endef
95 $(eval $(call Download,p54pci))
96
97 define KernelPackage/p54/Default
98   $(call KernelPackage/mac80211/Default)
99   TITLE:=Prism54 Drivers
100 endef
101
102 define KernelPackage/p54/description
103   Kernel module for Prism54 chipsets (mac80211)
104 endef
105
106 define KernelPackage/p54-common
107   $(call KernelPackage/p54/Default)
108   DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
109   TITLE+= (COMMON)
110   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
111   AUTOLOAD:=$(call AutoLoad,30,p54common)
112 endef
113
114 define KernelPackage/p54-pci
115   $(call KernelPackage/p54/Default)
116   TITLE+= (PCI)
117   DEPENDS+= @PCI_SUPPORT +kmod-p54-common
118   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
119   AUTOLOAD:=$(call AutoLoad,31,p54pci)
120 endef
121
122 define KernelPackage/p54-usb
123   $(call KernelPackage/p54/Default)
124   TITLE+= (USB)
125   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
126   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
127   AUTOLOAD:=$(call AutoLoad,31,p54usb)
128 endef
129
130 # Ralink rt2x00 drivers
131 RT61FW:=RT61_Firmware_V1.2.zip
132 RT71FW:=RT71W_Firmware_V1.8.zip
133 RT2860FW:=RT2860_Firmware_V11.zip
134 RT2870FW:=RT2870_Firmware_V8.zip
135
136 define Download/rt61
137   FILE:=$(RT61FW)
138   URL:=http://www.ralinktech.com.tw/data/
139   MD5SUM:=d4c690c93b470bc9a681297c2adc6281
140 endef
141 $(eval $(call Download,rt61))
142
143 define Download/rt71w
144   FILE:=$(RT71FW)
145   URL:=http://www.ralinktech.com.tw/data/
146   MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
147 endef
148 $(eval $(call Download,rt71w))
149
150 define Download/rt2860
151   FILE:=$(RT2860FW)
152   URL:=http://www.ralinktech.com.tw/data/drivers
153   MD5SUM:=440a81756a52c53528f16faa41c40124
154 endef
155 $(eval $(call Download,rt2860))
156
157 define Download/rt2870
158   FILE:=$(RT2870FW)
159   URL:=http://www.ralinktech.com.tw/data/drivers
160   MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
161 endef
162 $(eval $(call Download,rt2870))
163
164 AR9170FW:=ar9170.fw
165
166 define Download/ar9170
167   FILE:=$(AR9170FW)
168   URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
169   MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
170 endef
171 $(eval $(call Download,ar9170))
172
173 define KernelPackage/rt2x00/Default
174   $(call KernelPackage/mac80211/Default)
175   TITLE:=Ralink Drivers for RT2x00 cards
176 endef
177
178 define KernelPackage/rt2x00-lib
179 $(call KernelPackage/rt2x00/Default)
180   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-mac80211 +kmod-crc-itu-t
181   TITLE+= (LIB)
182   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
183   AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
184 endef
185
186 define KernelPackage/rt2x00-pci
187 $(call KernelPackage/rt2x00/Default)
188   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
189   TITLE+= (PCI)
190   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
191   AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
192 endef
193
194 define KernelPackage/rt2x00-usb
195 $(call KernelPackage/rt2x00/Default)
196   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
197   TITLE+= (USB)
198   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
199   AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
200 endef
201
202 define KernelPackage/rt2800-lib
203 $(call KernelPackage/rt2x00/Default)
204   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb
205   TITLE+= (rt2800 LIB)
206   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.$(LINUX_KMOD_SUFFIX)
207   AUTOLOAD:=$(call AutoLoad,27,rt2800lib)
208 endef
209
210 define KernelPackage/rt2400-pci
211 $(call KernelPackage/rt2x00/Default)
212   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
213   TITLE+= (RT2400 PCI)
214   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
215   AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
216 endef
217
218 define KernelPackage/rt2500-pci
219 $(call KernelPackage/rt2x00/Default)
220   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
221   TITLE+= (RT2500 PCI)
222   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
223   AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
224 endef
225
226 define KernelPackage/rt2500-usb
227 $(call KernelPackage/rt2x00/Default)
228   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
229   TITLE+= (RT2500 USB)
230   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
231   AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
232 endef
233
234 define KernelPackage/rt61-pci
235 $(call KernelPackage/rt2x00/Default)
236   DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
237   TITLE+= (RT2x61 PCI)
238   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
239   AUTOLOAD:=$(call AutoLoad,27,rt61pci)
240 endef
241
242 define KernelPackage/rt73-usb
243   $(call KernelPackage/rt2x00/Default)
244   DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
245   TITLE+= (RT73 USB)
246   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
247   AUTOLOAD:=$(call AutoLoad,27,rt73usb)
248 endef
249
250 define KernelPackage/rt2800-pci
251 $(call KernelPackage/rt2x00/Default)
252   DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt
253   TITLE+= (RT2860 PCI)
254   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
255   AUTOLOAD:=$(call AutoLoad,28,rt2800pci)
256 endef
257
258 define KernelPackage/rt2800-usb
259 $(call KernelPackage/rt2x00/Default)
260   DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt
261   TITLE+= (RT2870 USB)
262   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
263   AUTOLOAD:=$(call AutoLoad,28,rt2800usb)
264 endef
265
266 define KernelPackage/rtl818x/Default
267   $(call KernelPackage/mac80211/Default)
268   TITLE:=Realtek Drivers for RTL818x devices
269   URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
270   DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
271 endef
272
273 define KernelPackage/rtl8180
274   $(call KernelPackage/rtl818x/Default)
275   DEPENDS+= @PCI_SUPPORT
276   TITLE+= (RTL8180 PCI)
277   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.$(LINUX_KMOD_SUFFIX)
278   AUTOLOAD:=$(call AutoLoad,27,rtl8180)
279 endef
280
281 define KernelPackage/rtl8187
282 $(call KernelPackage/rtl818x/Default)
283   DEPENDS+= @USB_SUPPORT
284   TITLE+= (RTL8187 USB)
285   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.$(LINUX_KMOD_SUFFIX)
286   AUTOLOAD:=$(call AutoLoad,27,rtl8187)
287 endef
288
289 ZD1211FW_NAME:=zd1211-firmware
290 ZD1211FW_VERSION:=1.4
291 define Download/zd1211rw
292   FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
293   URL:=@SF/zd1211/
294   MD5SUM:=19f28781d76569af8551c9d11294c870
295 endef
296 $(eval $(call Download,zd1211rw))
297
298 define KernelPackage/zd1211rw
299   $(call KernelPackage/mac80211/Default)
300   TITLE:=Zydas ZD1211 support
301   DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
302   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
303   AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
304 endef
305
306 define KernelPackage/ath/config
307
308 config ATH_USER_REGD
309         bool "Force Atheros drivers to respect the user's regdomain settings"
310         depends on PACKAGE_kmod-ath
311         help
312                 Atheros' idea of regulatory handling is that the EEPROM of the card defines
313                 the regulatory limits and the user is only allowed to restrict the settings
314                 even further, even if the country allows frequencies or power levels that
315                 are forbidden by the EEPROM settings.
316                 Select this option if you want the driver to respect the user's decision about
317                 regulatory settings.
318
319 config PACKAGE_ATH_DEBUG
320         bool "Atheros wireless debugging"
321         depends on PACKAGE_kmod-ath
322         help
323                 Say Y, if you want to debug atheros wireless drivers.
324                 Right now only ath9k makes use of this.
325 endef
326
327 define KernelPackage/ath
328   $(call KernelPackage/mac80211/Default)
329   TITLE:=Atheros common driver part
330   DEPENDS+= @PCI_SUPPORT +kmod-mac80211
331   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
332   AUTOLOAD:=$(call AutoLoad,26,ath)
333 endef
334
335 define KernelPackage/ath/description
336  This module contains some common parts needed by Atheros Wireless drivers.
337 endef
338
339 define KernelPackage/ath5k
340   $(call KernelPackage/mac80211/Default)
341   TITLE:=Atheros 5xxx wireless cards support
342   URL:=http://linuxwireless.org/en/users/Drivers/ath5k
343   DEPENDS+= +kmod-ath
344   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
345   AUTOLOAD:=$(call AutoLoad,27,ath5k)
346 endef
347
348 define KernelPackage/ath5k/description
349  This module adds support for wireless adapters based on
350  Atheros 5xxx chipset.
351 endef
352
353 define KernelPackage/ath9k
354   $(call KernelPackage/mac80211/Default)
355   TITLE:=Atheros 802.11n wireless cards support
356   URL:=http://linuxwireless.org/en/users/Drivers/ath9k
357   DEPENDS+= +kmod-ath
358   FILES:= \
359         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_common.$(LINUX_KMOD_SUFFIX) \
360         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
361         $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
362   AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
363 endef
364
365 define KernelPackage/ath9k/description
366 This module adds support for wireless adapters based on
367 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
368 endef
369
370 define KernelPackage/ath9k/config
371         source "$(SOURCE)/Config.in.ath9k"
372 endef
373
374 USB8388FW_NAME:=usb8388
375 USB8388FW_VERSION:=5.110.22.p23
376
377 define Download/usb8388
378   URL:=http://dev.laptop.org/pub/firmware/libertas/
379   FILE:=$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin
380   MD5SUM=5e38f55719df3d0c58dd3bd02575a09c
381 endef
382 $(eval $(call Download,usb8388))
383
384 define KernelPackage/libertas
385   $(call KernelPackage/mac80211/Default)
386   DEPENDS+= @USB_SUPPORT +kmod-mac80211 +kmod-usb-core +kmod-lib80211
387   TITLE:=Marvell 88W8015 Wireless Driver
388   FILES:= \
389         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/libertas.$(LINUX_KMOD_SUFFIX) \
390         $(PKG_BUILD_DIR)/drivers/net/wireless/libertas/usb8xxx.$(LINUX_KMOD_SUFFIX)
391   AUTOLOAD:=$(call AutoLoad,27,libertas usb8xxx)
392 endef
393
394
395 define KernelPackage/ar9170
396   $(call KernelPackage/mac80211/Default)
397   TITLE:=Atheros AR9170 802.11n USB support
398   URL:=http://wireless.kernel.org/en/users/Drivers/ar9170
399   DEPENDS+= @USB_SUPPORT @!LINUX_2_6_25 +kmod-ath +kmod-usb-core
400   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar9170/ar9170usb.$(LINUX_KMOD_SUFFIX)
401   AUTOLOAD:=$(call AutoLoad,27,ar9170usb)
402 endef
403
404 define KernelPackage/ar9170/description
405  This is a driver for the Atheros "otus" 802.11n USB devices.
406 endef
407
408 define KernelPackage/mac80211-hwsim
409   $(call KernelPackage/mac80211/Default)
410   TITLE:=mac80211 HW simulation device
411   DEPENDS+= +kmod-mac80211
412   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
413   AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
414 endef
415
416 define KernelPackage/net-libipw
417   $(call KernelPackage/mac80211/Default)
418   TITLE:=libipw for ipw2100 and ipw2200
419   DEPENDS:=@PCI_SUPPORT +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-crypto-michael-mic +kmod-lib80211 +kmod-cfg80211
420   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/libipw.$(LINUX_KMOD_SUFFIX)
421   AUTOLOAD:=$(call AutoLoad,49,libipw)
422 endef
423
424 define KernelPackage/net-libipw/description
425  Hardware independent IEEE 802.11 networking stack for ipw2100 and ipw2200.
426 endef
427
428 IPW2100_NAME:=ipw2100-fw
429 IPW2100_VERSION:=1.3
430
431 define Download/net-ipw2100
432   URL:=http://bughost.org/firmware/
433   FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
434   MD5SUM=46aa75bcda1a00efa841f9707bbbd113
435 endef
436 $(eval $(call Download,net-ipw2100))
437
438 define KernelPackage/net-ipw2100
439   $(call KernelPackage/mac80211/Default)
440   TITLE:=Intel IPW2100 driver
441   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
442   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2100.$(LINUX_KMOD_SUFFIX)
443   AUTOLOAD:=$(call AutoLoad,50,ipw2100)
444 endef
445
446 define KernelPackage/net-ipw2100/description
447  Kernel support for Intel IPW2100
448  Includes:
449  - ipw2100
450 endef
451
452 IPW2200_NAME:=ipw2200-fw
453 IPW2200_VERSION:=3.1
454
455 define Download/net-ipw2200
456   URL:=http://bughost.org/firmware/
457   FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
458   MD5SUM=eaba788643c7cc7483dd67ace70f6e99
459 endef
460 $(eval $(call Download,net-ipw2200))
461
462 define KernelPackage/net-ipw2200
463   $(call KernelPackage/mac80211/Default)
464   TITLE:=Intel IPW2200 driver
465   DEPENDS:=@PCI_SUPPORT +kmod-net-libipw
466   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ipw2x00/ipw2200.$(LINUX_KMOD_SUFFIX)
467   AUTOLOAD:=$(call AutoLoad,50,ipw2200)
468 endef
469
470 define KernelPackage/net-ipw2200/description
471  Kernel support for Intel IPW2200
472  Includes:
473  - ipw2200
474 endef
475
476 #Broadcom firmware
477 ifneq ($(CONFIG_B43_EXPERIMENTAL),)
478   PKG_B43_FWV4_NAME:=broadcom-wl
479   PKG_B43_FWV4_VERSION:=4.178.10.4
480   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl.o
481   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
482   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
483   PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
484 else
485   PKG_B43_FWV4_NAME:=broadcom-wl
486   PKG_B43_FWV4_VERSION:=4.150.10.5
487   PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
488   PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
489   PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
490   PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
491 endif
492 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
493   PKG_B43_FWV4_NAME:=broadcom-wl
494   PKG_B43_FWV4_VERSION:=5.2
495   PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
496   PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
497   PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
498   PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
499 endif
500
501
502 PKG_B43_FWV3_NAME:=wl_apsta
503 PKG_B43_FWV3_VERSION:=3.130.20.0
504 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
505 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
506 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
507
508 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
509   PKG_B43_FWCUTTER_NAME:=b43-fwcutter
510   PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
511   PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
512   PKG_B43_FWCUTTER_PROTO:=git
513   PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
514   PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
515   PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
516 else
517   PKG_B43_FWCUTTER_NAME:=b43-fwcutter
518   PKG_B43_FWCUTTER_VERSION:=012
519   PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
520   PKG_B43_FWCUTTER_PROTO:=default
521   PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
522   PKG_B43_FWCUTTER_MD5SUM:=69eadf67b459f313a8d6b37aaabef96c
523   PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
524   PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
525 endif
526
527 define Download/b43-common
528   FILE:=$(PKG_B43_FWCUTTER_SOURCE)
529   URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
530   MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
531   PROTO:=$(PKG_B43_FWCUTTER_PROTO)
532   VERSION:=$(PKG_B43_FWCUTTER_VERSION)
533   SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
534 endef
535 $(eval $(call Download,b43-common))
536
537 define Download/b43
538   FILE:=$(PKG_B43_FWV4_SOURCE)
539   URL:=$(PKG_B43_FWV4_SOURCE_URL)
540   MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
541 endef
542 $(eval $(call Download,b43))
543
544 define Download/b43legacy
545   FILE:=$(PKG_B43_FWV3_SOURCE)
546   URL:=$(PKG_B43_FWV3_SOURCE_URL)
547   MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
548 endef
549 $(eval $(call Download,b43legacy))
550
551 define KernelPackage/b43-common
552   $(call KernelPackage/mac80211/Default)
553   TITLE:=Generic stuff for Broadcom wireless devices
554   URL:=http://linuxwireless.org/en/users/Drivers/b43
555   KCONFIG:= \
556         CONFIG_HW_RANDOM=y
557   DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
558 endef
559
560 define KernelPackage/b43
561 $(call KernelPackage/b43-common)
562   TITLE:=Broadcom 43xx wireless support
563   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
564   AUTOLOAD:=$(call AutoLoad,30,b43)
565 endef
566
567 define KernelPackage/b43/config
568         source "$(SOURCE)/Config.in.b43"
569 endef
570
571 define KernelPackage/b43/description
572 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
573 endef
574
575 define KernelPackage/b43legacy
576 $(call KernelPackage/b43-common)
577   TITLE:=Broadcom 43xx-legacy wireless support
578   FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
579   AUTOLOAD:=$(call AutoLoad,30,b43legacy)
580 endef
581
582 define KernelPackage/b43legacy/config
583         source "$(SOURCE)/Config.in.b43legacy"
584 endef
585
586 define KernelPackage/b43legacy/description
587 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
588 endef
589
590 BUILDFLAGS:= \
591         -I$(PKG_BUILD_DIR)/include \
592         $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
593         $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT -DCONFIG_SSB_DRIVER_PCICORE_POSSIBLE -DCONFIG_SSB_DRIVER_PCICORE) \
594         $(if $(CONFIG_PCI),-DCONFIG_SSB_PCIHOST_POSSIBLE -DCONFIG_SSB_PCIHOST) \
595         $(if $(CONFIG_PCI),-DCONFIG_SSB_SPROM) \
596         $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
597         -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \
598         $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS) \
599         $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG) \
600         -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
601         $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \
602         $(if $(CONFIG_PACKAGE_ATH9K_USE_MINSTREL),-DATH9K_USE_MINSTREL)
603
604 MAKE_OPTS:= \
605         CROSS_COMPILE="$(KERNEL_CROSS)" \
606         ARCH="$(LINUX_KARCH)" \
607         EXTRA_CFLAGS="$(BUILDFLAGS)" \
608         $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
609         CONFIG_MAC80211=$(if $(CONFIG_PACKAGE_kmod-mac80211),m) \
610         CONFIG_MAC80211_RC_PID=y \
611         CONFIG_MAC80211_RC_MINSTREL=y \
612         CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
613         CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
614         CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
615         CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
616         CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
617         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=$(if $(CONFIG_PCI),y) \
618         CONFIG_SSB_DRIVER_PCICORE=$(if $(CONFIG_PCI),y) \
619         CONFIG_SSB_PCIHOST_POSSIBLE=$(if $(CONFIG_PCI),y) \
620         CONFIG_SSB_PCIHOST=$(if $(CONFIG_PCI),y) \
621         CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
622         CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
623         CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
624         CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
625         CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
626         CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
627         CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
628         CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \
629         CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
630         CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
631         CONFIG_ATH9K_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
632         CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
633         CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
634         CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
635         CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
636         CONFIG_P54_SPI= \
637         CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
638         CONFIG_RT2X00_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
639         CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
640         CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
641         CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
642         CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
643         CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
644         CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
645         CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
646         CONFIG_RT2800_LIB=$(if $(CONFIG_PACKAGE_kmod-rt2800-lib),m) \
647         CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
648         CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
649         CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
650         CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
651         CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
652         CONFIG_PCMCIA= \
653         CONFIG_LIBIPW=$(if $(CONFIG_PACKAGE_kmod-net-libipw),m) \
654         CONFIG_LIBERTAS=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
655         CONFIG_LIBERTAS_CS= \
656         CONFIG_LIBERTAS_SDIO= \
657         CONFIG_LIBERTAS_THINFIRM= \
658         CONFIG_LIBERTAS_USB=$(if $(CONFIG_PACKAGE_kmod-libertas),m) \
659         CONFIG_IPW2100=$(if $(CONFIG_PACKAGE_kmod-net-ipw2100),m) \
660         CONFIG_IPW2200=$(if $(CONFIG_PACKAGE_kmod-net-ipw2200),m) \
661         CONFIG_NL80211=y \
662         CONFIG_LIB80211= \
663         CONFIG_LIB80211_CRYPT_WEP= \
664         CONFIG_LIB80211_CRYPT_CCMP= \
665         CONFIG_LIB80211_CRYPT_TKIP= \
666         CONFIG_IWLWIFI= \
667         CONFIG_IWLAGN= \
668         CONFIG_MWL8K= \
669         CONFIG_ATMEL= \
670         CONFIG_PCMCIA_ATMEL= \
671         CONFIG_ADM8211= \
672         CONFIG_USB_NET_RNDIS_HOST= \
673         CONFIG_USB_NET_RNDIS_WLAN= \
674         CONFIG_USB_NET_CDCETHER= \
675         CONFIG_USB_USBNET= \
676         CONFIG_AT76C50X_USB= \
677         CONFIG_WL12XX= \
678         CONFIG_EEPROM_93CX6= \
679         CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
680         CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
681         CONFIG_IWM= \
682         MADWIFI= \
683         OLD_IWL= \
684         KLIB_BUILD="$(LINUX_DIR)" \
685         MODPROBE=: \
686         KLIB=$(TARGET_MODULES_DIR) \
687         KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
688
689 define Build/Prepare
690         rm -rf $(PKG_BUILD_DIR)
691         mkdir -p $(PKG_BUILD_DIR)
692         $(PKG_UNPACK)
693         $(Build/Patch)
694         unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
695         unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
696         -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
697         -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
698         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
699         $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
700         $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
701         rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
702         rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
703         rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
704 endef
705
706 ifneq ($(CONFIG_PACKAGE_kmod-cfg80211),)
707  define Build/Compile/kmod
708         rm -rf $(PKG_BUILD_DIR)/modules
709         $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
710  endef
711 endif
712
713 define Build/Compile
714         $(call Build/Compile/kmod)
715 endef
716
717 define Build/InstallDev
718         mkdir -p \
719                 $(1)/usr/include/mac80211 \
720                 $(1)/usr/include/mac80211/ath \
721                 $(1)/usr/include/net/mac80211
722         $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
723         $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
724         $(CP) $(PKG_BUILD_DIR)/drivers/net/wireless/ath/*.h $(1)/usr/include/mac80211/ath/
725 endef
726
727 define KernelPackage/libertas/install
728         $(INSTALL_DIR) $(1)/lib/firmware
729         $(INSTALL_DATA) $(DL_DIR)/$(USB8388FW_NAME)-$(USB8388FW_VERSION).bin $(1)/lib/firmware/$(USB8388FW_NAME).bin
730 endef
731
732 define KernelPackage/cfg80211/install
733         $(INSTALL_DIR) $(1)/lib/wifi
734         $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
735 endef
736
737 define KernelPackage/p54-pci/install
738         $(INSTALL_DIR) $(1)/lib/firmware
739         $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
740 endef
741
742 define KernelPackage/p54-usb/install
743         $(INSTALL_DIR) $(1)/lib/firmware
744         $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3887usb
745 endef
746
747 define KernelPackage/rt61-pci/install
748         $(INSTALL_DIR) $(1)/lib/firmware
749         $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
750 endef
751
752 define KernelPackage/rt73-usb/install
753         $(INSTALL_DIR) $(1)/lib/firmware
754         $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
755 endef
756
757 define KernelPackage/rt2800-pci/install
758         $(INSTALL_DIR) $(1)/lib/firmware
759         $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
760 endef
761
762 define KernelPackage/rt2800-usb/install
763         $(INSTALL_DIR) $(1)/lib/firmware
764         $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
765 endef
766
767 define KernelPackage/zd1211rw/install
768         $(INSTALL_DIR) $(1)/lib/firmware/zd1211
769         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
770 endef
771
772 define KernelPackage/ar9170/install
773         $(INSTALL_DIR) $(1)/lib/firmware
774         $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
775 endef
776
777 define KernelPackage/net-ipw2100/install
778         $(INSTALL_DIR) $(1)/lib/firmware
779         $(INSTALL_DATA) $(PKG_BUILD_DIR)/ipw2100-$(IPW2100_VERSION)*.fw $(1)/lib/firmware
780 endef
781
782 define KernelPackage/net-ipw2200/install
783         $(INSTALL_DIR) $(1)/lib/firmware
784         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware
785 endef
786
787 define Build/b43-common
788         tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
789         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
790                 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
791         $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
792 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
793         $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
794         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
795         $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
796         $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
797 endif
798         $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
799 endef
800
801 define KernelPackage/b43/install
802         rm -rf $(1)/lib/firmware/
803         $(call Build/b43-common)
804 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
805         tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
806 else
807         tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
808 endif
809         $(INSTALL_DIR) $(1)/lib/firmware/
810 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
811         $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
812         $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
813         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
814         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
815         $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
816 else
817         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
818 endif
819 ifneq ($(CONFIG_B43_FW_SQUASH),)
820         b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
821 endif
822 endef
823
824 define KernelPackage/b43legacy/install
825         $(call Build/b43-common)
826         $(INSTALL_DIR) $(1)/lib/firmware/
827
828         b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
829 ifneq ($(CONFIG_B43LEGACY_FW_SQUASH),)
830         b43-fwsquash.py "G" "$(CONFIG_B43LEGACY_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43legacy"
831 endif
832 endef
833
834 $(eval $(call KernelPackage,ath5k))
835 $(eval $(call KernelPackage,libertas))
836 $(eval $(call KernelPackage,cfg80211))
837 $(eval $(call KernelPackage,mac80211))
838 $(eval $(call KernelPackage,p54-common))
839 $(eval $(call KernelPackage,p54-pci))
840 $(eval $(call KernelPackage,p54-usb))
841 $(eval $(call KernelPackage,rt2x00-lib))
842 $(eval $(call KernelPackage,rt2x00-pci))
843 $(eval $(call KernelPackage,rt2x00-usb))
844 $(eval $(call KernelPackage,rt2800-lib))
845 $(eval $(call KernelPackage,rt2400-pci))
846 $(eval $(call KernelPackage,rt2500-pci))
847 $(eval $(call KernelPackage,rt2500-usb))
848 $(eval $(call KernelPackage,rt61-pci))
849 $(eval $(call KernelPackage,rt73-usb))
850 $(eval $(call KernelPackage,rt2800-pci))
851 $(eval $(call KernelPackage,rt2800-usb))
852 $(eval $(call KernelPackage,rtl8180))
853 $(eval $(call KernelPackage,rtl8187))
854 $(eval $(call KernelPackage,zd1211rw))
855 $(eval $(call KernelPackage,mac80211-hwsim))
856 $(eval $(call KernelPackage,ath9k))
857 $(eval $(call KernelPackage,ath))
858 $(eval $(call KernelPackage,ar9170))
859 $(eval $(call KernelPackage,b43))
860 $(eval $(call KernelPackage,b43legacy))
861 $(eval $(call KernelPackage,net-libipw))
862 $(eval $(call KernelPackage,net-ipw2100))
863 $(eval $(call KernelPackage,net-ipw2200))