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