]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - wl12xx/compat-wireless.git/blob - config.mk
3a13e8a2b497604a3494f350131a2dc21e15cc8c
[wl12xx/compat-wireless.git] / config.mk
1 export
3 ## NOTE
4 ## Make sure to have each variable declaration start
5 ## in the first column, no whitespace allowed.
7 ifeq ($(wildcard $(KLIB_BUILD)/.config),)
8 # These will be ignored by compat autoconf
9  CONFIG_PCI=y
10  CONFIG_USB=y
11  CONFIG_PCMCIA=y
12  CONFIG_SSB_POSSIBLE=y
13  CONFIG_SSB=m
14 else
15 include $(KLIB_BUILD)/.config
16 endif
18 # These both are needed by compat-wireless || compat-bluetooth so enable them
19  CONFIG_COMPAT_RFKILL=y
21 ifeq ($(CONFIG_MAC80211),y)
22 $(error "ERROR: you have MAC80211 compiled into the kernel, CONFIG_MAC80211=y, as such you cannot replace its mac80211 driver. You need this set to CONFIG_MAC80211=m. If you are using Fedora upgrade your kernel as later version should this set as modular. For further information on Fedora see https://bugzilla.redhat.com/show_bug.cgi?id=470143. If you are using your own kernel recompile it and make mac80211 modular")
23 else
24  CONFIG_COMPAT_WIRELESS=y
25  CONFIG_COMPAT_WIRELESS_MODULES=m
26  CONFIG_COMPAT_VAR_MODULES=m
27 # We could technically separate these but not yet, we only have b44
28 # Note that we don't intend on backporting network drivers that
29 # use Multiqueue as that was a pain to backport to kernels older than
30 # 2.6.27. But -- we could just disable those drivers from kernels
31 # older than 2.6.27
32  CONFIG_COMPAT_NETWORK_MODULES=m
33  CONFIG_COMPAT_NET_USB_MODULES=m
34 endif
36 ifeq ($(CONFIG_BT),y)
37 # we'll ignore compiling bluetooth
38 else
39 CONFIG_COMPAT_BLUETOOTH=y
40 CONFIG_COMPAT_BLUETOOTH_MODULES=m
41 endif
43 # We will warn when you don't have MQ support or NET_SCHED enabled.
44 #
45 # We could consider just quiting if MQ and NET_SCHED is disabled
46 # as I suspect all users of this package want 802.11e (WME) and
47 # 802.11n (HT) support.
48 ifneq ($(wildcard $(KLIB_BUILD)/Makefile),)
49 COMPAT_LATEST_VERSION = 33
50 KERNEL_SUBLEVEL := $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
51 COMPAT_VERSIONS := $(shell I=$(COMPAT_LATEST_VERSION); while [ "$$I" -gt $(KERNEL_SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done)
52 $(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_KERNEL_$(ver)=y))
54 ifdef CONFIG_COMPAT_KERNEL_25
55 $(error "ERROR: compat-wireless by default supports kernels >= 2.6.25, try enabling only one driver though"
56 endif
58 ifeq ($(CONFIG_CFG80211),y)
59 $(error "ERROR: your kernel has CONFIG_CFG80211=y, you should have it CONFIG_CFG80211=m if you want to use this thing.")
60 endif
63 # 2.6.27 has FTRACE_DYNAMIC borked, so we will complain if
64 # you have it enabled, otherwise you will very likely run into
65 # a kernel panic.
66 ifeq ($(KERNEL_SUBLEVEL),27)
67 ifeq ($(CONFIG_DYNAMIC_FTRACE),y)
68 $(error "ERROR: Your 2.6.27 kernel has CONFIG_DYNAMIC_FTRACE, please upgrade your distribution kernel as newer ones should not have this enabled (and if so report a bug) or remove this warning if you know what you are doing")
69 endif
70 endif
72 # This is because with CONFIG_MAC80211 include/linux/skbuff.h will
73 # enable on 2.6.27 a new attribute:
74 #
75 # skb->do_not_encrypt
76 #
77 # and on 2.6.28 another new attribute:
78 #
79 # skb->requeue
80 #
81 ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 27 && echo yes),yes)
82 ifeq ($(CONFIG_MAC80211),)
83 $(error "ERROR: Your >=2.6.27 kernel has CONFIG_MAC80211 disabled, you should have it CONFIG_MAC80211=m if you want to use this thing.")
84 endif
85 endif
87 ifneq ($(KERNELRELEASE),) # This prevents a warning
89 ifeq ($(CONFIG_NET_SCHED),)
90  QOS_REQS_MISSING+=CONFIG_NET_SCHED
91 endif
93 ifneq ($(QOS_REQS_MISSING),) # Complain about our missing dependencies
94 $(warning "WARNING: You are running a kernel >= 2.6.23, you should enable in it $(QOS_REQS_MISSING) for 802.11[ne] support")
95 endif
97 endif # build check
98 endif # kernel Makefile check
100 # Wireless subsystem stuff
101 CONFIG_MAC80211=m
103 # CONFIG_MAC80211_DEBUGFS=y
104 # CONFIG_MAC80211_DEBUG_MENU=y
105 # CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT=y
106 # CONFIG_MAC80211_NOINLINE=y
107 # CONFIG_MAC80211_VERBOSE_DEBUG=y
108 # CONFIG_MAC80211_HT_DEBUG=y
109 # CONFIG_MAC80211_TKIP_DEBUG=y
110 # CONFIG_MAC80211_IBSS_DEBUG=y
111 # CONFIG_MAC80211_VERBOSE_PS_DEBUG=y
112 # CONFIG_MAC80211_VERBOSE_MPL_DEBUG=y
113 # CONFIG_MAC80211_VERBOSE_MHWMP_DEBUG=y
114 # CONFIG_MAC80211_DEBUG_COUNTERS=y
115 # CONFIG_MAC80211_DRIVER_API_TRACER=y
117 # choose between pid and minstrel as default rate control algorithm
118 CONFIG_MAC80211_RC_DEFAULT=minstrel
119 CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
120 # CONFIG_MAC80211_RC_DEFAULT_PID=y
121 # This is the one used by our compat-wireless net/mac80211/rate.c
122 # in case you have and old kernel which is overriding this to pid.
123 CONFIG_COMPAT_MAC80211_RC_DEFAULT=minstrel
124 CONFIG_MAC80211_RC_PID=y
125 CONFIG_MAC80211_RC_MINSTREL=y
126 CONFIG_MAC80211_LEDS=y
128 # enable mesh networking too
129 CONFIG_MAC80211_MESH=y
131 CONFIG_CFG80211=m
132 CONFIG_CFG80211_DEFAULT_PS=y
133 # CONFIG_CFG80211_DEBUGFS=y
134 # CONFIG_NL80211_TESTMODE=y
135 # CONFIG_CFG80211_DEVELOPER_WARNINGS=y
136 # CONFIG_CFG80211_REG_DEBUG=y
137 # See below for wext stuff
139 CONFIG_LIB80211=m
140 CONFIG_LIB80211_CRYPT_WEP=m
141 CONFIG_LIB80211_CRYPT_CCMP=m
142 CONFIG_LIB80211_CRYPT_TKIP=m
143 # CONFIG_LIB80211_DEBUG=y
145 CONFIG_WIRELESS_OLD_REGULATORY=n
147 CONFIG_BT=m
148 CONFIG_BT_L2CAP=m
149 CONFIG_BT_SCO=m
150 CONFIG_BT_RFCOMM=m
151 CONFIG_BT_BNEP=m
152 CONFIG_BT_CMTP=m
153 CONFIG_BT_HIDP=m
155 ifdef CONFIG_COMPAT_KERNEL_32
156 # Old kernels stil do depend on CONFIG_WIRELESS_EXT
157 # as we add the wireless handler back to the struct
158 # netdevice
159 ifneq ($(CONFIG_WIRELESS_EXT),)
160 CONFIG_CFG80211_WEXT=y
161 endif
162 else
163 # 2.6.33 and above do not need CONFIG_WIRELESS_EXT, but the
164 # reality is we should select CONFIG_WIRELESS_EXT only if a
165 # driver claims for it (one of the old non-cfg80211 drivers).
166 # Then users could either have this on or off but we leave it
167 # on in case users on >= 2.6.33 still have iwconfig and other
168 # old deprecated userspace applications.
169 CONFIG_CFG80211_WEXT=y
170 endif # CONFIG_COMPAT_KERNEL_32
172 # mac80211 test driver
173 CONFIG_MAC80211_HWSIM=m
175 # PCI Drivers
176 ifneq ($(CONFIG_PCI),)
178 CONFIG_ATH5K=m
179 # CONFIG_ATH5K_DEBUG=y
180 CONFIG_ATH9K_HW=m
181 CONFIG_ATH9K=m
182 # Note: once ath9k_htc is added we'll have to move
183 # CONFIG_ATH9K_COMMON to an area that doesn't depend on PCI
184 # as you could then have ath9k disabled but ath9k_htc enabled.
185 CONFIG_ATH9K_COMMON=m
186 # CONFIG_ATH9K_DEBUGFS=y
189 CONFIG_IWLWIFI=m
190 CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y
191 # CONFIG_IWLWIFI_DEBUG=y
192 # CONFIG_IWLWIFI_DEBUGFS=y
193 # CONFIG_IWLWIFI_DEVICE_TRACING=y
194 CONFIG_IWLAGN=m
195 CONFIG_COMPAT_IWL4965=y
196 CONFIG_IWL5000=y
197 CONFIG_IWL3945=m
198 CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
201 CONFIG_B43=m
202 CONFIG_B43_HWRNG=y
203 CONFIG_B43_PCI_AUTOSELECT=y
204 CONFIG_B43_PCICORE_AUTOSELECT=y
205 ifneq ($(CONFIG_PCMCIA),)
206 CONFIG_B43_PCMCIA=y
207 endif
208 CONFIG_B43_PIO=y
209 CONFIG_B43_LEDS=y
210 CONFIG_B43_PHY_LP=y
211 # CONFIG_B43_DEBUG=y
212 # CONFIG_B43_FORCE_PIO=y
214 CONFIG_B43LEGACY=m
215 CONFIG_B43LEGACY_HWRNG=y
216 CONFIG_B43LEGACY_PCI_AUTOSELECT=y
217 CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
218 CONFIG_B43LEGACY_LEDS=y
219 # CONFIG_B43LEGACY_DEBUG=y
220 CONFIG_B43LEGACY_DMA=y
221 CONFIG_B43LEGACY_PIO=y
222 CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
223 # CONFIG_B43LEGACY_DMA_MODE=y
224 # CONFIG_B43LEGACY_PIO_MODE=y
226 # The Intel ipws
227 CONFIG_LIBIPW=m
228 # CONFIG_LIBIPW_DEBUG=y
231 CONFIG_IPW2100=m
232 CONFIG_IPW2100_MONITOR=y
233 # CONFIG_IPW2100_DEBUG=y
234 CONFIG_IPW2200=m
235 CONFIG_IPW2200_MONITOR=y
236 CONFIG_IPW2200_RADIOTAP=y
237 CONFIG_IPW2200_PROMISCUOUS=y
238 CONFIG_IPW2200_QOS=y
239 # CONFIG_IPW2200_DEBUG=y
240 # The above enables use a second interface prefixed 'rtap'.
241 #           Example usage:
243 # % modprobe ipw2200 rtap_iface=1
244 # % ifconfig rtap0 up
245 # % tethereal -i rtap0
247 # If you do not specify 'rtap_iface=1' as a module parameter then
248 # the rtap interface will not be created and you will need to turn
249 # it on via sysfs:
251 # % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
253 ifneq ($(CONFIG_SSB),)
254 # Sonics Silicon Backplane
255 CONFIG_SSB_SPROM=y
256 # CONFIG_SSB_DEBUG=y
258 CONFIG_SSB_BLOCKIO=y
259 CONFIG_SSB_PCIHOST_POSSIBLE=y
260 CONFIG_SSB_PCIHOST=y
261 CONFIG_SSB_B43_PCI_BRIDGE=y
262 ifneq ($(CONFIG_PCMCIA),)
263 CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
264 CONFIG_SSB_PCMCIAHOST=y
265 endif
266 # CONFIG_SSB_DEBUG=y
267 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
268 CONFIG_SSB_DRIVER_PCICORE=y
269 endif
271 CONFIG_P54_PCI=m
273 CONFIG_B44=m
274 CONFIG_B44_PCI_AUTOSELECT=y
275 CONFIG_B44_PCICORE_AUTOSELECT=y
276 CONFIG_B44_PCI=y
278 CONFIG_RTL8180=m
280 CONFIG_ADM8211=m
281 ifneq ($(CONFIG_PCMCIA),)
282 CONFIG_PCMCIA_ATMEL=m
283 endif
285 CONFIG_RT2X00_LIB_PCI=m
286 CONFIG_RT2400PCI=m
287 CONFIG_RT2500PCI=m
288 CONFIG_RT2800PCI=m
289 CONFIG_RT2800PCI_PCI=y
290 NEED_RT2X00=y
292 # Two rt2x00 drivers require firmware: rt61pci and rt73usb. They depend on
293 # CRC to check the firmware. We check here first for the PCI
294 # driver as we're in the PCI section.
295 ifneq ($(CONFIG_CRC_ITU_T),)
296 CONFIG_RT61PCI=m
297 NEED_RT2X00_FIRMWARE=y
298 endif
300 CONFIG_ATMEL=m
301 CONFIG_PCI_ATMEL=m
303 CONFIG_MWL8K=m
305 # Ethernet drivers go here
306 CONFIG_ATL1=m
307 CONFIG_ATL2=m
308 CONFIG_ATL1E=m
309 CONFIG_ATL1C=m
311 endif
312 ## end of PCI
314 ifneq ($(CONFIG_PCMCIA),)
316 ifdef CONFIG_COMPAT_KERNEL_27
317 CONFIG_LIBERTAS=n
318 CONFIG_LIBERTAS_CS=n
319 else
320 CONFIG_LIBERTAS_CS=m
321 NEED_LIBERTAS=y
322 endif
324 endif
325 ## end of PCMCIA
327 # This is required for some cards
328 CONFIG_EEPROM_93CX6=m
330 # USB Drivers
331 ifneq ($(CONFIG_USB),)
332 CONFIG_ZD1211RW=m
333 # CONFIG_ZD1211RW_DEBUG=y
335 # Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat...
337 # Wireless RNDIS USB support (RTL8185 802.11g) A-Link WL54PC
338 # All of these devices are based on Broadcom 4320 chip which
339 # is only wireless RNDIS chip known to date.
340 # Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER
341 # it also requires new RNDIS_HOST and CDC_ETHER modules which we add
342 ifdef CONFIG_COMPAT_KERNEL_29
343 CONFIG_USB_COMPAT_USBNET=n
344 CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
345 CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n
346 CONFIG_USB_NET_COMPAT_CDCETHER=n
347 else
348 CONFIG_USB_COMPAT_USBNET=m
349 CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
350 CONFIG_USB_NET_COMPAT_RNDIS_WLAN=m
351 CONFIG_USB_NET_COMPAT_CDCETHER=m
352 endif
355 CONFIG_P54_USB=m
356 CONFIG_RTL8187=m
357 CONFIG_RTL8187_LEDS=y
359 CONFIG_AT76C50X_USB=m
361 ifndef CONFIG_COMPAT_KERNEL_28
362 CONFIG_AR9170_USB=m
363 CONFIG_AR9170_LEDS=y
364 endif
366 # RT2500USB does not require firmware
367 CONFIG_RT2500USB=m
368 CONFIG_RT2800USB=m
369 CONFIG_RT2X00_LIB_USB=m
370 NEED_RT2X00=y
371 # RT73USB requires firmware
372 ifneq ($(CONFIG_CRC_ITU_T),)
373 CONFIG_RT73USB=m
374 NEED_RT2X00_FIRMWARE=y
375 endif
377 ifdef CONFIG_COMPAT_KERNEL_27
378 CONFIG_LIBERTAS_THINFIRM_USB=n
379 CONFIG_LIBERTAS_USB=n
380 NEED_LIBERTAS=n
381 else
382 CONFIG_LIBERTAS_THINFIRM_USB=m
383 CONFIG_LIBERTAS_USB=m
384 NEED_LIBERTAS=y
385 endif
387 endif # end of USB driver list
389 ifneq ($(CONFIG_SPI_MASTER),)
391 CONFIG_WL1251=m
392 CONFIG_P54_SPI=m
394 ifdef CONFIG_COMPAT_KERNEL_27
395 CONFIG_LIBERTAS_SPI=n
396 NEED_LIBERTAS=n
397 else
398 CONFIG_LIBERTAS_SPI=m
399 NEED_LIBERTAS=y
400 endif
402 endif # end of SPI driver list
404 ifneq ($(CONFIG_MMC),)
406 ifdef CONFIG_COMPAT_KERNEL_27
407 CONFIG_LIBERTAS_SDIO=n
408 NEED_LIBERTAS=n
409 else
410 CONFIG_LIBERTAS_SDIO=m
411 NEED_LIBERTAS=y
412 endif
414 # Activate iwmc3200wifi support only on kernel >= 2.6.29.
415 # iwmc3200wifi uses new netdev_ops api no supported by old kernel.
416 ifndef CONFIG_COMPAT_KERNEL_29
417 CONFIG_IWM=m
418 # CONFIG_IWM_DEBUG=y
419 endif
421 endif # end of SDIO driver list
423 # Common rt2x00 requirements
424 ifeq ($(NEED_RT2X00),y)
425 CONFIG_RT2X00=y
426 CONFIG_RT2X00_LIB=m
427 CONFIG_RT2800_LIB=m
428 CONFIG_RT2X00_LIB_HT=y
429 CONFIG_RT2X00_LIB_FIRMWARE=y
430 CONFIG_RT2X00_LIB_CRYPTO=y
431 CONFIG_RT2X00_LIB_LEDS=y
432 # CONFIG_RT2X00_DEBUG=y
433 endif
435 ifeq ($(NEED_RT2X00_FIRMWARE),y)
436 CONFIG_RT2X00_LIB_FIRMWARE=y
437 endif
439 # p54
440 CONFIG_P54_COMMON=m
441 CONFIG_P54_LEDS=y
443 # Atheros
444 CONFIG_ATH_COMMON=m
445 # CONFIG_ATH_DEBUG=y
447 CONFIG_WL12XX=y
448 CONFIG_WL1251=m
449 CONFIG_WL1251_SPI=m
450 CONFIG_WL1251_SDIO=m
451 CONFIG_WL1271=m
453 ifdef CONFIG_COMPAT_KERNEL_27
454 CONFIG_LIBERTAS=n
455 else
456 ifeq ($(NEED_LIBERTAS),y)
457 CONFIG_LIBERTAS_THINFIRM=m
458 CONFIG_LIBERTAS=m
459 # CONFIG_LIBERTAS_DEBUG=y
460 endif
461 endif
463 # We need the backported rfkill module on kernel < 2.6.31.
464 # In more recent kernel versions use the in kernel rfkill module.
465 ifdef CONFIG_COMPAT_KERNEL_31
466 CONFIG_RFKILL_BACKPORT=m
467 CONFIG_RFKILL_BACKPORT_LEDS=y
468 CONFIG_RFKILL_BACKPORT_INPUT=y
469 endif