package/kernel: use macros for hid & input
[openwrt.git] / package / kernel / modules / usb.mk
1 #
2 # Copyright (C) 2006-2008 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 USB_MENU:=USB Support
9
10 ifneq ($(CONFIG_LINUX_2_4),)
11   USBNET_DIR:=usb/net
12 endif
13
14 USBNET_DIR?=net/usb
15 USBHID_DIR?=hid/usbhid
16 USBINPUT_DIR?=input/misc
17
18 define KernelPackage/usb-core
19   SUBMENU:=$(USB_MENU)
20   TITLE:=Support for USB
21   DEPENDS:=@USB_SUPPORT +LINUX_2_6_31:kmod-nls-base +LINUX_2_6_32:kmod-nls-base +LINUX_2_6_33:kmod-nls-base +LINUX_2_6_34:kmod-nls-base
22   KCONFIG:=CONFIG_USB
23   AUTOLOAD:=$(call AutoLoad,20,usbcore,1)
24 endef
25
26 define KernelPackage/usb-core/2.4
27   FILES:=$(LINUX_DIR)/drivers/usb/usbcore.$(LINUX_KMOD_SUFFIX)
28 endef
29
30 define KernelPackage/usb-core/2.6
31   FILES:=$(LINUX_DIR)/drivers/usb/core/usbcore.$(LINUX_KMOD_SUFFIX)
32 endef
33
34 define KernelPackage/usb-core/description
35  Kernel support for USB
36 endef
37
38 $(eval $(call KernelPackage,usb-core))
39
40
41 define KernelPackage/usb/Depends
42   SUBMENU:=$(USB_MENU)
43   DEPENDS:=kmod-usb-core $(1)
44 endef
45
46
47 define KernelPackage/usb-uhci
48 $(call KernelPackage/usb/Depends,)
49   TITLE:=Support for UHCI controllers
50   KCONFIG:= \
51         CONFIG_USB_UHCI_ALT \
52         CONFIG_USB_UHCI_HCD
53 endef
54
55 define KernelPackage/usb-uhci/2.4
56 #  KCONFIG:=CONFIG_USB_UHCI_ALT
57   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci.o
58   AUTOLOAD:=$(call AutoLoad,50,uhci,1)
59 endef
60
61 define KernelPackage/usb-uhci/2.6
62 #  KCONFIG:=CONFIG_USB_UHCI_HCD
63   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
64   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd,1)
65 endef
66
67 define KernelPackage/usb-uhci/description
68  Kernel support for USB UHCI controllers
69 endef
70
71 $(eval $(call KernelPackage,usb-uhci,1))
72
73
74 define KernelPackage/usb-uhci-iv
75 $(call KernelPackage/usb/Depends,@LINUX_2_4)
76   TITLE:=Support for Intel/VIA UHCI controllers
77   KCONFIG:=CONFIG_USB_UHCI
78   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-uhci.$(LINUX_KMOD_SUFFIX)
79   AUTOLOAD:=$(call AutoLoad,50,usb-uhci,1)
80 endef
81
82 define KernelPackage/usb-uhci-iv/description
83  Kernel support for Intel/VIA USB UHCI controllers
84 endef
85
86 $(eval $(call KernelPackage,usb-uhci-iv,1))
87
88
89 define KernelPackage/usb-ohci
90 $(call KernelPackage/usb/Depends,)
91   TITLE:=Support for OHCI controllers
92   KCONFIG:= \
93         CONFIG_USB_OHCI \
94         CONFIG_USB_OHCI_HCD \
95         CONFIG_USB_OHCI_AR71XX=y
96 endef
97
98 define KernelPackage/usb-ohci/2.4
99 #  KCONFIG:=CONFIG_USB_OHCI
100   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-ohci.o
101   AUTOLOAD:=$(call AutoLoad,50,usb-ohci,1)
102 endef
103
104 define KernelPackage/usb-ohci/2.6
105 #  KCONFIG:=CONFIG_USB_OHCI_HCD
106   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko
107   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd,1)
108 endef
109
110 define KernelPackage/usb-ohci/description
111  Kernel support for USB OHCI controllers
112 endef
113
114 $(eval $(call KernelPackage,usb-ohci,1))
115
116
117 define KernelPackage/usb-adm5120
118 $(call KernelPackage/usb/Depends,@TARGET_adm5120_router_be||@TARGET_adm5120_router_le)
119   TITLE:=Support for the ADM5120 HCD controller
120   KCONFIG:=CONFIG_USB_ADM5120_HCD
121   FILES:=$(LINUX_DIR)/drivers/usb/host/adm5120-hcd.$(LINUX_KMOD_SUFFIX)
122   AUTOLOAD:=$(call AutoLoad,50,adm5120-hcd,1)
123 endef
124
125 define KernelPackage/usb-adm5120/description
126  Kernel support for the ADM5120 HCD USB controller
127 endef
128
129 $(eval $(call KernelPackage,usb-adm5120))
130
131 define KernelPackage/usb-etrax
132 $(call KernelPackage/usb/Depends,@TARGET_etrax)
133   TITLE:=Support for the ETRAX USB host controller
134   KCONFIG:=CONFIG_ETRAX_USB_HOST \
135         CONFIG_ETRAX_USB_HOST_PORT1=y CONFIG_ETRAX_USB_HOST_PORT2=y
136   FILES:=$(LINUX_DIR)/drivers/usb/host/hc-crisv10.$(LINUX_KMOD_SUFFIX)
137   AUTOLOAD:=$(call AutoLoad,50,hc-crisv10,1)
138 endef
139
140 define KernelPackage/usb-etrax/description
141  Kernel support for the ETRAX USB host controller
142 endef
143
144 $(eval $(call KernelPackage,usb-etrax))
145
146 define KernelPackage/usb-octeon
147 $(call KernelPackage/usb/Depends,@TARGET_octeon)
148   TITLE:=Support for the Octeon USB OTG controller
149   KCONFIG:=CONFIG_USB_DWC_OTG
150   FILES:=$(LINUX_DIR)/drivers/usb/host/dwc_otg/dwc_otg.$(LINUX_KMOD_SUFFIX)
151   AUTOLOAD:=$(call AutoLoad,50,dwc_otg)
152 endef
153
154 define KernelPackage/usb-octeon/description
155   Kernel support for the Octeon USB host controller
156 endef
157
158 $(eval $(call KernelPackage,usb-octeon))
159
160
161 define KernelPackage/usb-isp116x-hcd
162 $(call KernelPackage/usb/Depends,@TARGET_ppc40x)
163   TITLE:=Support for the ISP116x USB Host Controller
164   KCONFIG:= \
165         CONFIG_USB_ISP116X_HCD \
166         CONFIG_USB_ISP116X_HCD_OF=y \
167         CONFIG_USB_ISP116X_HCD_PLATFORM=n
168   FILES:=$(LINUX_DIR)/drivers/usb/host/isp116x-hcd.$(LINUX_KMOD_SUFFIX)
169   AUTOLOAD:=$(call AutoLoad,50,isp116x-hcd)
170 endef
171
172 define KernelPackage/usb-isp116x-hcd/description
173   Kernel support for the ISP116X USB Host Controller
174 endef
175
176 $(eval $(call KernelPackage,usb-isp116x-hcd))
177
178
179 define KernelPackage/usb2
180 $(call KernelPackage/usb/Depends,)
181   TITLE:=Support for USB2 controllers
182   KCONFIG:=CONFIG_USB_EHCI_HCD \
183     CONFIG_USB_EHCI_AR71XX=y
184   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
185   AUTOLOAD:=$(call AutoLoad,40,ehci-hcd,1)
186 endef
187
188 define KernelPackage/usb2/description
189  Kernel support for USB2 (EHCI) controllers
190 endef
191
192 $(eval $(call KernelPackage,usb2))
193
194
195 define KernelPackage/usb-acm
196 $(call KernelPackage/usb/Depends,)
197   TITLE:=Support for modems/isdn controllers
198   KCONFIG:=CONFIG_USB_ACM
199 endef
200
201 define KernelPackage/usb-acm/2.4
202   FILES:=$(LINUX_DIR)/drivers/usb/acm.o
203   AUTOLOAD:=$(call AutoLoad,60,acm)
204 endef
205
206 define KernelPackage/usb-acm/2.6
207   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
208   AUTOLOAD:=$(call AutoLoad,60,cdc-acm)
209 endef
210
211 define KernelPackage/usb-acm/description
212  Kernel support for USB ACM devices (modems/isdn controllers)
213 endef
214
215 $(eval $(call KernelPackage,usb-acm))
216
217
218 define KernelPackage/usb-audio
219 $(call KernelPackage/usb/Depends,+kmod-sound-core)
220   TITLE:=Support for USB audio devices
221   KCONFIG:= \
222         CONFIG_USB_AUDIO \
223         CONFIG_SND_USB_AUDIO
224 endef
225
226 define KernelPackage/usb-audio/2.4
227 #  KCONFIG:=CONFIG_USB_AUDIO
228   FILES:=$(LINUX_DIR)/drivers/usb/audio.o
229   AUTOLOAD:=$(call AutoLoad,60,audio)
230 endef
231
232 define KernelPackage/usb-audio/2.6
233 #  KCONFIG:=CONFIG_SND_USB_AUDIO
234   FILES:= \
235         $(LINUX_DIR)/sound/usb/snd-usb-lib.ko \
236         $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
237   AUTOLOAD:=$(call AutoLoad,60,snd-usb-lib snd-usb-audio)
238 endef
239
240 define KernelPackage/usb-audio/description
241  Kernel support for USB audio devices
242 endef
243
244 $(eval $(call KernelPackage,usb-audio))
245
246
247 define KernelPackage/usb-printer
248 $(call KernelPackage/usb/Depends,)
249   TITLE:=Support for printers
250   KCONFIG:=CONFIG_USB_PRINTER
251 endef
252
253 define KernelPackage/usb-printer/2.4
254   FILES:=$(LINUX_DIR)/drivers/usb/printer.o
255   AUTOLOAD:=$(call AutoLoad,60,printer)
256 endef
257
258 define KernelPackage/usb-printer/2.6
259   FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
260   AUTOLOAD:=$(call AutoLoad,60,usblp)
261 endef
262
263 define KernelPackage/usb-printer/description
264  Kernel support for USB printers
265 endef
266
267 $(eval $(call KernelPackage,usb-printer))
268
269
270 define KernelPackage/usb-serial
271 $(call KernelPackage/usb/Depends,)
272   TITLE:=Support for USB-to-Serial converters
273   KCONFIG:=CONFIG_USB_SERIAL
274   FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.$(LINUX_KMOD_SUFFIX)
275   AUTOLOAD:=$(call AutoLoad,60,usbserial)
276 endef
277
278 define KernelPackage/usb-serial/description
279  Kernel support for USB-to-Serial converters
280 endef
281
282 $(eval $(call KernelPackage,usb-serial))
283
284
285 define KernelPackage/usb-serial/Depends
286   SUBMENU:=$(USB_MENU)
287   DEPENDS:=kmod-usb-serial $(1)
288 endef
289
290
291 define KernelPackage/usb-serial-airprime
292 $(call KernelPackage/usb-serial/Depends,@LINUX_2_6)
293   TITLE:=Support for Airprime (EVDO)
294   KCONFIG:=CONFIG_USB_SERIAL_AIRPRIME
295   FILES:=$(LINUX_DIR)/drivers/usb/serial/airprime.$(LINUX_KMOD_SUFFIX)
296   AUTOLOAD:=$(call AutoLoad,65,airprime)
297 endef
298
299 define KernelPackage/usb-serial-airprime/description
300  Kernel support for Airprime (EVDO)
301 endef
302
303 $(eval $(call KernelPackage,usb-serial-airprime))
304
305
306 define KernelPackage/usb-serial-belkin
307 $(call KernelPackage/usb-serial/Depends,)
308   TITLE:=Support for Belkin devices
309   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
310   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
311   AUTOLOAD:=$(call AutoLoad,65,belkin_sa)
312 endef
313
314 define KernelPackage/usb-serial-belkin/description
315  Kernel support for Belkin USB-to-Serial converters
316 endef
317
318 $(eval $(call KernelPackage,usb-serial-belkin))
319
320
321 define KernelPackage/usb-serial-ch341
322 $(call KernelPackage/usb-serial/Depends,@LINUX_2_6)
323   TITLE:=Support for CH341 devices
324   KCONFIG:=CONFIG_USB_SERIAL_CH341
325   FILES:=$(LINUX_DIR)/drivers/usb/serial/ch341.$(LINUX_KMOD_SUFFIX)
326   AUTOLOAD:=$(call AutoLoad,65,ch341)
327 endef
328
329 define KernelPackage/usb-serial-belkin/description
330  Kernel support for Winchiphead CH341 USB-to-Serial converters
331 endef
332
333 $(eval $(call KernelPackage,usb-serial-ch341))
334
335
336 define KernelPackage/usb-serial-ftdi
337 $(call KernelPackage/usb-serial/Depends,)
338   TITLE:=Support for FTDI devices
339   KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
340   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.$(LINUX_KMOD_SUFFIX)
341   AUTOLOAD:=$(call AutoLoad,65,ftdi_sio)
342 endef
343
344 define KernelPackage/usb-serial-ftdi/description
345  Kernel support for FTDI USB-to-Serial converters
346 endef
347
348 $(eval $(call KernelPackage,usb-serial-ftdi))
349
350
351 define KernelPackage/usb-serial-mct
352 $(call KernelPackage/usb-serial/Depends,)
353   TITLE:=Support for Magic Control Tech. devices
354   KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
355   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.$(LINUX_KMOD_SUFFIX)
356   AUTOLOAD:=$(call AutoLoad,65,mct_u232)
357 endef
358
359 define KernelPackage/usb-serial-mct/description
360  Kernel support for Magic Control Technology USB-to-Serial converters
361 endef
362
363 $(eval $(call KernelPackage,usb-serial-mct))
364
365
366 define KernelPackage/usb-serial-pl2303
367 $(call KernelPackage/usb-serial/Depends,)
368   TITLE:=Support for Prolific PL2303 devices
369   KCONFIG:=CONFIG_USB_SERIAL_PL2303
370   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
371   AUTOLOAD:=$(call AutoLoad,65,pl2303)
372 endef
373
374 define KernelPackage/usb-serial-pl2303/description
375  Kernel support for Prolific PL2303 USB-to-Serial converters
376 endef
377
378 $(eval $(call KernelPackage,usb-serial-pl2303))
379
380
381 define KernelPackage/usb-serial-cp210x
382 $(call KernelPackage/usb-serial/Depends,)
383   TITLE:=Support for Silicon Labs cp210x devices
384   KCONFIG:=CONFIG_USB_SERIAL_CP210X
385   FILES:=$(LINUX_DIR)/drivers/usb/serial/cp210x.$(LINUX_KMOD_SUFFIX)
386   AUTOLOAD:=$(call AutoLoad,65,cp210x)
387 endef
388
389 define KernelPackage/usb-serial-cp210x/description
390  Kernel support for Silicon Labs cp210x USB-to-Serial converters
391 endef
392
393 $(eval $(call KernelPackage,usb-serial-cp210x))
394
395
396 define KernelPackage/usb-serial-ark3116
397 $(call KernelPackage/usb-serial/Depends,@LINUX_2_6)
398   TITLE:=Support for ArkMicroChips ARK3116 devices
399   KCONFIG:=CONFIG_USB_SERIAL_ARK3116
400   FILES:=$(LINUX_DIR)/drivers/usb/serial/ark3116.$(LINUX_KMOD_SUFFIX)
401   AUTOLOAD:=$(call AutoLoad,65,ark3116)
402 endef
403
404 define KernelPackage/usb-serial-ark3116/description
405  Kernel support for ArkMicroChips ARK3116 USB-to-Serial converters
406 endef
407
408 $(eval $(call KernelPackage,usb-serial-ark3116))
409
410
411 define KernelPackage/usb-serial-oti6858
412 $(call KernelPackage/usb-serial/Depends,@LINUX_2_6)
413   TITLE:=Support for Ours Technology OTI6858 devices
414   KCONFIG:=CONFIG_USB_SERIAL_OTI6858
415   FILES:=$(LINUX_DIR)/drivers/usb/serial/oti6858.$(LINUX_KMOD_SUFFIX)
416   AUTOLOAD:=$(call AutoLoad,65,oti6858)
417 endef
418
419 define KernelPackage/usb-serial-oti6858/description
420  Kernel support for Ours Technology OTI6858 USB-to-Serial converters
421 endef
422
423 $(eval $(call KernelPackage,usb-serial-oti6858))
424
425
426 define KernelPackage/usb-serial-sierrawireless
427 $(call KernelPackage/usb-serial/Depends,)
428   TITLE:=Support for Sierra Wireless devices
429   KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
430   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
431   AUTOLOAD:=$(call AutoLoad,65,sierra)
432 endef
433
434 define KernelPackage/usb-serial-sierrawireless/description
435  Kernel support for Sierra Wireless devices
436 endef
437
438 $(eval $(call KernelPackage,usb-serial-sierrawireless))
439
440
441 define KernelPackage/usb-serial-motorola-phone
442 $(call KernelPackage/usb-serial/Depends,)
443   TITLE:=Support for Motorola usb phone
444   KCONFIG:=CONFIG_USB_SERIAL_MOTOROLA
445   FILES:=$(LINUX_DIR)/drivers/usb/serial/moto_modem.$(LINUX_KMOD_SUFFIX)
446   AUTOLOAD:=$(call AutoLoad,65,moto_modem)
447 endef
448
449 define KernelPackage/usb-serial-motorola-phone/description
450  Kernel support for Motorola usb phone
451 endef
452
453 $(eval $(call KernelPackage,usb-serial-motorola-phone))
454
455
456
457 define KernelPackage/usb-serial-visor
458 $(call KernelPackage/usb-serial/Depends,)
459   TITLE:=Support for Handspring Visor devices
460   KCONFIG:=CONFIG_USB_SERIAL_VISOR
461   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.$(LINUX_KMOD_SUFFIX)
462   AUTOLOAD:=$(call AutoLoad,65,visor)
463 endef
464
465 define KernelPackage/usb-serial-visor/description
466  Kernel support for Handspring Visor PDAs
467 endef
468
469 $(eval $(call KernelPackage,usb-serial-visor))
470
471
472 define KernelPackage/usb-serial-cypress-m8
473 $(call KernelPackage/usb-serial/Depends,)
474   TITLE:=Support for CypressM8 USB-Serial
475   KCONFIG:=CONFIG_USB_SERIAL_CYPRESS_M8
476   FILES:=$(LINUX_DIR)/drivers/usb/serial/cypress_m8.$(LINUX_KMOD_SUFFIX)
477   AUTOLOAD:=$(call AutoLoad,65,cypress_m8)
478 endef
479
480 define KernelPackage/usb-serial-cypress-m8/description
481  Kernel support for devices with Cypress M8 USB to Serial chip
482  (for example, the Delorme Earthmate LT-20 GPS)
483  Supported microcontrollers in the CY4601 family are:
484        CY7C63741 CY7C63742 CY7C63743 CY7C64013
485 endef
486
487 $(eval $(call KernelPackage,usb-serial-cypress-m8))
488
489
490 define KernelPackage/usb-serial-keyspan
491 $(call KernelPackage/usb-serial/Depends,)
492   TITLE:=Support for Keyspan USB-to-Serial devices
493   KCONFIG:= \
494         CONFIG_USB_SERIAL_KEYSPAN \
495         CONFIG_USB_SERIAL_KEYSPAN_USA28 \
496         CONFIG_USB_SERIAL_KEYSPAN_USA28X \
497         CONFIG_USB_SERIAL_KEYSPAN_USA28XA \
498         CONFIG_USB_SERIAL_KEYSPAN_USA28XB \
499         CONFIG_USB_SERIAL_KEYSPAN_USA19 \
500         CONFIG_USB_SERIAL_KEYSPAN_USA18X \
501         CONFIG_USB_SERIAL_KEYSPAN_USA19W \
502         CONFIG_USB_SERIAL_KEYSPAN_USA19QW \
503         CONFIG_USB_SERIAL_KEYSPAN_USA19QI \
504         CONFIG_USB_SERIAL_KEYSPAN_MPR \
505         CONFIG_USB_SERIAL_KEYSPAN_USA49W \
506         CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
507   FILES:=$(LINUX_DIR)/drivers/usb/serial/keyspan.$(LINUX_KMOD_SUFFIX)
508   AUTOLOAD:=$(call AutoLoad,65,keyspan)
509 endef
510
511 define KernelPackage/usb-serial-keyspan/description
512  Kernel support for Keyspan USB-to-Serial devices
513 endef
514
515 $(eval $(call KernelPackage,usb-serial-keyspan))
516
517
518 define KernelPackage/usb-serial-option
519 $(call KernelPackage/usb-serial/Depends,@LINUX_2_6)
520   TITLE:=Support for Option HSDPA modems
521   KCONFIG:=CONFIG_USB_SERIAL_OPTION
522   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.$(LINUX_KMOD_SUFFIX)
523   AUTOLOAD:=$(call AutoLoad,65,option)
524 endef
525
526 define KernelPackage/usb-serial-option/description
527  Kernel support for Option HSDPA modems
528 endef
529
530 $(eval $(call KernelPackage,usb-serial-option))
531
532
533 define KernelPackage/usb-storage
534 $(call KernelPackage/usb/Depends,+!TARGET_x86:kmod-scsi-core)
535   TITLE:=USB Storage support
536   KCONFIG:=CONFIG_USB_STORAGE
537   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
538   AUTOLOAD:=$(call AutoLoad,60,usb-storage,1)
539 endef
540
541 define KernelPackage/usb-storage/description
542  Kernel support for USB Mass Storage devices
543 endef
544
545 $(eval $(call KernelPackage,usb-storage))
546
547 define KernelPackage/usb-storage-extras
548   SUBMENU:=$(USB_MENU)
549   TITLE:=Extra drivers for usb-storage
550   DEPENDS:=@LINUX_2_6 +kmod-usb-storage
551   KCONFIG:= \
552         CONFIG_USB_STORAGE_ALAUDA \
553         CONFIG_USB_STORAGE_CYPRESS_ATACB \
554         CONFIG_USB_STORAGE_DATAFAB \
555         CONFIG_USB_STORAGE_FREECOM \
556         CONFIG_USB_STORAGE_ISD200 \
557         CONFIG_USB_STORAGE_JUMPSHOT \
558         CONFIG_USB_STORAGE_KARMA \
559         CONFIG_USB_STORAGE_SDDR09 \
560         CONFIG_USB_STORAGE_SDDR55 \
561         CONFIG_USB_STORAGE_USBAT
562   FILES:= \
563         $(LINUX_DIR)/drivers/usb/storage/ums-alauda.$(LINUX_KMOD_SUFFIX) \
564         $(LINUX_DIR)/drivers/usb/storage/ums-cypress.$(LINUX_KMOD_SUFFIX) \
565         $(LINUX_DIR)/drivers/usb/storage/ums-datafab.$(LINUX_KMOD_SUFFIX) \
566         $(LINUX_DIR)/drivers/usb/storage/ums-freecom.$(LINUX_KMOD_SUFFIX) \
567         $(LINUX_DIR)/drivers/usb/storage/ums-isd200.$(LINUX_KMOD_SUFFIX) \
568         $(LINUX_DIR)/drivers/usb/storage/ums-jumpshot.$(LINUX_KMOD_SUFFIX) \
569         $(LINUX_DIR)/drivers/usb/storage/ums-karma.$(LINUX_KMOD_SUFFIX) \
570         $(LINUX_DIR)/drivers/usb/storage/ums-sddr09.$(LINUX_KMOD_SUFFIX) \
571         $(LINUX_DIR)/drivers/usb/storage/ums-sddr55.$(LINUX_KMOD_SUFFIX) \
572         $(LINUX_DIR)/drivers/usb/storage/ums-usbat.$(LINUX_KMOD_SUFFIX)
573   AUTOLOAD:=$(call AutoLoad,60,ums-alauda ums-cypress ums-datafab \
574                                 ums-freecom ums-isd200 ums-jumpshot \
575                                 ums-karma ums-sddr09 ums-sddr55 ums-usbat)
576 endef
577
578 define KernelPackage/usb-storage-extras/description
579   Say Y here if you want to have some more drivers,
580   such as for SmartMedia card readers.
581 endef
582
583 $(eval $(call KernelPackage,usb-storage-extras))
584
585
586 define KernelPackage/usb-video
587 $(call KernelPackage/usb/Depends,@LINUX_2_6)
588   TITLE:=Support for USB video devices
589   KCONFIG:=CONFIG_VIDEO_USBVIDEO
590   FILES:=$(LINUX_DIR)/drivers/media/video/usbvideo/usbvideo.$(LINUX_KMOD_SUFFIX)
591   AUTOLOAD:=$(call AutoLoad,61,usbvideo)
592 endef
593
594 define KernelPackage/usb-video/description
595  Kernel support for USB video devices
596 endef
597
598 $(eval $(call KernelPackage,usb-video))
599
600
601 define KernelPackage/usb-atm
602 $(call KernelPackage/usb/Depends,@LINUX_2_6 +kmod-atm)
603   TITLE:=Support for ATM on USB bus
604   KCONFIG:=CONFIG_USB_ATM
605   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX)
606   AUTOLOAD:=$(call AutoLoad,60,usbatm)
607 endef
608
609 define KernelPackage/usb-atm/description
610  Kernel support for USB DSL modems
611 endef
612
613 $(eval $(call KernelPackage,usb-atm))
614
615
616 define KernelPackage/usb-atm/Depends
617   SUBMENU:=$(USB_MENU)
618   DEPENDS:=kmod-usb-atm $(1)
619 endef
620
621
622 define KernelPackage/usb-atm-speedtouch
623 $(call KernelPackage/usb-atm/Depends,@LINUX_2_6)
624   TITLE:=SpeedTouch USB ADSL modems support
625   KCONFIG:=CONFIG_USB_SPEEDTOUCH
626   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
627   AUTOLOAD:=$(call AutoLoad,70,speedtch)
628 endef
629
630 define KernelPackage/usb-atm-speedtouch/description
631  Kernel support for SpeedTouch USB ADSL modems
632 endef
633
634 $(eval $(call KernelPackage,usb-atm-speedtouch))
635
636
637 define KernelPackage/usb-atm-ueagle
638 $(call KernelPackage/usb-atm/Depends,@LINUX_2_6)
639   TITLE:=Eagle 8051 based USB ADSL modems support
640   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.$(LINUX_KMOD_SUFFIX)
641   KCONFIG:=CONFIG_USB_UEAGLEATM
642   AUTOLOAD:=$(call AutoLoad,70,ueagle-atm)
643 endef
644
645 define KernelPackage/usb-atm-ueagle/description
646  Kernel support for Eagle 8051 based USB ADSL modems
647 endef
648
649 $(eval $(call KernelPackage,usb-atm-ueagle))
650
651
652 define KernelPackage/usb-atm-cxacru
653 $(call KernelPackage/usb-atm/Depends,@LINUX_2_6)
654   TITLE:=cxacru
655   FILES:=$(LINUX_DIR)/drivers/usb/atm/cxacru.$(LINUX_KMOD_SUFFIX)
656   KCONFIG:=CONFIG_USB_CXACRU
657   AUTOLOAD:=$(call AutoLoad,70,cxacru)
658 endef
659
660 define KernelPackage/usb-atm-cxacru/description
661  Kernel support for cxacru based USB ADSL modems
662 endef
663
664 $(eval $(call KernelPackage,usb-atm-cxacru))
665
666
667 define KernelPackage/usb-net
668 $(call KernelPackage/usb/Depends,)
669   TITLE:=Kernel modules for USB-to-Ethernet convertors
670   KCONFIG:=CONFIG_USB_USBNET
671   AUTOLOAD:=$(call AutoLoad,60,usbnet)
672 endef
673
674 define KernelPackage/usb-net/2.4
675   FILES:=$(LINUX_DIR)/drivers/usb/usbnet.$(LINUX_KMOD_SUFFIX)
676 endef
677
678 define KernelPackage/usb-net/2.6
679   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.$(LINUX_KMOD_SUFFIX)
680 endef
681
682 define KernelPackage/usb-net/description
683  Kernel modules for USB-to-Ethernet convertors
684 endef
685
686 $(eval $(call KernelPackage,usb-net))
687
688
689 define KernelPackage/usb-net/Depends
690   SUBMENU:=$(USB_MENU)
691   DEPENDS:=kmod-usb-net $(1)
692 endef
693
694
695 define KernelPackage/usb-net-asix
696 $(call KernelPackage/usb-net/Depends,@LINUX_2_6)
697   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
698   KCONFIG:=CONFIG_USB_NET_AX8817X
699   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.$(LINUX_KMOD_SUFFIX)
700   AUTOLOAD:=$(call AutoLoad,61,asix)
701 endef
702
703 define KernelPackage/usb-net-asix/description
704  Kernel module for USB-to-Ethernet Asix convertors
705 endef
706
707 $(eval $(call KernelPackage,usb-net-asix))
708
709
710 define KernelPackage/usb-net-hso
711 $(call KernelPackage/usb-net/Depends,@LINUX_2_6)
712   TITLE:=Kernel module for Option USB High Speed Mobile Devices
713   KCONFIG:=CONFIG_USB_HSO
714   FILES:= \
715         $(LINUX_DIR)/drivers/$(USBNET_DIR)/hso.$(LINUX_KMOD_SUFFIX)
716   AUTOLOAD:=$(call AutoLoad,61,hso)
717   $(call AddDepends/rfkill)
718 endef
719
720 define KernelPackage/usb-net-hso/description
721  Kernel module for Option USB High Speed Mobile Devices
722 endef
723
724 $(eval $(call KernelPackage,usb-net-hso))
725
726
727 define KernelPackage/usb-net-kaweth
728 $(call KernelPackage/usb-net/Depends,@LINUX_2_6)
729   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
730   KCONFIG:=CONFIG_USB_KAWETH
731   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.$(LINUX_KMOD_SUFFIX)
732   AUTOLOAD:=$(call AutoLoad,61,kaweth)
733 endef
734
735 define KernelPackage/usb-net-kaweth/description
736  Kernel module for USB-to-Ethernet Kaweth convertors
737 endef
738
739 $(eval $(call KernelPackage,usb-net-kaweth))
740
741
742 define KernelPackage/usb-net-pegasus
743 $(call KernelPackage/usb-net/Depends,@LINUX_2_6)
744   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
745   KCONFIG:=CONFIG_USB_PEGASUS
746   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.$(LINUX_KMOD_SUFFIX)
747   AUTOLOAD:=$(call AutoLoad,61,pegasus)
748 endef
749
750 define KernelPackage/usb-net-pegasus/description
751  Kernel module for USB-to-Ethernet Pegasus convertors
752 endef
753
754 $(eval $(call KernelPackage,usb-net-pegasus))
755
756
757 define KernelPackage/usb-net-mcs7830
758 $(call KernelPackage/usb-net/Depends,@LINUX_2_6)
759   TITLE:=Kernel module for USB-to-Ethernet MCS7830 convertors
760   KCONFIG:=CONFIG_USB_NET_MCS7830
761   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/mcs7830.$(LINUX_KMOD_SUFFIX)
762   AUTOLOAD:=$(call AutoLoad,61,mcs7830)
763 endef
764
765 define KernelPackage/usb-net-mcs7830/description
766  Kernel module for USB-to-Ethernet MCS7830 convertors
767 endef
768
769 $(eval $(call KernelPackage,usb-net-mcs7830))
770
771
772 define KernelPackage/usb-net-dm9601-ether
773 $(call KernelPackage/usb-net/Depends,@LINUX_2_6)
774   TITLE:=Support for DM9601 ethernet connections
775   KCONFIG:=CONFIG_USB_NET_DM9601
776   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/dm9601.$(LINUX_KMOD_SUFFIX)
777   AUTOLOAD:=$(call AutoLoad,61,dm9601)
778 endef
779
780 define KernelPackage/usb-net-dm9601-ether/description
781   Kernel support for USB DM9601 devices
782 endef
783
784 $(eval $(call KernelPackage,usb-net-dm9601-ether))
785
786 define KernelPackage/usb-net-cdc-ether
787 $(call KernelPackage/usb-net/Depends,@LINUX_2_6)
788   TITLE:=Support for cdc ethernet connections
789   KCONFIG:=CONFIG_USB_NET_CDCETHER
790   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ether.$(LINUX_KMOD_SUFFIX)
791   AUTOLOAD:=$(call AutoLoad,61,cdc_ether)
792 endef
793
794 define KernelPackage/usb-net-cdc-ether/description
795  Kernel support for USB CDC Ethernet devices
796 endef
797
798 $(eval $(call KernelPackage,usb-net-cdc-ether))
799
800
801 define KernelPackage/usb-net-rndis
802 $(call KernelPackage/usb-net/Depends,@LINUX_2_6 +kmod-usb-net-cdc-ether)
803   TITLE:=Support for RNDIS connections
804   KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
805   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.$(LINUX_KMOD_SUFFIX)
806   AUTOLOAD:=$(call AutoLoad,62,rndis_host)
807 endef
808
809 define KernelPackage/usb-net-rndis/description
810  Kernel support for RNDIS connections
811 endef
812
813 $(eval $(call KernelPackage,usb-net-rndis))
814
815
816 define KernelPackage/usb-hid
817 $(call KernelPackage/usb/Depends,@LINUX_2_6 +kmod-input-evdev)
818   TITLE:=Support for USB Human Input Devices
819   KCONFIG:=CONFIG_HID_SUPPORT=y CONFIG_USB_HID
820   FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
821   AUTOLOAD:=$(call AutoLoad,70,usbhid)
822   $(call AddDepends/hid)
823   $(call AddDepends/input)
824 endef
825
826
827 define KernelPackage/usb-hid/description
828  Kernel support for USB HID devices such as keyboards and mice
829 endef
830
831 $(eval $(call KernelPackage,usb-hid))
832
833
834 define KernelPackage/usb-yealink
835 $(call KernelPackage/usb/Depends,@LINUX_2_6 +kmod-input-evdev)
836   TITLE:=USB Yealink VOIP phone
837   KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
838   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
839   AUTOLOAD:=$(call AutoLoad,70,yealink)
840   $(call AddDepends/input)
841 endef
842
843 define KernelPackage/usb-yealink/description
844  Kernel support for Yealink VOIP phone
845 endef
846
847 $(eval $(call KernelPackage,usb-yealink))
848
849
850 define KernelPackage/usb-cm109
851 $(call KernelPackage/usb/Depends,@LINUX_2_6 +kmod-input-evdev)
852   TITLE:=Support for CM109 device
853   KCONFIG:=CONFIG_USB_CM109 CONFIG_INPUT_CM109 CONFIG_INPUT=m CONFIG_INPUT_MISC=y
854   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/cm109.ko
855   AUTOLOAD:=$(call AutoLoad,70,cm109)
856   $(call AddDepends/input)
857 endef
858
859 define KernelPackage/usb-cm109/description
860  Kernel support for CM109 VOIP phone
861 endef
862
863 $(eval $(call KernelPackage,usb-cm109))
864
865
866 define KernelPackage/usb-test
867 $(call KernelPackage/usb/Depends,@LINUX_2_6 @DEVEL)
868   TITLE:=USB Testing Driver
869   KCONFIG:=CONFIG_USB_TEST
870   FILES:=$(LINUX_DIR)/drivers/usb/misc/usbtest.ko
871 endef
872
873 define KernelPackage/usb-test/description
874  Kernel support for testing USB Host Controller software.
875 endef
876
877 $(eval $(call KernelPackage,usb-test))
878
879
880 define KernelPackage/usb-phidget
881 $(call KernelPackage/usb/Depends,@LINUX_2_6)
882   TITLE:=USB Phidget Driver
883   KCONFIG:=CONFIG_USB_PHIDGET CONFIG_USB_PHIDGETKIT CONFIG_USB_PHIDGETMOTORCONTROL CONFIG_USB_PHIDGETSERVO
884   FILES:=$(LINUX_DIR)/drivers/usb/misc/phidget*.ko
885 endef
886
887 define KernelPackage/usb-phidget/description
888  Kernel support for USB Phidget devices.
889 endef
890
891 $(eval $(call KernelPackage,usb-phidget))
892