change dependency on kmod-atm from depends to select for usb atm modules
[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   DEPENDS:=@USB_SUPPORT
35   KCONFIG:=CONFIG_USB
36   AUTOLOAD:=$(call AutoLoad,20,usbcore)
37 endef
38
39 define KernelPackage/usb-core/2.4
40   FILES:=$(LINUX_DIR)/drivers/usb/usbcore.$(LINUX_KMOD_SUFFIX)
41 endef
42
43 define KernelPackage/usb-core/2.6
44   FILES:=$(LINUX_DIR)/drivers/usb/core/usbcore.$(LINUX_KMOD_SUFFIX)
45 endef
46
47 define KernelPackage/usb-core/description
48  Kernel support for USB
49 endef
50
51 $(eval $(call KernelPackage,usb-core))
52
53
54 define KernelPackage/usb-uhci
55   $(call usbdep,)
56   TITLE:=Support for UHCI controllers
57   KCONFIG:= \
58         CONFIG_USB_UHCI_ALT \
59         CONFIG_USB_UHCI_HCD
60 endef
61
62 define KernelPackage/usb-uhci/2.4
63 #  KCONFIG:=CONFIG_USB_UHCI_ALT
64   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci.o
65   AUTOLOAD:=$(call AutoLoad,50,uhci)
66 endef
67
68 define KernelPackage/usb-uhci/2.6
69 #  KCONFIG:=CONFIG_USB_UHCI_HCD
70   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
71   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd)
72 endef
73
74 define KernelPackage/usb-uhci/description
75  Kernel support for USB UHCI controllers
76 endef
77
78 $(eval $(call KernelPackage,usb-uhci))
79
80
81 define KernelPackage/usb-uhci-iv
82   $(call usbdep,@LINUX_2_4)
83   TITLE:=Support for Intel/VIA UHCI controllers 
84   KCONFIG:=CONFIG_USB_UHCI
85   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-uhci.$(LINUX_KMOD_SUFFIX)
86   AUTOLOAD:=$(call AutoLoad,50,usb-uhci) 
87 endef 
88
89 define KernelPackage/usb-uhci-iv/description
90  Kernel support for Intel/VIA USB UHCI controllers
91 endef
92
93 $(eval $(call KernelPackage,usb-uhci-iv)) 
94
95
96 define KernelPackage/usb-ohci
97   $(call usbdep,)
98   TITLE:=Support for OHCI controllers
99   KCONFIG:= \
100         CONFIG_USB_OHCI \
101         CONFIG_USB_OHCI_HCD
102 endef
103
104 define KernelPackage/usb-ohci/2.4
105 #  KCONFIG:=CONFIG_USB_OHCI
106   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-ohci.o
107   AUTOLOAD:=$(call AutoLoad,50,usb-ohci)
108 endef
109
110 define KernelPackage/usb-ohci/2.6
111 #  KCONFIG:=CONFIG_USB_OHCI_HCD
112   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko
113   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd)
114 endef
115
116 define KernelPackage/usb-ohci/description
117  Kernel support for USB OHCI controllers
118 endef
119
120 $(eval $(call KernelPackage,usb-ohci))
121
122
123 define KernelPackage/usb-adm5120
124   $(call usbdep,@TARGET_adm5120_router_be||@TARGET_adm5120_router_le)
125   TITLE:=Support for the ADM5120 HCD controller
126   KCONFIG:=CONFIG_USB_ADM5120_HCD
127   FILES:=$(LINUX_DIR)/drivers/usb/host/adm5120-hcd.$(LINUX_KMOD_SUFFIX)
128   AUTOLOAD:=$(call AutoLoad,50,adm5120-hcd)
129 endef
130
131 define KernelPackage/usb-adm5120/description
132  Kernel support for the ADM5120 HCD USB controller
133 endef
134
135 $(eval $(call KernelPackage,usb-adm5120))
136
137
138 define KernelPackage/usb2
139   $(call usbdep,)
140   TITLE:=Support for USB2 controllers
141   KCONFIG:=CONFIG_USB_EHCI_HCD
142   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
143   AUTOLOAD:=$(call AutoLoad,50,ehci-hcd)
144 endef
145
146 define KernelPackage/usb2/description
147  Kernel support for USB2 (EHCI) controllers
148 endef
149
150 $(eval $(call KernelPackage,usb2))
151
152
153 define KernelPackage/usb-acm
154   $(call usbdep,)
155   TITLE:=Support for modems/isdn controllers
156   KCONFIG:=CONFIG_USB_ACM
157 endef
158
159 define KernelPackage/usb-acm/2.4
160   FILES:=$(LINUX_DIR)/drivers/usb/acm.o
161   AUTOLOAD:=$(call AutoLoad,60,acm)
162 endef
163
164 define KernelPackage/usb-acm/2.6
165   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
166   AUTOLOAD:=$(call AutoLoad,60,cdc-acm)
167 endef
168
169 define KernelPackage/usb-acm/description
170  Kernel support for USB ACM devices (modems/isdn controllers)
171 endef
172
173 $(eval $(call KernelPackage,usb-acm))
174
175
176 define KernelPackage/usb-audio
177   $(call usbdep,+kmod-soundcore)
178   TITLE:=Support for audio devices
179   KCONFIG:= \
180         CONFIG_USB_AUDIO \
181         CONFIG_SND_USB_AUDIO
182 endef
183
184 define KernelPackage/usb-audio/2.4
185 #  KCONFIG:=CONFIG_USB_AUDIO
186   FILES:=$(LINUX_DIR)/drivers/usb/audio.o
187   AUTOLOAD:=$(call AutoLoad,60,audio)
188 endef
189
190 define KernelPackage/usb-audio/2.6
191 #  KCONFIG:=CONFIG_SND_USB_AUDIO
192   FILES:= \
193         $(LINUX_DIR)/sound/usb/snd-usb-lib.ko \
194         $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
195   AUTOLOAD:=$(call AutoLoad,60,snd-usb-lib snd-usb-audio)
196 endef
197
198 define KernelPackage/usb-audio/description
199  Kernel support for USB audio devices
200 endef
201
202 $(eval $(call KernelPackage,usb-audio))
203
204
205 define KernelPackage/usb-printer
206   $(call usbdep,)
207   TITLE:=Support for printers
208   KCONFIG:=CONFIG_USB_PRINTER
209 endef
210
211 define KernelPackage/usb-printer/2.4
212   FILES:=$(LINUX_DIR)/drivers/usb/printer.o
213   AUTOLOAD:=$(call AutoLoad,60,printer)
214 endef
215
216 define KernelPackage/usb-printer/2.6
217   FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
218   AUTOLOAD:=$(call AutoLoad,60,usblp)
219 endef
220
221 define KernelPackage/usb-printer/description
222  Kernel support for USB printers
223 endef
224
225 $(eval $(call KernelPackage,usb-printer))
226
227
228 define KernelPackage/usb-serial
229   $(call usbdep,)
230   TITLE:=Support for USB-to-Serial converters
231   KCONFIG:=CONFIG_USB_SERIAL
232   FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.$(LINUX_KMOD_SUFFIX)
233   AUTOLOAD:=$(call AutoLoad,60,usbserial)
234 endef
235
236 define KernelPackage/usb-serial/description
237  Kernel support for USB-to-Serial converters
238 endef
239
240 $(eval $(call KernelPackage,usb-serial))
241
242
243 define KernelPackage/usb-serial-airprime
244   $(call usbdep,kmod-usb-serial @LINUX_2_6)
245   TITLE:=Support for Airprime (EVDO) 
246   KCONFIG:=CONFIG_USB_SERIAL_AIRPRIME
247   FILES:=$(LINUX_DIR)/drivers/usb/serial/airprime.$(LINUX_KMOD_SUFFIX)
248   AUTOLOAD:=$(call AutoLoad,65,airprime)
249 endef
250
251 define KernelPackage/usb-serial-airprime/description
252  Kernel support for Airprime (EVDO) 
253 endef
254
255 $(eval $(call KernelPackage,usb-serial-airprime))
256
257
258 define KernelPackage/usb-serial-belkin
259   $(call usbdep,kmod-usb-serial)
260   TITLE:=Support for Belkin devices
261   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
262   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
263   AUTOLOAD:=$(call AutoLoad,65,belkin_sa)
264 endef
265
266 define KernelPackage/usb-serial-belkin/description
267  Kernel support for Belkin USB-to-Serial converters
268 endef
269
270 $(eval $(call KernelPackage,usb-serial-belkin))
271
272
273 define KernelPackage/usb-serial-ftdi
274   $(call usbdep,kmod-usb-serial)
275   TITLE:=Support for FTDI devices
276   KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
277   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.$(LINUX_KMOD_SUFFIX)
278   AUTOLOAD:=$(call AutoLoad,65,ftdi_sio)
279 endef
280
281 define KernelPackage/usb-serial-ftdi/description
282  Kernel support for FTDI USB-to-Serial converters
283 endef
284
285 $(eval $(call KernelPackage,usb-serial-ftdi))
286
287
288 define KernelPackage/usb-serial-mct
289   $(call usbdep,kmod-usb-serial)
290   TITLE:=Support for Magic Control Tech. devices
291   KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
292   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.$(LINUX_KMOD_SUFFIX)
293   AUTOLOAD:=$(call AutoLoad,65,mct_u232)
294 endef
295
296 define KernelPackage/usb-serial-mct/description
297  Kernel support for Magic Control Technology USB-to-Serial converters
298 endef
299
300 $(eval $(call KernelPackage,usb-serial-mct))
301
302
303 define KernelPackage/usb-serial-pl2303
304   $(call usbdep,kmod-usb-serial)
305   TITLE:=Support for Prolific PL2303 devices
306   KCONFIG:=CONFIG_USB_SERIAL_PL2303
307   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
308   AUTOLOAD:=$(call AutoLoad,65,pl2303)
309 endef
310
311 define KernelPackage/usb-serial-pl2303/description
312  Kernel support for Prolific PL2303 USB-to-Serial converters
313 endef
314
315 $(eval $(call KernelPackage,usb-serial-pl2303))
316
317
318 define KernelPackage/usb-serial-sierrawireless
319   $(call usbdep,kmod-usb-serial @LINUX_2_6)
320   TITLE:=Support for Sierra Wireless devices
321   KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
322   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
323   AUTOLOAD:=$(call AutoLoad,65,sierra)
324 endef
325
326 define KernelPackage/usb-serial-sierrawireless/description
327  Kernel support for Sierra Wireless devices
328 endef
329
330 $(eval $(call KernelPackage,usb-serial-sierrawireless))
331
332
333 define KernelPackage/usb-serial-visor
334   $(call usbdep,kmod-usb-serial)
335   TITLE:=Support for Handspring Visor devices
336   KCONFIG:=CONFIG_USB_SERIAL_VISOR
337   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.$(LINUX_KMOD_SUFFIX)
338   AUTOLOAD:=$(call AutoLoad,65,visor)
339 endef
340
341 define KernelPackage/usb-serial-visor/description
342  Kernel support for Handspring Visor PDAs
343 endef
344
345 $(eval $(call KernelPackage,usb-serial-visor))
346
347
348 define KernelPackage/usb-serial-keyspan
349   $(call usbdep,kmod-usb-serial)
350   TITLE:=Support for Keyspan USB-to-Serial devices
351   KCONFIG:= \
352         CONFIG_USB_SERIAL_KEYSPAN \
353         CONFIG_USB_SERIAL_KEYSPAN_USA28 \
354         CONFIG_USB_SERIAL_KEYSPAN_USA28X \
355         CONFIG_USB_SERIAL_KEYSPAN_USA28XA \
356         CONFIG_USB_SERIAL_KEYSPAN_USA28XB \
357         CONFIG_USB_SERIAL_KEYSPAN_USA19 \
358         CONFIG_USB_SERIAL_KEYSPAN_USA18X \
359         CONFIG_USB_SERIAL_KEYSPAN_USA19W \
360         CONFIG_USB_SERIAL_KEYSPAN_USA19QW \
361         CONFIG_USB_SERIAL_KEYSPAN_USA19QI \
362         CONFIG_USB_SERIAL_KEYSPAN_MPR \
363         CONFIG_USB_SERIAL_KEYSPAN_USA49W \
364         CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
365   FILES:=$(LINUX_DIR)/drivers/usb/serial/keyspan.$(LINUX_KMOD_SUFFIX)
366   AUTOLOAD:=$(call AutoLoad,65,keyspan)
367 endef
368
369 define KernelPackage/usb-serial-keyspan/description
370  Kernel support for Keyspan USB-to-Serial devices
371 endef
372
373 $(eval $(call KernelPackage,usb-serial-keyspan))
374
375
376 define KernelPackage/usb-serial-option
377   $(call usbdep,kmod-usb-serial @LINUX_2_6)
378   TITLE:=Support for Option HSDPA modems
379   KCONFIG:=CONFIG_USB_SERIAL_OPTION
380   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.$(LINUX_KMOD_SUFFIX)
381   AUTOLOAD:=$(call AutoLoad,65,option)
382 endef
383
384 define KernelPackage/usb-serial-option/description
385  Kernel support for Option HSDPA modems
386 endef
387
388 $(eval $(call KernelPackage,usb-serial-option))
389
390
391 define KernelPackage/usb-storage
392   $(call usbdep,+kmod-scsi-core)
393   TITLE:=USB Storage support
394   KCONFIG:=CONFIG_USB_STORAGE
395   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
396   AUTOLOAD:=$(call AutoLoad,60,scsi_mod sd_mod usb-storage)
397 endef
398
399 define KernelPackage/usb-storage/description
400  Kernel support for USB Mass Storage devices
401 endef
402
403 $(eval $(call KernelPackage,usb-storage))
404
405
406 define KernelPackage/usb-atm
407   $(call usbdep,@LINUX_2_6 +kmod-atm)
408   TITLE:=Support for ATM on USB bus
409   KCONFIG:=CONFIG_USB_ATM
410   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX)
411   AUTOLOAD:=$(call AutoLoad,60,usbatm)
412 endef
413
414 define KernelPackage/usb-atm/description
415  Kernel support for USB DSL modems
416 endef
417
418 $(eval $(call KernelPackage,usb-atm))
419
420
421 define KernelPackage/usb-speedtouch
422   $(call usbdep,@LINUX_2_6 +kmod-atm)
423   TITLE:=Support for SpeedTouch ADSL modems
424   KCONFIG:=CONFIG_USB_SPEEDTOUCH
425   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
426   AUTOLOAD:=$(call AutoLoad,70,speedtch)
427 endef
428
429 define KernelPackage/usb-speedtouch/description
430  Kernel support for SpeedTouch USB ADSL modems
431 endef
432
433 $(eval $(call KernelPackage,usb-speedtouch))
434
435
436 define KernelPackage/ueagle-atm
437   $(call usbdep,@LINUX_2_6 +kmod-atm)
438   TITLE:=Driver for Eagle 8051 based USB ADSL modems
439   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.$(LINUX_KMOD_SUFFIX)
440   KCONFIG:=CONFIG_USB_UEAGLEATM
441   AUTOLOAD:=$(call AutoLoad,70,ueagle-atm)
442 endef
443
444 define KernelPackage/ueagle-atm/description
445  Kernel support for Eagle 8051 based USB ADSL modems
446 endef
447
448 $(eval $(call KernelPackage,ueagle-atm))
449
450
451 define KernelPackage/usb-pwc
452   $(call usbdep,+kmod-videodev @LINUX_2_6)
453   TITLE:=Philips WebCam driver
454   KCONFIG:=CONFIG_USB_PWC CONFIG_VIDEO_V4L1=y CONFIG_VIDEO_CAPTURE_DRIVERS=y CONFIG_V4L_USB_DRIVERS=y CONFIG_USB_PWC_DEBUG=n
455   FILES:=$(LINUX_DIR)/drivers/media/video/pwc/pwc.$(LINUX_KMOD_SUFFIX)
456   AUTOLOAD:=$(call AutoLoad,70,pwc)
457 endef
458
459
460 define KernelPackage/usb-pwc/description
461  Kernel modules for supporting Philips WebCam USB devices
462 endef
463
464 $(eval $(call KernelPackage,usb-pwc))
465
466
467 define KernelPackage/cpia2
468   $(call usbdep,+kmod-videodev @LINUX_2_6)
469   TITLE:=CPIA2 video driver
470   KCONFIG:=CONFIG_VIDEO_CPIA2
471   FILES:=$(LINUX_DIR)/drivers/media/video/cpia2/cpia2.$(LINUX_KMOD_SUFFIX)
472   AUTOLOAD:=$(call AutoLoad,70,cpia2)
473 endef
474
475 define KernelPackage/cpia2/description
476  Kernel modules for CPIA2 WebCam devices
477 endef
478
479 $(eval $(call KernelPackage,cpia2))
480
481
482 define KernelPackage/usb-net
483   $(call usbdep,)
484   TITLE:=Kernel modules for USB-to-Ethernet convertors
485   KCONFIG:=CONFIG_USB_USBNET
486   AUTOLOAD:=$(call Autoload,60, usbnet)
487 endef
488
489 define KernelPackage/usb-net/2.4
490   FILES:=$(LINUX_DIR)/drivers/usb/usbnet.$(LINUX_KMOD_SUFFIX)
491 endef
492
493 define KernelPackage/usb-net/2.6
494   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.$(LINUX_KMOD_SUFFIX)
495 endef
496
497 define KernelPackage/usb-net/description
498  Kernel modules for USB-to-Ethernet convertors
499 endef
500
501 $(eval $(call KernelPackage,usb-net))
502
503
504 define KernelPackage/usb-net-asix
505   $(call usbdep,kmod-usb-net @LINUX_2_6)
506   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
507   KCONFIG:=CONFIG_USB_NET_AX8817X
508   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.$(LINUX_KMOD_SUFFIX)
509   AUTOLOAD:=$(call Autoload,61,asix)
510 endef
511
512 define KernelPackage/usb-net-asix/description
513  Kernel module for USB-to-Ethernet Asix convertors
514 endef
515
516 $(eval $(call KernelPackage,usb-net-asix))
517
518
519 define KernelPackage/usb-net-kaweth
520   $(call usbdep,kmod-usb-net @LINUX_2_6)
521   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
522   KCONFIG:=CONFIG_USB_KAWETH
523   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.$(LINUX_KMOD_SUFFIX)
524   AUTOLOAD:=$(call Autoload,61,kaweth)
525 endef
526
527 define KernelPackage/usb-net-kaweth/description
528  Kernel module for USB-to-Ethernet Kaweth convertors
529 endef
530
531 $(eval $(call KernelPackage,usb-net-kaweth))
532
533
534 define KernelPackage/usb-net-pegasus
535   $(call usbdep,kmod-usb-net @LINUX_2_6)
536   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
537   KCONFIG:=CONFIG_USB_PEGASUS
538   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.$(LINUX_KMOD_SUFFIX)
539   AUTOLOAD:=$(call Autoload,61,pegasus)
540 endef
541
542 define KernelPackage/usb-net-pegasus/description
543  Kernel module for USB-to-Ethernet Pegasus convertors
544 endef
545
546 $(eval $(call KernelPackage,usb-net-pegasus))
547
548
549 define KernelPackage/usb-hid
550   $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
551   TITLE:=Support for USB Human Input Devices
552   KCONFIG:=CONFIG_USB_HID
553   FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
554   AUTOLOAD:=$(call AutoLoad,70,usbhid)
555 endef
556
557
558 define KernelPackage/usb-hid/description
559  Kernel support for USB HID devices such as keyboards and mice
560 endef
561
562 $(eval $(call KernelPackage,usb-hid))
563
564
565 define KernelPackage/usb-yealink
566   $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
567   TITLE:=USB Yealink VOIP phone
568   KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
569   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
570   AUTOLOAD:=$(call AutoLoad,70,yealink)
571 endef
572
573 define KernelPackage/usb-yealink/description
574  Kernel support for Yealink VOIP phone
575 endef
576
577 $(eval $(call KernelPackage,usb-yealink))