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