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