ath: add a compile time option that gives the user full control over regulatory setti...
[openwrt/svn-archive/archive.git] / package / mac80211 / Makefile
1 #
2 # Copyright (C) 2007-2009 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:=2009-08-20
14 PKG_RELEASE:=2
15 PKG_SOURCE_URL:= \
16 http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/08 \
17 http://wireless.kernel.org/download/compat-wireless-2.6
18 PKG_MD5SUM:=0b3919adf847a59478cc4fb58e1cb6ec
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
26 include $(INCLUDE_DIR)/package.mk
27
28 WMENU:=Wireless Drivers
29
30 define KernelPackage/mac80211/Default
31 SUBMENU:=$(WMENU)
32 URL:=http://linuxwireless.org/
33 DEPENDS:=@LINUX_2_6 @!TARGET_avr32
34 endef
35
36 define KernelPackage/mac80211
37 $(call KernelPackage/mac80211/Default)
38 TITLE:=Linux 802.11 Wireless Networking Stack
39 DEPENDS+= +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools +@PACKAGE_iw @!LINUX_2_6_21 @!LINUX_2_6_25
40 FILES:= \
41 $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
42 $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
43 AUTOLOAD:=$(call AutoLoad,20,cfg80211 mac80211)
44 endef
45
46 define KernelPackage/mac80211/config
47 source "$(SOURCE)/Config.in"
48 endef
49
50 define KernelPackage/mac80211/description
51 Linux 802.11 Wireless Networking Stack
52 endef
53
54 # Prism54 drivers
55 P54PCIFW:=2.13.12.0.arm
56 P54USBFW:=2.13.24.0.lm86.arm
57
58 define Download/p54usb
59 FILE:=$(P54USBFW)
60 URL:=http://daemonizer.de/prism54/prism54-fw/fw-usb
61 MD5SUM:=2efd50eab43c0d0376765576a54b7a30
62 endef
63 $(eval $(call Download,p54usb))
64
65 define Download/p54pci
66 FILE:=$(P54PCIFW)
67 URL:=http://daemonizer.de/prism54/prism54-fw/fw-softmac
68 MD5SUM:=ff7536af2092b1c4b21315bd103ef4c4
69 endef
70 $(eval $(call Download,p54pci))
71
72 define KernelPackage/p54/Default
73 $(call KernelPackage/mac80211/Default)
74 TITLE:=Prism54 Drivers
75 endef
76
77 define KernelPackage/p54/description
78 Kernel module for Prism54 chipsets (mac80211)
79 endef
80
81 define KernelPackage/p54-common
82 $(call KernelPackage/p54/Default)
83 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211
84 TITLE+= (COMMON)
85 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54common.$(LINUX_KMOD_SUFFIX)
86 AUTOLOAD:=$(call AutoLoad,30,p54common)
87 endef
88
89 define KernelPackage/p54-pci
90 $(call KernelPackage/p54/Default)
91 TITLE+= (PCI)
92 DEPENDS+= @PCI_SUPPORT +kmod-p54-common
93 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54pci.$(LINUX_KMOD_SUFFIX)
94 AUTOLOAD:=$(call AutoLoad,31,p54pci)
95 endef
96
97 define KernelPackage/p54-usb
98 $(call KernelPackage/p54/Default)
99 TITLE+= (USB)
100 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-p54-common
101 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/p54/p54usb.$(LINUX_KMOD_SUFFIX)
102 AUTOLOAD:=$(call AutoLoad,31,p54usb)
103 endef
104
105 # Ralink rt2x00 drivers
106 RT61FW:=RT61_Firmware_V1.2.zip
107 RT71FW:=RT71W_Firmware_V1.8.zip
108 RT2860FW:=RT2860_Firmware_V11.zip
109 RT2870FW:=RT2870_Firmware_V8.zip
110
111 define Download/rt61
112 FILE:=$(RT61FW)
113 URL:=http://www.ralinktech.com.tw/data/
114 MD5SUM:=d4c690c93b470bc9a681297c2adc6281
115 endef
116 $(eval $(call Download,rt61))
117
118 define Download/rt71w
119 FILE:=$(RT71FW)
120 URL:=http://www.ralinktech.com.tw/data/
121 MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
122 endef
123 $(eval $(call Download,rt71w))
124
125 define Download/rt2860
126 FILE:=$(RT2860FW)
127 URL:=http://www.ralinktech.com.tw/data/drivers
128 MD5SUM:=440a81756a52c53528f16faa41c40124
129 endef
130 $(eval $(call Download,rt2860))
131
132 define Download/rt2870
133 FILE:=$(RT2870FW)
134 URL:=http://www.ralinktech.com.tw/data/drivers
135 MD5SUM:=a7aae1d8cfd68e4d86a73000df0b6584
136 endef
137 $(eval $(call Download,rt2870))
138
139 AR9170FW:=ar9170.fw
140
141 define Download/ar9170
142 FILE:=$(AR9170FW)
143 URL:=http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170
144 MD5SUM:=34feec4ec0eae3bb92c7c1ea2dfb4530
145 endef
146 $(eval $(call Download,ar9170))
147
148 define KernelPackage/rt2x00/Default
149 $(call KernelPackage/mac80211/Default)
150 TITLE:=Ralink Drivers for RT2x00 cards
151 endef
152
153 define KernelPackage/rt2x00-lib
154 $(call KernelPackage/rt2x00/Default)
155 DEPENDS+= @PCI_SUPPORT||@USB_SUPPORT +kmod-mac80211 +kmod-crc-itu-t
156 TITLE+= (LIB)
157 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
158 AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib)
159 endef
160
161 define KernelPackage/rt2x00-pci
162 $(call KernelPackage/rt2x00/Default)
163 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
164 TITLE+= (PCI)
165 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
166 AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
167 endef
168
169 define KernelPackage/rt2x00-usb
170 $(call KernelPackage/rt2x00/Default)
171 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
172 TITLE+= (USB)
173 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
174 AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
175 endef
176
177 define KernelPackage/rt2400-pci
178 $(call KernelPackage/rt2x00/Default)
179 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
180 TITLE+= (RT2400 PCI)
181 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
182 AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
183 endef
184
185 define KernelPackage/rt2500-pci
186 $(call KernelPackage/rt2x00/Default)
187 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
188 TITLE+= (RT2500 PCI)
189 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
190 AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
191 endef
192
193 define KernelPackage/rt2500-usb
194 $(call KernelPackage/rt2x00/Default)
195 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
196 TITLE+= (RT2500 USB)
197 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
198 AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
199 endef
200
201 define KernelPackage/rt61-pci
202 $(call KernelPackage/rt2x00/Default)
203 DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
204 TITLE+= (RT2x61 PCI)
205 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
206 AUTOLOAD:=$(call AutoLoad,27,rt61pci)
207 endef
208
209 define KernelPackage/rt73-usb
210 $(call KernelPackage/rt2x00/Default)
211 DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
212 TITLE+= (RT73 USB)
213 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
214 AUTOLOAD:=$(call AutoLoad,27,rt73usb)
215 endef
216
217 define KernelPackage/rt2800-pci
218 $(call KernelPackage/rt2x00/Default)
219 DEPENDS+= +kmod-rt2x00-pci +kmod-crc-ccitt
220 TITLE+= (RT2860 PCI)
221 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.$(LINUX_KMOD_SUFFIX)
222 AUTOLOAD:=$(call AutoLoad,27,rt2800pci)
223 endef
224
225 define KernelPackage/rt2800-usb
226 $(call KernelPackage/rt2x00/Default)
227 DEPENDS+= +kmod-rt2x00-usb +kmod-crc-ccitt
228 TITLE+= (RT2870 USB)
229 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.$(LINUX_KMOD_SUFFIX)
230 AUTOLOAD:=$(call AutoLoad,27,rt2800usb)
231 endef
232
233 define KernelPackage/rtl818x/Default
234 $(call KernelPackage/mac80211/Default)
235 TITLE:=Realtek Drivers for RTL818x devices
236 URL:=http://wireless.kernel.org/en/users/Drivers/rtl8187
237 DEPENDS+= +kmod-eeprom-93cx6 +kmod-mac80211
238 endef
239
240 define KernelPackage/rtl8180
241 $(call KernelPackage/rtl818x/Default)
242 DEPENDS+= @PCI_SUPPORT
243 TITLE+= (RTL8180 PCI)
244 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8180.$(LINUX_KMOD_SUFFIX)
245 AUTOLOAD:=$(call AutoLoad,27,rtl8180)
246 endef
247
248 define KernelPackage/rtl8187
249 $(call KernelPackage/rtl818x/Default)
250 DEPENDS+= @USB_SUPPORT
251 TITLE+= (RTL8187 USB)
252 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187.$(LINUX_KMOD_SUFFIX)
253 AUTOLOAD:=$(call AutoLoad,27,rtl8187)
254 endef
255
256 ZD1211FW_NAME:=zd1211-firmware
257 ZD1211FW_VERSION:=1.4
258 define Download/zd1211rw
259 FILE:=$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
260 URL:=@SF/zd1211/
261 MD5SUM:=19f28781d76569af8551c9d11294c870
262 endef
263 $(eval $(call Download,zd1211rw))
264
265 define KernelPackage/zd1211rw
266 $(call KernelPackage/mac80211/Default)
267 TITLE:=Zydas ZD1211 support
268 DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
269 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
270 AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
271 endef
272
273 define KernelPackage/ath/config
274
275 config ATH_USER_REGD
276 bool "Force Atheros drivers to respect the user's regdomain settings"
277 depends on PACKAGE_kmod-ath
278 help
279 Atheros' idea of regulatory handling is that the EEPROM of the card defines
280 the regulatory limits and the user is only allowed to restrict the settings
281 even further, even if the country allows frequencies or power levels that
282 are forbidden by the EEPROM settings.
283 Select this option if you want the driver to respect the user's decision about
284 regulatory settings.
285 endef
286
287 define KernelPackage/ath
288 $(call KernelPackage/mac80211/Default)
289 TITLE:=Atheros common driver part
290 DEPENDS+= @PCI_SUPPORT +kmod-mac80211
291 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
292 AUTOLOAD:=$(call AutoLoad,26,ath)
293 endef
294
295 define KernelPackage/ath/description
296 This module contains some common parts needed by Atheros Wireless drivers.
297 endef
298
299 define KernelPackage/ath5k
300 $(call KernelPackage/mac80211/Default)
301 TITLE:=Atheros 5xxx wireless cards support
302 URL:=http://linuxwireless.org/en/users/Drivers/ath5k
303 DEPENDS+= +kmod-ath
304 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
305 AUTOLOAD:=$(call AutoLoad,27,ath5k)
306 endef
307
308 define KernelPackage/ath5k/description
309 This module adds support for wireless adapters based on
310 Atheros 5xxx chipset.
311 endef
312
313 define KernelPackage/ath9k
314 $(call KernelPackage/mac80211/Default)
315 TITLE:=Atheros 802.11n wireless cards support
316 URL:=http://linuxwireless.org/en/users/Drivers/ath9k
317 DEPENDS+= +kmod-ath
318 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
319 AUTOLOAD:=$(call AutoLoad,27,ath9k)
320 endef
321
322 define KernelPackage/ath9k/description
323 This module adds support for wireless adapters based on
324 Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
325 endef
326
327 define KernelPackage/ath9k/config
328 source "$(SOURCE)/Config.in.ath9k"
329 endef
330
331 define KernelPackage/ar9170
332 $(call KernelPackage/mac80211/Default)
333 TITLE:=Atheros AR9170 802.11n USB support
334 URL:=http://wireless.kernel.org/en/users/Drivers/ar9170
335 DEPENDS+= @USB_SUPPORT @!LINUX_2_6_25 @!LINUX_2_6_27 +kmod-ath +kmod-usb-core
336 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar9170/ar9170usb.$(LINUX_KMOD_SUFFIX)
337 AUTOLOAD:=$(call AutoLoad,27,ar9170usb)
338 endef
339
340 define KernelPackage/ar9170/description
341 This is a driver for the Atheros "otus" 802.11n USB devices.
342 endef
343
344 define KernelPackage/mac80211-hwsim
345 $(call KernelPackage/mac80211/Default)
346 TITLE:=mac80211 HW simulation device
347 DEPENDS+= +kmod-mac80211
348 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/mac80211_hwsim.$(LINUX_KMOD_SUFFIX)
349 AUTOLOAD:=$(call AutoLoad,60,mac80211_hwsim)
350 endef
351
352 #Broadcom firmware
353 ifneq ($(CONFIG_B43_EXPERIMENTAL),)
354 PKG_B43_FWV4_NAME:=broadcom-wl
355 PKG_B43_FWV4_VERSION:=4.178.10.4
356 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/linux/wl.o
357 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
358 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
359 PKG_B43_FWV4_MD5SUM:=14477e8cbbb91b11896affac9b219fdb
360 else
361 PKG_B43_FWV4_NAME:=broadcom-wl
362 PKG_B43_FWV4_VERSION:=4.150.10.5
363 PKG_B43_FWV4_OBJECT:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION)/driver/wl_apsta_mimo.o
364 PKG_B43_FWV4_SOURCE:=$(PKG_B43_FWV4_NAME)-$(PKG_B43_FWV4_VERSION).tar.bz2
365 PKG_B43_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
366 PKG_B43_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
367 endif
368 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
369 PKG_B43_FWV4_NAME:=broadcom-wl
370 PKG_B43_FWV4_VERSION:=5.2
371 PKG_B43_FWV4_OBJECT:=openfwwf-$(PKG_B43_FWV4_VERSION)
372 PKG_B43_FWV4_SOURCE:=openfwwf-$(PKG_B43_FWV4_VERSION).tar.gz
373 PKG_B43_FWV4_SOURCE_URL:=http://www.ing.unibs.it/openfwwf/firmware/
374 PKG_B43_FWV4_MD5SUM:=e045a135453274e439ae183f8498b0fa
375 endif
376
377
378 PKG_B43_FWV3_NAME:=wl_apsta
379 PKG_B43_FWV3_VERSION:=3.130.20.0
380 PKG_B43_FWV3_SOURCE:=$(PKG_B43_FWV3_NAME)-$(PKG_B43_FWV3_VERSION).o
381 PKG_B43_FWV3_SOURCE_URL:=http://downloads.openwrt.org/sources/
382 PKG_B43_FWV3_MD5SUM:=e08665c5c5b66beb9c3b2dd54aa80cb3
383
384 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
385 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
386 PKG_B43_FWCUTTER_VERSION:=3e69531aa65b8f664a0ab00dfc3e2eefeb0cb417
387 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
388 PKG_B43_FWCUTTER_PROTO:=git
389 PKG_B43_FWCUTTER_SOURCE_URL:=http://git.bu3sch.de/git/b43-tools.git
390 PKG_B43_FWCUTTER_SUBDIR:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)
391 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/fwcutter/
392 else
393 PKG_B43_FWCUTTER_NAME:=b43-fwcutter
394 PKG_B43_FWCUTTER_VERSION:=012
395 PKG_B43_FWCUTTER_SOURCE:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION).tar.bz2
396 PKG_B43_FWCUTTER_PROTO:=default
397 PKG_B43_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
398 PKG_B43_FWCUTTER_MD5SUM:=69eadf67b459f313a8d6b37aaabef96c
399 PKG_B43_FWCUTTER_SUBDIR:=b43-fwcutter-$(PKG_B43_FWCUTTER_VERSION)
400 PKG_B43_FWCUTTER_OBJECT:=$(PKG_B43_FWCUTTER_NAME)-$(PKG_B43_FWCUTTER_VERSION)/
401 endif
402
403 define Download/b43-common
404 FILE:=$(PKG_B43_FWCUTTER_SOURCE)
405 URL:=$(PKG_B43_FWCUTTER_SOURCE_URL)
406 MD5SUM:=$(PKG_B43_FWCUTTER_MD5SUM)
407 PROTO:=$(PKG_B43_FWCUTTER_PROTO)
408 VERSION:=$(PKG_B43_FWCUTTER_VERSION)
409 SUBDIR:=$(PKG_B43_FWCUTTER_SUBDIR)
410 endef
411 $(eval $(call Download,b43-common))
412
413 define Download/b43
414 FILE:=$(PKG_B43_FWV4_SOURCE)
415 URL:=$(PKG_B43_FWV4_SOURCE_URL)
416 MD5SUM:=$(PKG_B43_FWV4_MD5SUM)
417 endef
418 $(eval $(call Download,b43))
419
420 define Download/b43legacy
421 FILE:=$(PKG_B43_FWV3_SOURCE)
422 URL:=$(PKG_B43_FWV3_SOURCE_URL)
423 MD5SUM:=$(PKG_B43_FWV3_MD5SUM)
424 endef
425 $(eval $(call Download,b43legacy))
426
427 define KernelPackage/b43-common
428 $(call KernelPackage/mac80211/Default)
429 TITLE:=Generic stuff for Broadcom wireless devices
430 URL:=http://linuxwireless.org/en/users/Drivers/b43
431 DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb
432 endef
433
434 define KernelPackage/b43
435 $(call KernelPackage/b43-common)
436 TITLE:=Broadcom 43xx wireless support
437 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
438 AUTOLOAD:=$(call AutoLoad,30,b43)
439 endef
440
441 define KernelPackage/b43/config
442 source "$(SOURCE)/Config.in.b43"
443 endef
444
445 define KernelPackage/b43/description
446 Kernel module for Broadcom 43xx wireless support (mac80211 stack) new
447 endef
448
449 define KernelPackage/b43legacy
450 $(call KernelPackage/b43-common)
451 TITLE:=Broadcom 43xx-legacy wireless support
452 FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
453 AUTOLOAD:=$(call AutoLoad,30,b43legacy)
454 endef
455
456 define KernelPackage/b43legacy/description
457 Kernel module for Broadcom 43xx-legacy wireless support (mac80211 stack) new
458 endef
459
460 BUILDFLAGS:= \
461 -I$(PKG_BUILD_DIR)/include \
462 $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
463 $(if $(CONFIG_PCI),-DCONFIG_B43_PCI_AUTOSELECT -DCONFIG_B43_PCICORE_AUTOSELECT -DCONFIG_SSB_DRIVER_PCICORE_POSSIBLE -DCONFIG_SSB_DRIVER_PCICORE) \
464 $(if $(CONFIG_PCI),-DCONFIG_SSB_PCIHOST_POSSIBLE -DCONFIG_SSB_PCIHOST) \
465 $(if $(CONFIG_PCI),-DCONFIG_SSB_SPROM) \
466 $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \
467 $(if $(CONFIG_HW_RANDOM),-DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG) \
468 $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS) \
469 $(if $(CONFIG_PACKAGE_ATH9K_DEBUG),-DCONFIG_ATH9K_DEBUG) \
470 -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \
471 $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1)
472
473 MAKE_OPTS:= \
474 CROSS_COMPILE="$(KERNEL_CROSS)" \
475 ARCH="$(LINUX_KARCH)" \
476 EXTRA_CFLAGS="$(BUILDFLAGS)" \
477 $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
478 CONFIG_MAC80211_RC_PID=y \
479 CONFIG_MAC80211_RC_MINSTREL=y \
480 CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
481 CONFIG_MAC80211_DEBUGFS=$(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),y) \
482 CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
483 CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
484 CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
485 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=$(if $(CONFIG_PCI),y) \
486 CONFIG_SSB_DRIVER_PCICORE=$(if $(CONFIG_PCI),y) \
487 CONFIG_SSB_PCIHOST_POSSIBLE=$(if $(CONFIG_PCI),y) \
488 CONFIG_SSB_PCIHOST=$(if $(CONFIG_PCI),y) \
489 CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
490 CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
491 CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
492 CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
493 CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
494 CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
495 CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
496 CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
497 CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
498 CONFIG_ATH9K_DEBUG=$(if $(CONFIG_PACKAGE_ATH9K_DEBUG),y) \
499 CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
500 CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
501 CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
502 CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
503 CONFIG_P54_SPI= \
504 CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
505 CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
506 CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
507 CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
508 CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
509 CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
510 CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
511 CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
512 CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
513 CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
514 CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
515 CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
516 CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
517 CONFIG_PCMCIA= \
518 CONFIG_LIBIPW= \
519 CONFIG_LIBERTAS= \
520 CONFIG_LIBERTAS_CS= \
521 CONFIG_LIBERTAS_SDIO= \
522 CONFIG_LIBERTAS_THINFIRM= \
523 CONFIG_IPW2100= \
524 CONFIG_IPW2200= \
525 CONFIG_NL80211=y \
526 CONFIG_LIB80211= \
527 CONFIG_LIB80211_CRYPT_WEP= \
528 CONFIG_LIB80211_CRYPT_CCMP= \
529 CONFIG_LIB80211_CRYPT_TKIP= \
530 CONFIG_IWLWIFI= \
531 CONFIG_IWLAGN= \
532 CONFIG_MWL8K= \
533 CONFIG_ATMEL= \
534 CONFIG_PCMCIA_ATMEL= \
535 CONFIG_ADM8211= \
536 CONFIG_USB_NET_RNDIS_HOST= \
537 CONFIG_USB_NET_RNDIS_WLAN= \
538 CONFIG_USB_NET_CDCETHER= \
539 CONFIG_USB_USBNET= \
540 CONFIG_AT76C50X_USB= \
541 CONFIG_WL12XX= \
542 CONFIG_EEPROM_93CX6= \
543 CONFIG_AR9170_USB=$(if $(CONFIG_PACKAGE_kmod-ar9170),m) \
544 CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \
545 CONFIG_IWM= \
546 MADWIFI= \
547 OLD_IWL= \
548 KLIB_BUILD="$(LINUX_DIR)" \
549 MODPROBE=: \
550 KLIB=$(TARGET_MODULES_DIR) \
551 KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
552
553 define Build/Prepare
554 rm -rf $(PKG_BUILD_DIR)
555 mkdir -p $(PKG_BUILD_DIR)
556 $(PKG_UNPACK)
557 $(Build/Patch)
558 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
559 unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
560 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2860FW)
561 -unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT2870FW)
562 $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2
563 rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
564 rm -f $(PKG_BUILD_DIR)/include/net/ieee80211.h
565 rm $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h
566 endef
567
568 ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
569 define Build/Compile/kmod
570 rm -rf $(PKG_BUILD_DIR)/modules
571 $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
572 endef
573 endif
574
575 define Build/Compile
576 $(call Build/Compile/kmod)
577 endef
578
579 define Build/InstallDev
580 mkdir -p $(1)/usr/include/mac80211 $(1)/usr/include/net/mac80211
581 $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
582 $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
583 endef
584
585 define KernelPackage/mac80211/install
586 $(INSTALL_DIR) $(1)/lib/wifi
587 $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
588 endef
589
590 define KernelPackage/p54-pci/install
591 $(INSTALL_DIR) $(1)/lib/firmware
592 $(INSTALL_DATA) $(DL_DIR)/$(P54PCIFW) $(1)/lib/firmware/isl3886pci
593 endef
594
595 define KernelPackage/p54-usb/install
596 $(INSTALL_DIR) $(1)/lib/firmware
597 $(INSTALL_DATA) $(DL_DIR)/$(P54USBFW) $(1)/lib/firmware/isl3886usb
598 endef
599
600 define KernelPackage/rt61-pci/install
601 $(INSTALL_DIR) $(1)/lib/firmware
602 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
603 endef
604
605 define KernelPackage/rt73-usb/install
606 $(INSTALL_DIR) $(1)/lib/firmware
607 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
608 endef
609
610 define KernelPackage/rt2800-pci/install
611 $(INSTALL_DIR) $(1)/lib/firmware
612 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2860.bin $(1)/lib/firmware/
613 endef
614
615 define KernelPackage/rt2800-usb/install
616 $(INSTALL_DIR) $(1)/lib/firmware
617 $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2870.bin $(1)/lib/firmware/
618 endef
619
620 define KernelPackage/zd1211rw/install
621 $(INSTALL_DIR) $(1)/lib/firmware/zd1211
622 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(ZD1211FW_NAME)/zd1211* $(1)/lib/firmware/zd1211
623 endef
624
625 define KernelPackage/ar9170/install
626 $(INSTALL_DIR) $(1)/lib/firmware
627 $(INSTALL_DATA) $(DL_DIR)/$(AR9170FW) $(1)/lib/firmware/
628 endef
629
630 define Build/b43-common
631 tar xjf "$(DL_DIR)/$(PKG_B43_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
632 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)" \
633 CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
634 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_OBJECT)/b43-fwcutter $(STAGING_DIR_HOST)/bin/
635 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
636 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
637 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/"
638 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm $(STAGING_DIR_HOST)/bin/
639 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_B43_FWCUTTER_SUBDIR)/assembler/b43-asm.bin $(STAGING_DIR_HOST)/bin/
640 endif
641 $(INSTALL_BIN) ./files/host_bin/b43-fwsquash.py $(STAGING_DIR_HOST)/bin/
642 endef
643
644 define KernelPackage/b43/install
645 rm -rf $(1)/lib/firmware/
646 $(call Build/b43-common)
647 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
648 tar xzf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
649 else
650 tar xjf "$(DL_DIR)/$(PKG_B43_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
651 endif
652 $(INSTALL_DIR) $(1)/lib/firmware/
653 ifneq ($(CONFIG_B43_OPENFIRMWARE),)
654 $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/"
655 $(INSTALL_DIR) $(1)/lib/firmware/b43-open/
656 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/ucode5.fw $(1)/lib/firmware/b43-open/ucode5.fw
657 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0bsinitvals5.fw $(1)/lib/firmware/b43-open/b0g0bsinitvals5.fw
658 $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)/b0g0initvals5.fw $(1)/lib/firmware/b43-open/b0g0initvals5.fw
659 else
660 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(PKG_BUILD_DIR)/$(PKG_B43_FWV4_OBJECT)
661 endif
662 ifneq ($(CONFIG_B43_FW_SQUASH),)
663 b43-fwsquash.py "$(CONFIG_B43_FW_SQUASH_PHYTYPES)" "$(CONFIG_B43_FW_SQUASH_COREREVS)" "$(1)/lib/firmware/b43"
664 endif
665 endef
666
667 define KernelPackage/b43legacy/install
668 $(call Build/b43-common)
669 $(INSTALL_DIR) $(1)/lib/firmware/
670
671 b43-fwcutter --unsupported -w $(1)/lib/firmware/ $(DL_DIR)/$(PKG_B43_FWV3_SOURCE)
672 endef
673
674 $(eval $(call KernelPackage,ath5k))
675 $(eval $(call KernelPackage,mac80211))
676 $(eval $(call KernelPackage,p54-common))
677 $(eval $(call KernelPackage,p54-pci))
678 $(eval $(call KernelPackage,p54-usb))
679 $(eval $(call KernelPackage,rt2x00-lib))
680 $(eval $(call KernelPackage,rt2x00-pci))
681 $(eval $(call KernelPackage,rt2x00-usb))
682 $(eval $(call KernelPackage,rt2400-pci))
683 $(eval $(call KernelPackage,rt2500-pci))
684 $(eval $(call KernelPackage,rt2500-usb))
685 $(eval $(call KernelPackage,rt61-pci))
686 $(eval $(call KernelPackage,rt73-usb))
687 $(eval $(call KernelPackage,rt2800-pci))
688 $(eval $(call KernelPackage,rt2800-usb))
689 $(eval $(call KernelPackage,rtl8180))
690 $(eval $(call KernelPackage,rtl8187))
691 $(eval $(call KernelPackage,zd1211rw))
692 $(eval $(call KernelPackage,mac80211-hwsim))
693 $(eval $(call KernelPackage,ath9k))
694 $(eval $(call KernelPackage,ath))
695 $(eval $(call KernelPackage,ar9170))
696 $(eval $(call KernelPackage,b43))
697 $(eval $(call KernelPackage,b43legacy))