require all CONFIG_* symbols listed in its KCONFIG to be set to m in order to actuall...
[openwrt.git] / package / kernel / modules / usb.mk
1
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 USBMENU:=USB Support
10
11 ifeq ($(KERNEL),2.4)
12   USBNET_DIR:=usb/net
13 endif
14
15 ifeq ($(KERNEL_PATCHVER),2.6.21)
16   USBNET_DIR:=usb/net
17   USBHID_DIR:=usb/input
18   USBINPUT_DIR:=usb/input
19 endif
20
21 USBNET_DIR?=net/usb
22 USBHID_DIR?=hid/usbhid
23 USBINPUT_DIR?=input/misc
24
25 define usbdep
26   SUBMENU:=$(USBMENU)
27   DEPENDS:=kmod-usb-core $(1)
28 endef
29
30
31 define KernelPackage/usb-core
32   SUBMENU:=$(USBMENU)
33   TITLE:=Support for USB
34   DESCRIPTION:=Kernel support for USB
35   DEPENDS:=@USB_SUPPORT
36   KCONFIG:=CONFIG_USB
37   AUTOLOAD:=$(call AutoLoad,20,usbcore)
38 endef
39
40 define KernelPackage/usb-core/2.4
41   FILES:=$(LINUX_DIR)/drivers/usb/usbcore.$(LINUX_KMOD_SUFFIX)
42 endef
43
44 define KernelPackage/usb-core/2.6
45   FILES:=$(LINUX_DIR)/drivers/usb/core/usbcore.$(LINUX_KMOD_SUFFIX)
46 endef
47
48 $(eval $(call KernelPackage,usb-core))
49
50
51 define KernelPackage/usb-uhci
52   $(call usbdep,)
53   TITLE:=Support for UHCI controllers
54   DESCRIPTION:=Kernel support for USB UHCI controllers
55 endef
56
57 define KernelPackage/usb-uhci/2.4
58   KCONFIG:=CONFIG_USB_UHCI_ALT
59   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci.o
60   AUTOLOAD:=$(call AutoLoad,50,uhci)
61 endef
62
63 define KernelPackage/usb-uhci/2.6
64   KCONFIG:=CONFIG_USB_UHCI_HCD
65   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
66   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd)
67 endef
68
69 $(eval $(call KernelPackage,usb-uhci))
70
71
72 define KernelPackage/usb-uhci-iv
73   $(call usbdep,@LINUX_2_4)
74   TITLE:=Support for Intel/VIA UHCI controllers 
75   DESCRIPTION:=Kernel support for Intel/VIA USB UHCI controllers
76   KCONFIG:=CONFIG_USB_UHCI
77   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-uhci.$(LINUX_KMOD_SUFFIX)
78   AUTOLOAD:=$(call AutoLoad,50,usb-uhci) 
79 endef 
80
81 $(eval $(call KernelPackage,usb-uhci-iv)) 
82
83
84 define KernelPackage/usb-ohci
85   $(call usbdep,)
86   TITLE:=Support for OHCI controllers
87   DESCRIPTION:=Kernel support for USB OHCI controllers
88 endef
89
90 define KernelPackage/usb-ohci/2.4
91   KCONFIG:=CONFIG_USB_OHCI
92   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-ohci.o
93   AUTOLOAD:=$(call AutoLoad,50,usb-ohci)
94 endef
95
96 define KernelPackage/usb-ohci/2.6
97   KCONFIG:=CONFIG_USB_OHCI_HCD
98   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko
99   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd)
100 endef
101
102 $(eval $(call KernelPackage,usb-ohci))
103
104
105 define KernelPackage/usb-adm5120
106   $(call usbdep,@LINUX_2_6_ADM5120||@LINUX_2_6_ADM5120EB)
107   TITLE:=Support for the ADM5120 HCD controller
108   DESCRIPTION:=Kernel support for the ADM5120 HCD USB controller
109   KCONFIG:=CONFIG_USB_ADM5120_HCD
110   FILES:=$(LINUX_DIR)/drivers/usb/host/adm5120-hcd.$(LINUX_KMOD_SUFFIX)
111   AUTOLOAD:=$(call AutoLoad,50,adm5120-hcd)
112 endef
113
114 $(eval $(call KernelPackage,usb-adm5120))
115
116
117 define KernelPackage/usb2
118   $(call usbdep,)
119   TITLE:=Support for USB2 controllers
120   DESCRIPTION:=Kernel support for USB2 (EHCI) controllers
121   KCONFIG:=CONFIG_USB_EHCI_HCD
122   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
123   AUTOLOAD:=$(call AutoLoad,50,ehci-hcd)
124 endef
125
126 $(eval $(call KernelPackage,usb2))
127
128
129 define KernelPackage/usb-acm
130   $(call usbdep,)
131   TITLE:=Support for modems/isdn controllers
132   DESCRIPTION:=Kernel support for USB ACM devices (modems/isdn controllers)
133   KCONFIG:=CONFIG_USB_ACM
134 endef
135
136 define KernelPackage/usb-acm/2.4
137   FILES:=$(LINUX_DIR)/drivers/usb/acm.o
138   AUTOLOAD:=$(call AutoLoad,60,acm)
139 endef
140
141 define KernelPackage/usb-acm/2.6
142   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
143   AUTOLOAD:=$(call AutoLoad,60,cdc-acm)
144 endef
145
146 $(eval $(call KernelPackage,usb-acm))
147
148
149 define KernelPackage/usb-audio
150   $(call usbdep,+kmod-soundcore)
151   TITLE:=Support for audio devices
152   DESCRIPTION:=Kernel support for USB audio devices
153 endef
154
155 define KernelPackage/usb-audio/2.4
156   KCONFIG:=CONFIG_USB_AUDIO
157   FILES:=$(LINUX_DIR)/drivers/usb/audio.o
158   AUTOLOAD:=$(call AutoLoad,60,audio)
159 endef
160
161 define KernelPackage/usb-audio/2.6
162   KCONFIG:=CONFIG_SND_USB_AUDIO
163   FILES:= \
164         $(LINUX_DIR)/sound/usb/snd-usb-lib.ko \
165         $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
166   AUTOLOAD:=$(call AutoLoad,60,snd-usb-lib snd-usb-audio)
167 endef
168
169 $(eval $(call KernelPackage,usb-audio))
170
171
172 define KernelPackage/usb-printer
173   $(call usbdep,)
174   TITLE:=Support for printers
175   DESCRIPTION:=Kernel support for USB printers
176   KCONFIG:=CONFIG_USB_PRINTER
177 endef
178
179 define KernelPackage/usb-printer/2.4
180   FILES:=$(LINUX_DIR)/drivers/usb/printer.o
181   AUTOLOAD:=$(call AutoLoad,60,printer)
182 endef
183
184 define KernelPackage/usb-printer/2.6
185   FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
186   AUTOLOAD:=$(call AutoLoad,60,usblp)
187 endef
188
189 $(eval $(call KernelPackage,usb-printer))
190
191
192 define KernelPackage/usb-serial
193   $(call usbdep,)
194   TITLE:=Support for USB-to-Serial converters
195   DESCRIPTION:=Kernel support for USB-to-Serial converters
196   KCONFIG:=CONFIG_USB_SERIAL
197   FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.$(LINUX_KMOD_SUFFIX)
198   AUTOLOAD:=$(call AutoLoad,60,usbserial)
199 endef
200
201 $(eval $(call KernelPackage,usb-serial))
202
203
204 define KernelPackage/usb-serial-airprime
205   $(call usbdep,kmod-usb-serial @LINUX_2_6)
206   TITLE:=Support for Airprime (EVDO) 
207   DESCRIPTION:=Kernel support for Airprime (EVDO) 
208   KCONFIG:=CONFIG_USB_SERIAL_AIRPRIME
209   FILES:=$(LINUX_DIR)/drivers/usb/serial/airprime.$(LINUX_KMOD_SUFFIX)
210   AUTOLOAD:=$(call AutoLoad,65,airprime)
211 endef
212
213 $(eval $(call KernelPackage,usb-serial-airprime))
214
215
216 define KernelPackage/usb-serial-belkin
217   $(call usbdep,kmod-usb-serial)
218   TITLE:=Support for Belkin devices
219   DESCRIPTION:=Kernel support for Belkin USB-to-Serial converters
220   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
221   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
222   AUTOLOAD:=$(call AutoLoad,65,belkin_sa)
223 endef
224
225 $(eval $(call KernelPackage,usb-serial-belkin))
226
227
228 define KernelPackage/usb-serial-ftdi
229   $(call usbdep,kmod-usb-serial)
230   TITLE:=Support for FTDI devices
231   DESCRIPTION:=Kernel support for FTDI USB-to-Serial converters
232   KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
233   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.$(LINUX_KMOD_SUFFIX)
234   AUTOLOAD:=$(call AutoLoad,65,ftdi_sio)
235 endef
236
237 $(eval $(call KernelPackage,usb-serial-ftdi))
238
239
240 define KernelPackage/usb-serial-mct
241   $(call usbdep,kmod-usb-serial)
242   TITLE:=Support for Magic Control Tech. devices
243   DESCRIPTION:=Kernel support for Magic Control Technology USB-to-Serial converters
244   KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
245   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.$(LINUX_KMOD_SUFFIX)
246   AUTOLOAD:=$(call AutoLoad,65,mct_u232)
247 endef
248
249 $(eval $(call KernelPackage,usb-serial-mct))
250
251
252 define KernelPackage/usb-serial-pl2303
253   $(call usbdep,kmod-usb-serial)
254   TITLE:=Support for Prolific PL2303 devices
255   DESCRIPTION:=Kernel support for Prolific PL2303 USB-to-Serial converters
256   KCONFIG:=CONFIG_USB_SERIAL_PL2303
257   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
258   AUTOLOAD:=$(call AutoLoad,65,pl2303)
259 endef
260
261 $(eval $(call KernelPackage,usb-serial-pl2303))
262
263
264 define KernelPackage/usb-serial-sierrawireless
265   $(call usbdep,kmod-usb-serial @LINUX_2_6)
266   TITLE:=Support for Sierra Wireless devices
267   DESCRIPTION:=Kernel support for Sierra Wireless devices
268   KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
269   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
270   AUTOLOAD:=$(call AutoLoad,65,sierra)
271 endef
272
273 $(eval $(call KernelPackage,usb-serial-sierrawireless))
274
275
276 define KernelPackage/usb-serial-visor
277   $(call usbdep,kmod-usb-serial)
278   TITLE:=Support for Handspring Visor devices
279   DESCRIPTION:=Kernel support for Handspring Visor PDAs
280   KCONFIG:=CONFIG_USB_SERIAL_VISOR
281   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.$(LINUX_KMOD_SUFFIX)
282   AUTOLOAD:=$(call AutoLoad,65,visor)
283 endef
284
285 $(eval $(call KernelPackage,usb-serial-visor))
286
287
288 define KernelPackage/usb-serial-keyspan
289   $(call usbdep,kmod-usb-serial)
290   TITLE:=Support for Keyspan USB-to-Serial devices
291   DESCRIPTION:=Kernel support for Keyspan USB-to-Serial devices
292   KCONFIG:= \
293         CONFIG_USB_SERIAL_KEYSPAN \
294         CONFIG_USB_SERIAL_KEYSPAN_USA28 \
295         CONFIG_USB_SERIAL_KEYSPAN_USA28X \
296         CONFIG_USB_SERIAL_KEYSPAN_USA28XA \
297         CONFIG_USB_SERIAL_KEYSPAN_USA28XB \
298         CONFIG_USB_SERIAL_KEYSPAN_USA19 \
299         CONFIG_USB_SERIAL_KEYSPAN_USA18X \
300         CONFIG_USB_SERIAL_KEYSPAN_USA19W \
301         CONFIG_USB_SERIAL_KEYSPAN_USA19QW \
302         CONFIG_USB_SERIAL_KEYSPAN_USA19QI \
303         CONFIG_USB_SERIAL_KEYSPAN_MPR \
304         CONFIG_USB_SERIAL_KEYSPAN_USA49W \
305         CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
306   FILES:=$(LINUX_DIR)/drivers/usb/serial/keyspan.$(LINUX_KMOD_SUFFIX)
307   AUTOLOAD:=$(call AutoLoad,65,keyspan)
308 endef
309
310 $(eval $(call KernelPackage,usb-serial-keyspan))
311
312
313 define KernelPackage/usb-serial-option
314   $(call usbdep,kmod-usb-serial @LINUX_2_6)
315   TITLE:=Support for Option HSDPA modems
316   DESCRIPTION:=Kernel support for Option HSDPA modems
317   KCONFIG:=CONFIG_USB_SERIAL_OPTION
318   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.$(LINUX_KMOD_SUFFIX)
319   AUTOLOAD:=$(call AutoLoad,65,option)
320 endef
321
322 $(eval $(call KernelPackage,usb-serial-option))
323
324
325 define KernelPackage/usb-storage
326   $(call usbdep,+kmod-scsi-core)
327   TITLE:=USB Storage support
328   DESCRIPTION:=Kernel support for USB Mass Storage devices
329   KCONFIG:=CONFIG_USB_STORAGE
330   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
331   AUTOLOAD:=$(call AutoLoad,60,scsi_mod sd_mod usb-storage)
332 endef
333
334 $(eval $(call KernelPackage,usb-storage))
335
336
337 define KernelPackage/usb-atm
338   $(call usbdep,@LINUX_2_6 kmod-atm)
339   TITLE:=Support for ATM on USB bus
340   DESCRIPTION:=Kernel support for USB DSL modems
341   KCONFIG:=CONFIG_USB_ATM
342   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX)
343   AUTOLOAD:=$(call AutoLoad,60,usbatm)
344 endef
345
346 $(eval $(call KernelPackage,usb-atm))
347
348
349 define KernelPackage/usb-speedtouch
350   $(call usbdep,@LINUX_2_6 kmod-atm)
351   TITLE:=Support for SpeedTouch ADSL modems
352   DESCRIPTION:=Kernel support for SpeedTouch USB ADSL modems
353   KCONFIG:=CONFIG_USB_SPEEDTOUCH
354   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
355   AUTOLOAD:=$(call AutoLoad,70,speedtch)
356 endef
357
358 $(eval $(call KernelPackage,usb-speedtouch))
359
360
361 define KernelPackage/ueagle-atm
362   $(call usbdep,@LINUX_2_6 kmod-atm)
363   TITLE:=Driver for Eagle 8051 based USB ADSL modems
364   DESCRIPTION:=Kernel support for Eagle 8051 based USB ADSL modems
365   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.$(LINUX_KMOD_SUFFIX)
366   KCONFIG:=CONFIG_USB_UEAGLEATM
367   AUTOLOAD:=$(call AutoLoad,70,ueagle-atm)
368 endef
369
370 $(eval $(call KernelPackage,ueagle-atm))
371
372
373 define KernelPackage/usb-pwc
374   $(call usbdep,+kmod-videodev @LINUX_2_6)
375   TITLE:=Philips WebCam driver
376   DESCRIPTION:=Kernel modules for supporting Philips WebCam USB devices
377   KCONFIG:=CONFIG_USB_PWC CONFIG_VIDEO_V4L1=y CONFIG_VIDEO_CAPTURE_DRIVERS=y CONFIG_V4L_USB_DRIVERS=y CONFIG_USB_PWC_DEBUG=n
378   FILES:=$(LINUX_DIR)/drivers/media/video/pwc/pwc.$(LINUX_KMOD_SUFFIX)
379   AUTOLOAD:=$(call AutoLoad,70,pwc)
380 endef
381
382 $(eval $(call KernelPackage,usb-pwc))
383
384
385 define KernelPackage/cpia2
386   $(call usbdep,+kmod-videodev @LINUX_2_6)
387   TITLE:=CPIA2 video driver
388   DESCRIPTION:=Kernel modules for CPIA2 WebCam devices
389   KCONFIG:=CONFIG_VIDEO_CPIA2
390   FILES:=$(LINUX_DIR)/drivers/media/video/cpia2/cpia2.$(LINUX_KMOD_SUFFIX)
391   AUTOLOAD:=$(call AutoLoad,70,cpia2)
392 endef
393
394 $(eval $(call KernelPackage,cpia2))
395
396
397 define KernelPackage/usb-net
398   $(call usbdep,)
399   TITLE:=Kernel modules for USB-to-Ethernet convertors
400   DESCRIPTION:=Kernel modules for USB-to-Ethernet convertors
401   KCONFIG:=CONFIG_USB_USBNET
402   AUTOLOAD:=$(call Autoload,60, usbnet)
403 endef
404
405 define KernelPackage/usb-net/2.4
406   FILES:=$(LINUX_DIR)/drivers/usb/usbnet.$(LINUX_KMOD_SUFFIX)
407 endef
408
409 define KernelPackage/usb-net/2.6
410   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.$(LINUX_KMOD_SUFFIX)
411 endef
412
413 $(eval $(call KernelPackage,usb-net))
414
415
416 define KernelPackage/usb-net-asix
417   $(call usbdep,kmod-usb-net @LINUX_2_6)
418   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
419   DESCRIPTION:=Kernel module for USB-to-Ethernet Asix convertors
420   KCONFIG:=CONFIG_USB_NET_AX8817X
421   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.$(LINUX_KMOD_SUFFIX)
422   AUTOLOAD:=$(call Autoload,61,asix)
423 endef
424
425 $(eval $(call KernelPackage,usb-net-asix))
426
427
428 define KernelPackage/usb-net-kaweth
429   $(call usbdep,kmod-usb-net @LINUX_2_6)
430   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
431   DESCRIPTION:=Kernel module for USB-to-Ethernet Kaweth convertors
432   KCONFIG:=CONFIG_USB_KAWETH
433   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.$(LINUX_KMOD_SUFFIX)
434   AUTOLOAD:=$(call Autoload,61,kaweth)
435 endef
436
437 $(eval $(call KernelPackage,usb-net-kaweth))
438
439
440 define KernelPackage/usb-net-pegasus
441   $(call usbdep,kmod-usb-net @LINUX_2_6)
442   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
443   DESCRIPTION:=Kernel module for USB-to-Ethernet Pegasus convertors
444   KCONFIG:=CONFIG_USB_PEGASUS
445   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.$(LINUX_KMOD_SUFFIX)
446   AUTOLOAD:=$(call Autoload,61,pegasus)
447 endef
448
449 $(eval $(call KernelPackage,usb-net-pegasus))
450
451
452 define KernelPackage/usb-hid
453   $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
454   TITLE:=Support for USB Human Input Devices
455   DESCRIPTION:=Kernel support for USB HID devices such as keyboards and mice
456   KCONFIG:=CONFIG_USB_HID
457   FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
458   AUTOLOAD:=$(call AutoLoad,70,usbhid)
459 endef
460
461 $(eval $(call KernelPackage,usb-hid))
462
463
464 define KernelPackage/usb-yealink
465   $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
466   TITLE:=USB Yealink VOIP phone
467   DESCRIPTION:=Kernel support for Yealink VOIP phone
468   KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
469   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
470   AUTOLOAD:=$(call AutoLoad,70,yealink)
471 endef
472
473 $(eval $(call KernelPackage,usb-yealink))