omap: build various core drivers into the kernel instead of packaging them
[oweals/openwrt.git] / package / kernel / linux / modules / usb.mk
1 #
2 # Copyright (C) 2006-2014 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/common/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-ledtrig-usbport
40   TITLE:=LED trigger for USB ports
41   KCONFIG:=CONFIG_USB_LEDS_TRIGGER_USBPORT
42   DEPENDS:=@!LINUX_3_18
43   FILES:=$(LINUX_DIR)/drivers/usb/core/ledtrig-usbport.ko
44   AUTOLOAD:=$(call AutoLoad,50,ledtrig-usbport)
45   $(call AddDepends/usb)
46 endef
47
48 define KernelPackage/usb-ledtrig-usbport/description
49   This driver allows LEDs to be controlled by USB events. Enabling this
50   trigger allows specifying list of USB ports that should turn on LED
51   when some USB device gets connected.
52   If possible it should be prefered over similar ledtrig-usbdev.
53 endef
54
55 $(eval $(call KernelPackage,usb-ledtrig-usbport))
56
57
58 define KernelPackage/usb-musb-hdrc
59   TITLE:=Support for Mentor Graphics silicon dual role USB
60   KCONFIG:= \
61         CONFIG_USB_MUSB_HDRC \
62         CONFIG_USB_INVENTRA_DMA=n \
63         CONFIG_USB_TI_CPPI41_DMA=n \
64         CONFIG_MUSB_PIO_ONLY=y \
65         CONFIG_USB_MUSB_DUAL_ROLE=y \
66         CONFIG_USB_MUSB_GADGET=n \
67         CONFIG_USB_MUSB_HOST=n \
68         CONFIG_USB_MUSB_DEBUG=y
69   DEPENDS:= \
70         @TARGET_omap24xx +kmod-usb-gadget +kmod-usb-musb-tusb6010
71   FILES:=$(LINUX_DIR)/drivers/usb/musb/musb_hdrc.ko
72   AUTOLOAD:=$(call AutoLoad,46,musb_hdrc)
73   $(call AddDepends/usb)
74 endef
75
76 define KernelPackage/usb-musb-hdrc/description
77   Kernel support for Mentor Graphics silicon dual role USB device.
78 endef
79
80 $(eval $(call KernelPackage,usb-musb-hdrc))
81
82
83 define KernelPackage/usb-musb-tusb6010
84   TITLE:=Support for TUSB 6010
85   KCONFIG:=CONFIG_USB_MUSB_TUSB6010
86   DEPENDS:=@TARGET_omap24xx
87   $(call AddDepends/usb)
88 endef
89
90 define KernelPackage/usb-musb-tusb6010/description
91   TUSB6010 support
92 endef
93
94 $(eval $(call KernelPackage,usb-musb-tusb6010))
95
96
97 define KernelPackage/usb-phy-nop
98   TITLE:=Support for USB NOP transceiver
99   KCONFIG:=CONFIG_NOP_USB_XCEIV
100   HIDDEN:=1
101   FILES:=$(LINUX_DIR)/drivers/usb/phy/phy-generic.ko
102   AUTOLOAD:=$(call AutoLoad,43,phy-generic)
103   $(call AddDepends/usb)
104 endef
105
106 define KernelPackage/usb-phy-nop/description
107   Support for USB NOP transceiver
108 endef
109
110 $(eval $(call KernelPackage,usb-phy-nop))
111
112
113 define KernelPackage/usb-gadget
114   TITLE:=USB Gadget support
115   KCONFIG:=CONFIG_USB_GADGET
116   HIDDEN:=1
117   FILES:=\
118         $(LINUX_DIR)/drivers/usb/gadget/udc/udc-core.ko
119   AUTOLOAD:=$(call AutoLoad,45,udc-core)
120   DEPENDS:=@USB_GADGET_SUPPORT
121   $(call AddDepends/usb)
122 endef
123
124 define KernelPackage/usb-gadget/description
125  Kernel support for USB Gadget mode
126 endef
127
128 $(eval $(call KernelPackage,usb-gadget))
129
130 define KernelPackage/usb-lib-composite
131   TITLE:=USB lib composite
132   KCONFIG:=CONFIG_USB_LIBCOMPOSITE
133   DEPENDS:=+kmod-usb-gadget +kmod-fs-configfs
134   HIDDEN:=1
135   FILES:=$(LINUX_DIR)/drivers/usb/gadget/libcomposite.ko
136   AUTOLOAD:=$(call AutoLoad,50,libcomposite)
137   $(call AddDepends/usb)
138 endef
139
140 define KernelPackage/usb-lib-composite/description
141  Lib Composite
142 endef
143
144 $(eval $(call KernelPackage,usb-lib-composite))
145
146 define KernelPackage/usb-gadget-ehci-debug
147   TITLE:=USB EHCI debug port Gadget support
148   KCONFIG:=\
149         CONFIG_USB_G_DBGP \
150         CONFIG_USB_G_DBGP_SERIAL=y \
151         CONFIG_USB_G_DBGP_PRINTK=n
152   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite +kmod-usb-gadget-serial
153   FILES:=$(LINUX_DIR)/drivers/usb/gadget/legacy/g_dbgp.ko
154   AUTOLOAD:=$(call AutoLoad,52,g_dbgp)
155   $(call AddDepends/usb)
156 endef
157
158 define KernelPackage/usb-gadget-ehci-debug/description
159   Kernel support for USB EHCI debug port Gadget.
160 endef
161
162 $(eval $(call KernelPackage,usb-gadget-ehci-debug))
163
164 define KernelPackage/usb-gadget-eth
165   TITLE:=USB Ethernet Gadget support
166   KCONFIG:= \
167         CONFIG_USB_ETH \
168         CONFIG_USB_ETH_RNDIS=y \
169         CONFIG_USB_ETH_EEM=n
170   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
171   FILES:= \
172         $(LINUX_DIR)/drivers/usb/gadget/function/u_ether.ko \
173         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm.ko \
174         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm_subset.ko \
175         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_rndis.ko \
176         $(LINUX_DIR)/drivers/usb/gadget/legacy/g_ether.ko
177   AUTOLOAD:=$(call AutoLoad,52,usb_f_ecm g_ether)
178   $(call AddDepends/usb)
179 endef
180
181 define KernelPackage/usb-gadget-eth/description
182  Kernel support for USB Ethernet Gadget
183 endef
184
185 $(eval $(call KernelPackage,usb-gadget-eth))
186
187
188 define KernelPackage/usb-gadget-serial
189   TITLE:=USB Serial Gadget support
190   KCONFIG:=CONFIG_USB_G_SERIAL
191   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
192   FILES:= \
193         $(LINUX_DIR)/drivers/usb/gadget/function/u_serial.ko \
194         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_acm.ko \
195         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_obex.ko \
196         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_serial.ko \
197         $(LINUX_DIR)/drivers/usb/gadget/legacy/g_serial.ko
198   AUTOLOAD:=$(call AutoLoad,52,usb_f_acm g_serial)
199   $(call AddDepends/usb)
200 endef
201
202 define KernelPackage/usb-gadget-serial/description
203   Kernel support for USB Serial Gadget.
204 endef
205
206 $(eval $(call KernelPackage,usb-gadget-serial))
207
208 define KernelPackage/usb-gadget-mass-storage
209   TITLE:=USB Mass Storage support
210   KCONFIG:=CONFIG_USB_MASS_STORAGE
211   DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite
212   FILES:= \
213         $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_mass_storage.ko \
214         $(LINUX_DIR)/drivers/usb/gadget/legacy/g_mass_storage.ko
215   AUTOLOAD:=$(call AutoLoad,52,usb_f_mass_storage g_mass_storage)
216   $(call AddDepends/usb)
217 endef
218
219 define KernelPackage/usb-gadget-mass-storage/description
220   Kernel support for USB Gadget Mass Storage
221 endef
222
223 $(eval $(call KernelPackage,usb-gadget-mass-storage))
224
225
226 define KernelPackage/usb-uhci
227   TITLE:=Support for UHCI controllers
228   KCONFIG:= \
229         CONFIG_USB_UHCI_ALT \
230         CONFIG_USB_UHCI_HCD
231   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
232   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd,1)
233   $(call AddDepends/usb)
234 endef
235
236 define KernelPackage/usb-uhci/description
237  Kernel support for USB UHCI controllers
238 endef
239
240 $(eval $(call KernelPackage,usb-uhci,1))
241
242
243 define KernelPackage/usb-ohci
244   TITLE:=Support for OHCI controllers
245   DEPENDS:= \
246         +TARGET_bcm53xx:kmod-usb-bcma \
247         +TARGET_brcm47xx:kmod-usb-bcma \
248         +TARGET_brcm47xx:kmod-usb-ssb
249   KCONFIG:= \
250         CONFIG_USB_OHCI \
251         CONFIG_USB_OHCI_HCD \
252         CONFIG_USB_OHCI_ATH79=y \
253         CONFIG_USB_OHCI_HCD_AT91=y \
254         CONFIG_USB_OHCI_BCM63XX=y \
255         CONFIG_USB_OCTEON_OHCI=y \
256         CONFIG_USB_OHCI_HCD_OMAP3=y \
257         CONFIG_USB_OHCI_HCD_PLATFORM=y
258   FILES:= \
259         $(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko \
260         $(LINUX_DIR)/drivers/usb/host/ohci-platform.ko
261   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ohci-at91.ko),)
262     FILES+=$(LINUX_DIR)/drivers/usb/host/ohci-at91.ko
263   endif
264   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd ohci-platform ohci-at91,1)
265   $(call AddDepends/usb)
266 endef
267
268 define KernelPackage/usb-ohci/description
269  Kernel support for USB OHCI controllers
270 endef
271
272 $(eval $(call KernelPackage,usb-ohci,1))
273
274
275 define KernelPackage/usb-ohci-pci
276   TITLE:=Support for PCI OHCI controllers
277   DEPENDS:=@PCI_SUPPORT +kmod-usb-ohci
278   KCONFIG:=CONFIG_USB_OHCI_HCD_PCI
279   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-pci.ko
280   AUTOLOAD:=$(call AutoLoad,51,ohci-pci,1)
281   $(call AddDepends/usb)
282 endef
283
284 define KernelPackage/usb-ohci-pci/description
285  Kernel support for PCI OHCI controllers
286 endef
287
288 $(eval $(call KernelPackage,usb-ohci-pci))
289
290
291 define KernelPackage/usb-bcma
292   TITLE:=Support for BCMA USB controllers
293   DEPENDS:=@USB_SUPPORT @TARGET_brcm47xx||TARGET_bcm53xx
294   HIDDEN:=1
295   KCONFIG:=CONFIG_USB_HCD_BCMA
296   FILES:= \
297         $(if $(CONFIG_USB_HCD_BCMA),$(LINUX_DIR)/drivers/usb/host/bcma-hcd.ko)
298   AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_BCMA),bcma-hcd),1)
299   $(call AddDepends/usb)
300 endef
301 $(eval $(call KernelPackage,usb-bcma))
302
303 define KernelPackage/usb-ssb
304   TITLE:=Support for SSB USB controllers
305   DEPENDS:=@USB_SUPPORT @TARGET_brcm47xx
306   HIDDEN:=1
307   KCONFIG:=CONFIG_USB_HCD_SSB
308   FILES:= \
309         $(if $(CONFIG_USB_HCD_SSB),$(LINUX_DIR)/drivers/usb/host/ssb-hcd.ko)
310   AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_SSB),ssb-hcd),1)
311   $(call AddDepends/usb)
312 endef
313 $(eval $(call KernelPackage,usb-ssb))
314
315 define KernelPackage/usb2
316   TITLE:=Support for USB2 controllers
317   DEPENDS:=\
318         +TARGET_brcm47xx:kmod-usb-bcma \
319         +TARGET_brcm47xx:kmod-usb-ssb \
320         +TARGET_bcm53xx:kmod-usb-bcma \
321         +TARGET_bcm53xx:kmod-phy-bcm-ns-usb2
322   KCONFIG:=\
323         CONFIG_USB_EHCI_HCD \
324         CONFIG_USB_EHCI_ATH79=y \
325         CONFIG_USB_EHCI_BCM63XX=y \
326         CONFIG_USB_IMX21_HCD=y \
327         CONFIG_USB_EHCI_MXC=y \
328         CONFIG_USB_OCTEON_EHCI=y \
329         CONFIG_USB_EHCI_HCD_ORION=y \
330         CONFIG_USB_EHCI_HCD_PLATFORM=y \
331         CONFIG_USB_EHCI_HCD_AT91=y \
332         CONFIG_USB_EHCI_FSL
333   FILES:= \
334         $(LINUX_DIR)/drivers/usb/host/ehci-hcd.ko \
335         $(LINUX_DIR)/drivers/usb/host/ehci-platform.ko
336   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-orion.ko),)
337     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-orion.ko
338   endif
339   ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko),)
340     FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko
341   endif
342   AUTOLOAD:=$(call AutoLoad,40,ehci-hcd ehci-platform ehci-orion ehci-atmel,1)
343   $(call AddDepends/usb)
344 endef
345
346 define KernelPackage/usb2/description
347  Kernel support for USB2 (EHCI) controllers
348 endef
349
350 $(eval $(call KernelPackage,usb2))
351
352
353 define KernelPackage/usb2-pci
354   TITLE:=Support for PCI USB2 controllers
355   DEPENDS:=@PCI_SUPPORT +kmod-usb2
356   KCONFIG:=CONFIG_USB_EHCI_PCI
357   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko
358   AUTOLOAD:=$(call AutoLoad,42,ehci-pci,1)
359   $(call AddDepends/usb)
360 endef
361
362 define KernelPackage/usb2-pci/description
363  Kernel support for PCI USB2 (EHCI) controllers
364 endef
365
366 $(eval $(call KernelPackage,usb2-pci))
367
368
369 define KernelPackage/usb-dwc2
370   TITLE:=DWC2 USB controller driver
371   DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget
372   KCONFIG:= \
373         CONFIG_USB_DWC2 \
374         CONFIG_USB_DWC2_PCI \
375         CONFIG_USB_DWC2_PLATFORM \
376         CONFIG_USB_DWC2_DEBUG=n \
377         CONFIG_USB_DWC2_VERBOSE=n \
378         CONFIG_USB_DWC2_TRACK_MISSED_SOFS=n \
379         CONFIG_USB_DWC2_DEBUG_PERIODIC=n
380   FILES:= \
381         $(LINUX_DIR)/drivers/usb/dwc2/dwc2.ko \
382         $(LINUX_DIR)/drivers/usb/dwc2/dwc2_platform.ko@lt4.3
383   AUTOLOAD:=$(call AutoLoad,54,dwc2 dwc2_platform@lt4.3,1)
384   $(call AddDepends/usb)
385 endef
386
387 define KernelPackage/usb-dwc2/description
388  This driver provides USB Device Controller support for the
389  Synopsys DesignWare USB OTG Core
390 endef
391
392 $(eval $(call KernelPackage,usb-dwc2))
393
394
395 define KernelPackage/usb-dwc3
396   TITLE:=DWC3 USB controller driver
397   KCONFIG:= \
398         CONFIG_USB_DWC3 \
399         CONFIG_USB_DWC3_HOST=y \
400         CONFIG_USB_DWC3_GADGET=n \
401         CONFIG_USB_DWC3_DUAL_ROLE=n \
402         CONFIG_USB_DWC3_DEBUG=n \
403         CONFIG_USB_DWC3_VERBOSE=n
404   FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3.ko
405   AUTOLOAD:=$(call AutoLoad,54,dwc3,1)
406   $(call AddDepends/usb)
407 endef
408
409 define KernelPackage/usb-dwc3/description
410  This driver provides support for the Dual Role SuperSpeed
411  USB Controller based on the Synopsys DesignWare USB3 IP Core
412 endef
413
414 $(eval $(call KernelPackage,usb-dwc3))
415
416
417 define KernelPackage/usb-acm
418   TITLE:=Support for modems/isdn controllers
419   KCONFIG:=CONFIG_USB_ACM
420   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
421   AUTOLOAD:=$(call AutoProbe,cdc-acm)
422 $(call AddDepends/usb)
423 endef
424
425 define KernelPackage/usb-acm/description
426  Kernel support for USB ACM devices (modems/isdn controllers)
427 endef
428
429 $(eval $(call KernelPackage,usb-acm))
430
431
432 define KernelPackage/usb-wdm
433   TITLE:=USB Wireless Device Management
434   KCONFIG:=CONFIG_USB_WDM
435   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-wdm.ko
436   AUTOLOAD:=$(call AutoProbe,cdc-wdm)
437 $(call AddDepends/usb)
438 $(call AddDepends/usb-net)
439 endef
440
441 define KernelPackage/usb-wdm/description
442  USB Wireless Device Management support
443 endef
444
445 $(eval $(call KernelPackage,usb-wdm))
446
447
448 define KernelPackage/usb-audio
449   TITLE:=Support for USB audio devices
450   KCONFIG:= \
451         CONFIG_USB_AUDIO \
452         CONFIG_SND_USB=y \
453         CONFIG_SND_USB_AUDIO
454   $(call AddDepends/usb)
455   $(call AddDepends/sound)
456   FILES:= \
457         $(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
458         $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
459   AUTOLOAD:=$(call AutoProbe,snd-usbmidi-lib snd-usb-audio)
460 endef
461
462 define KernelPackage/usb-audio/description
463  Kernel support for USB audio devices
464 endef
465
466 $(eval $(call KernelPackage,usb-audio))
467
468
469 define KernelPackage/usb-printer
470   TITLE:=Support for printers
471   KCONFIG:=CONFIG_USB_PRINTER
472   FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
473   AUTOLOAD:=$(call AutoProbe,usblp)
474   $(call AddDepends/usb)
475 endef
476
477 define KernelPackage/usb-printer/description
478  Kernel support for USB printers
479 endef
480
481 $(eval $(call KernelPackage,usb-printer))
482
483
484 define KernelPackage/usb-serial
485   TITLE:=Support for USB-to-Serial converters
486   KCONFIG:=CONFIG_USB_SERIAL
487   FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.ko
488   AUTOLOAD:=$(call AutoProbe,usbserial)
489   $(call AddDepends/usb)
490 endef
491
492 define KernelPackage/usb-serial/description
493  Kernel support for USB-to-Serial converters
494 endef
495
496 $(eval $(call KernelPackage,usb-serial))
497
498
499 define AddDepends/usb-serial
500   SUBMENU:=$(USB_MENU)
501   DEPENDS+=kmod-usb-serial $(1)
502 endef
503
504
505 define KernelPackage/usb-serial-belkin
506   TITLE:=Support for Belkin devices
507   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
508   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.ko
509   AUTOLOAD:=$(call AutoProbe,belkin_sa)
510   $(call AddDepends/usb-serial)
511 endef
512
513 define KernelPackage/usb-serial-belkin/description
514  Kernel support for Belkin USB-to-Serial converters
515 endef
516
517 $(eval $(call KernelPackage,usb-serial-belkin))
518
519
520 define KernelPackage/usb-serial-ch341
521   TITLE:=Support for CH341 devices
522   KCONFIG:=CONFIG_USB_SERIAL_CH341
523   FILES:=$(LINUX_DIR)/drivers/usb/serial/ch341.ko
524   AUTOLOAD:=$(call AutoProbe,ch341)
525   $(call AddDepends/usb-serial)
526 endef
527
528 define KernelPackage/usb-serial-ch341/description
529  Kernel support for Winchiphead CH341 USB-to-Serial converters
530 endef
531
532 $(eval $(call KernelPackage,usb-serial-ch341))
533
534
535 define KernelPackage/usb-serial-ftdi
536   TITLE:=Support for FTDI devices
537   KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
538   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.ko
539   AUTOLOAD:=$(call AutoProbe,ftdi_sio)
540   $(call AddDepends/usb-serial)
541 endef
542
543 define KernelPackage/usb-serial-ftdi/description
544  Kernel support for FTDI USB-to-Serial converters
545 endef
546
547 $(eval $(call KernelPackage,usb-serial-ftdi))
548
549
550 define KernelPackage/usb-serial-garmin
551   TITLE:=Support for Garmin GPS devices
552   KCONFIG:=CONFIG_USB_SERIAL_GARMIN
553   FILES:=$(LINUX_DIR)/drivers/usb/serial/garmin_gps.ko
554   AUTOLOAD:=$(call AutoProbe,garmin_gps)
555   $(call AddDepends/usb-serial)
556 endef
557
558 define KernelPackage/usb-serial-garmin/description
559  Should work with most Garmin GPS devices which have a native USB port.
560 endef
561
562 $(eval $(call KernelPackage,usb-serial-garmin))
563
564
565 define KernelPackage/usb-serial-simple
566   TITLE:=USB Serial Simple (Motorola phone)
567   KCONFIG:=CONFIG_USB_SERIAL_SIMPLE
568   FILES:=$(LINUX_DIR)/drivers/usb/serial/usb-serial-simple.ko
569   AUTOLOAD:=$(call AutoProbe,usb-serial-simple)
570   $(call AddDepends/usb-serial)
571 endef
572
573 define KernelPackage/usb-serial-simple/description
574   Kernel support for "very simple devices".
575
576 Specifically, it supports:
577         - Suunto ANT+ USB device.
578         - Medtronic CareLink USB device (3.18)
579         - Fundamental Software dongle.
580         - Google USB serial devices (3.19)
581         - HP4x calculators
582         - a number of Motorola phones
583         - Novatel Wireless GPS receivers (3.18)
584         - Siemens USB/MPI adapter.
585         - ViVOtech ViVOpay USB device.
586         - Infineon Modem Flashloader USB interface
587         - ZIO Motherboard USB serial interface
588 endef
589
590 $(eval $(call KernelPackage,usb-serial-simple))
591
592
593 define KernelPackage/usb-serial-ti-usb
594   TITLE:=Support for TI USB 3410/5052
595   KCONFIG:=CONFIG_USB_SERIAL_TI
596   FILES:=$(LINUX_DIR)/drivers/usb/serial/ti_usb_3410_5052.ko
597   AUTOLOAD:=$(call AutoProbe,ti_usb_3410_5052)
598   $(call AddDepends/usb-serial)
599 endef
600
601 define KernelPackage/usb-serial-ti-usb/description
602  Kernel support for TI USB 3410/5052 devices
603 endef
604
605 $(eval $(call KernelPackage,usb-serial-ti-usb))
606
607
608 define KernelPackage/usb-serial-ipw
609   TITLE:=Support for IPWireless 3G devices
610   KCONFIG:=CONFIG_USB_SERIAL_IPW
611   FILES:=$(LINUX_DIR)/drivers/usb/serial/ipw.ko
612   AUTOLOAD:=$(call AutoProbe,ipw)
613   $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
614 endef
615
616 $(eval $(call KernelPackage,usb-serial-ipw))
617
618
619 define KernelPackage/usb-serial-mct
620   TITLE:=Support for Magic Control Tech. devices
621   KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
622   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.ko
623   AUTOLOAD:=$(call AutoProbe,mct_u232)
624   $(call AddDepends/usb-serial)
625 endef
626
627 define KernelPackage/usb-serial-mct/description
628  Kernel support for Magic Control Technology USB-to-Serial converters
629 endef
630
631 $(eval $(call KernelPackage,usb-serial-mct))
632
633
634 define KernelPackage/usb-serial-mos7720
635   TITLE:=Support for Moschip MOS7720 devices
636   KCONFIG:=CONFIG_USB_SERIAL_MOS7720
637   FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7720.ko
638   AUTOLOAD:=$(call AutoProbe,mos7720)
639   $(call AddDepends/usb-serial)
640 endef
641
642 define KernelPackage/usb-serial-mos7720/description
643  Kernel support for Moschip MOS7720 USB-to-Serial converters
644 endef
645
646 $(eval $(call KernelPackage,usb-serial-mos7720))
647
648
649 define KernelPackage/usb-serial-pl2303
650   TITLE:=Support for Prolific PL2303 devices
651   KCONFIG:=CONFIG_USB_SERIAL_PL2303
652   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.ko
653   AUTOLOAD:=$(call AutoProbe,pl2303)
654   $(call AddDepends/usb-serial)
655 endef
656
657 define KernelPackage/usb-serial-pl2303/description
658  Kernel support for Prolific PL2303 USB-to-Serial converters
659 endef
660
661 $(eval $(call KernelPackage,usb-serial-pl2303))
662
663
664 define KernelPackage/usb-serial-cp210x
665   TITLE:=Support for Silicon Labs cp210x devices
666   KCONFIG:=CONFIG_USB_SERIAL_CP210X
667   FILES:=$(LINUX_DIR)/drivers/usb/serial/cp210x.ko
668   AUTOLOAD:=$(call AutoProbe,cp210x)
669   $(call AddDepends/usb-serial)
670 endef
671
672 define KernelPackage/usb-serial-cp210x/description
673  Kernel support for Silicon Labs cp210x USB-to-Serial converters
674 endef
675
676 $(eval $(call KernelPackage,usb-serial-cp210x))
677
678
679 define KernelPackage/usb-serial-ark3116
680   TITLE:=Support for ArkMicroChips ARK3116 devices
681   KCONFIG:=CONFIG_USB_SERIAL_ARK3116
682   FILES:=$(LINUX_DIR)/drivers/usb/serial/ark3116.ko
683   AUTOLOAD:=$(call AutoProbe,ark3116)
684   $(call AddDepends/usb-serial)
685 endef
686
687 define KernelPackage/usb-serial-ark3116/description
688  Kernel support for ArkMicroChips ARK3116 USB-to-Serial converters
689 endef
690
691 $(eval $(call KernelPackage,usb-serial-ark3116))
692
693
694 define KernelPackage/usb-serial-oti6858
695   TITLE:=Support for Ours Technology OTI6858 devices
696   KCONFIG:=CONFIG_USB_SERIAL_OTI6858
697   FILES:=$(LINUX_DIR)/drivers/usb/serial/oti6858.ko
698   AUTOLOAD:=$(call AutoProbe,oti6858)
699   $(call AddDepends/usb-serial)
700 endef
701
702 define KernelPackage/usb-serial-oti6858/description
703  Kernel support for Ours Technology OTI6858 USB-to-Serial converters
704 endef
705
706 $(eval $(call KernelPackage,usb-serial-oti6858))
707
708
709 define KernelPackage/usb-serial-sierrawireless
710   TITLE:=Support for Sierra Wireless devices
711   KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
712   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.ko
713   AUTOLOAD:=$(call AutoProbe,sierra)
714   $(call AddDepends/usb-serial)
715 endef
716
717 define KernelPackage/usb-serial-sierrawireless/description
718  Kernel support for Sierra Wireless devices
719 endef
720
721 $(eval $(call KernelPackage,usb-serial-sierrawireless))
722
723
724 define KernelPackage/usb-serial-visor
725   TITLE:=Support for Handspring Visor devices
726   KCONFIG:=CONFIG_USB_SERIAL_VISOR
727   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.ko
728   AUTOLOAD:=$(call AutoProbe,visor)
729   $(call AddDepends/usb-serial)
730 endef
731
732 define KernelPackage/usb-serial-visor/description
733  Kernel support for Handspring Visor PDAs
734 endef
735
736 $(eval $(call KernelPackage,usb-serial-visor))
737
738
739 define KernelPackage/usb-serial-cypress-m8
740   TITLE:=Support for CypressM8 USB-Serial
741   KCONFIG:=CONFIG_USB_SERIAL_CYPRESS_M8
742   FILES:=$(LINUX_DIR)/drivers/usb/serial/cypress_m8.ko
743   AUTOLOAD:=$(call AutoProbe,cypress_m8)
744   $(call AddDepends/usb-serial)
745 endef
746
747 define KernelPackage/usb-serial-cypress-m8/description
748  Kernel support for devices with Cypress M8 USB to Serial chip
749  (for example, the Delorme Earthmate LT-20 GPS)
750  Supported microcontrollers in the CY4601 family are:
751  CY7C63741 CY7C63742 CY7C63743 CY7C64013
752 endef
753
754 $(eval $(call KernelPackage,usb-serial-cypress-m8))
755
756
757 define KernelPackage/usb-serial-keyspan
758   TITLE:=Support for Keyspan USB-to-Serial devices
759   KCONFIG:= \
760         CONFIG_USB_SERIAL_KEYSPAN \
761         CONFIG_USB_SERIAL_KEYSPAN_USA28 \
762         CONFIG_USB_SERIAL_KEYSPAN_USA28X \
763         CONFIG_USB_SERIAL_KEYSPAN_USA28XA \
764         CONFIG_USB_SERIAL_KEYSPAN_USA28XB \
765         CONFIG_USB_SERIAL_KEYSPAN_USA19 \
766         CONFIG_USB_SERIAL_KEYSPAN_USA18X \
767         CONFIG_USB_SERIAL_KEYSPAN_USA19W \
768         CONFIG_USB_SERIAL_KEYSPAN_USA19QW \
769         CONFIG_USB_SERIAL_KEYSPAN_USA19QI \
770         CONFIG_USB_SERIAL_KEYSPAN_MPR \
771         CONFIG_USB_SERIAL_KEYSPAN_USA49W \
772         CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
773   FILES:= \
774         $(LINUX_DIR)/drivers/usb/serial/keyspan.ko \
775         $(wildcard $(LINUX_DIR)/drivers/usb/misc/ezusb.ko)
776   AUTOLOAD:=$(call AutoProbe,ezusb keyspan)
777   $(call AddDepends/usb-serial)
778 endef
779
780 define KernelPackage/usb-serial-keyspan/description
781  Kernel support for Keyspan USB-to-Serial devices
782 endef
783
784 $(eval $(call KernelPackage,usb-serial-keyspan))
785
786
787 define KernelPackage/usb-serial-wwan
788   TITLE:=Support for GSM and CDMA modems
789   KCONFIG:=CONFIG_USB_SERIAL_WWAN
790   FILES:=$(LINUX_DIR)/drivers/usb/serial/usb_wwan.ko
791   AUTOLOAD:=$(call AutoProbe,usb_wwan)
792   $(call AddDepends/usb-serial)
793 endef
794
795 define KernelPackage/usb-serial-wwan/description
796  Kernel support for USB GSM and CDMA modems
797 endef
798
799 $(eval $(call KernelPackage,usb-serial-wwan))
800
801
802 define KernelPackage/usb-serial-option
803   TITLE:=Support for Option HSDPA modems
804   DEPENDS:=+kmod-usb-serial-wwan
805   KCONFIG:=CONFIG_USB_SERIAL_OPTION
806   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.ko
807   AUTOLOAD:=$(call AutoProbe,option)
808   $(call AddDepends/usb-serial)
809 endef
810
811 define KernelPackage/usb-serial-option/description
812  Kernel support for Option HSDPA modems
813 endef
814
815 $(eval $(call KernelPackage,usb-serial-option))
816
817
818 define KernelPackage/usb-serial-qualcomm
819   TITLE:=Support for Qualcomm USB serial
820   KCONFIG:=CONFIG_USB_SERIAL_QUALCOMM
821   FILES:=$(LINUX_DIR)/drivers/usb/serial/qcserial.ko
822   AUTOLOAD:=$(call AutoProbe,qcserial)
823   $(call AddDepends/usb-serial,+kmod-usb-serial-wwan)
824 endef
825
826 define KernelPackage/usb-serial-qualcomm/description
827  Kernel support for Qualcomm USB Serial devices (Gobi)
828 endef
829
830 $(eval $(call KernelPackage,usb-serial-qualcomm))
831
832
833 define KernelPackage/usb-storage
834   TITLE:=USB Storage support
835   DEPENDS:= +kmod-scsi-core
836   KCONFIG:=CONFIG_USB_STORAGE
837   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.ko
838   AUTOLOAD:=$(call AutoProbe,usb-storage,1)
839   $(call AddDepends/usb)
840 endef
841
842 define KernelPackage/usb-storage/description
843  Kernel support for USB Mass Storage devices
844 endef
845
846 $(eval $(call KernelPackage,usb-storage))
847
848
849 define KernelPackage/usb-storage-extras
850   SUBMENU:=$(USB_MENU)
851   TITLE:=Extra drivers for usb-storage
852   DEPENDS:=+kmod-usb-storage
853   KCONFIG:= \
854         CONFIG_USB_STORAGE_ALAUDA \
855         CONFIG_USB_STORAGE_CYPRESS_ATACB \
856         CONFIG_USB_STORAGE_DATAFAB \
857         CONFIG_USB_STORAGE_FREECOM \
858         CONFIG_USB_STORAGE_ISD200 \
859         CONFIG_USB_STORAGE_JUMPSHOT \
860         CONFIG_USB_STORAGE_KARMA \
861         CONFIG_USB_STORAGE_SDDR09 \
862         CONFIG_USB_STORAGE_SDDR55 \
863         CONFIG_USB_STORAGE_USBAT
864   FILES:= \
865         $(LINUX_DIR)/drivers/usb/storage/ums-alauda.ko \
866         $(LINUX_DIR)/drivers/usb/storage/ums-cypress.ko \
867         $(LINUX_DIR)/drivers/usb/storage/ums-datafab.ko \
868         $(LINUX_DIR)/drivers/usb/storage/ums-freecom.ko \
869         $(LINUX_DIR)/drivers/usb/storage/ums-isd200.ko \
870         $(LINUX_DIR)/drivers/usb/storage/ums-jumpshot.ko \
871         $(LINUX_DIR)/drivers/usb/storage/ums-karma.ko \
872         $(LINUX_DIR)/drivers/usb/storage/ums-sddr09.ko \
873         $(LINUX_DIR)/drivers/usb/storage/ums-sddr55.ko \
874         $(LINUX_DIR)/drivers/usb/storage/ums-usbat.ko
875   AUTOLOAD:=$(call AutoProbe,ums-alauda ums-cypress ums-datafab \
876                                 ums-freecom ums-isd200 ums-jumpshot \
877                                 ums-karma ums-sddr09 ums-sddr55 ums-usbat)
878 endef
879
880 define KernelPackage/usb-storage-extras/description
881  Say Y here if you want to have some more drivers,
882  such as for SmartMedia card readers
883 endef
884
885 $(eval $(call KernelPackage,usb-storage-extras))
886
887
888 define KernelPackage/usb-atm
889   TITLE:=Support for ATM on USB bus
890   DEPENDS:=+kmod-atm
891   KCONFIG:=CONFIG_USB_ATM
892   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.ko
893   AUTOLOAD:=$(call AutoProbe,usbatm)
894   $(call AddDepends/usb)
895 endef
896
897 define KernelPackage/usb-atm/description
898  Kernel support for USB DSL modems
899 endef
900
901 $(eval $(call KernelPackage,usb-atm))
902
903
904 define AddDepends/usb-atm
905   SUBMENU:=$(USB_MENU)
906   DEPENDS+=kmod-usb-atm $(1)
907 endef
908
909
910 define KernelPackage/usb-atm-speedtouch
911   TITLE:=SpeedTouch USB ADSL modems support
912   KCONFIG:=CONFIG_USB_SPEEDTOUCH
913   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.ko
914   AUTOLOAD:=$(call AutoProbe,speedtch)
915   $(call AddDepends/usb-atm)
916 endef
917
918 define KernelPackage/usb-atm-speedtouch/description
919  Kernel support for SpeedTouch USB ADSL modems
920 endef
921
922 $(eval $(call KernelPackage,usb-atm-speedtouch))
923
924
925 define KernelPackage/usb-atm-ueagle
926   TITLE:=Eagle 8051 based USB ADSL modems support
927   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.ko
928   KCONFIG:=CONFIG_USB_UEAGLEATM
929   AUTOLOAD:=$(call AutoProbe,ueagle-atm)
930   $(call AddDepends/usb-atm)
931 endef
932
933 define KernelPackage/usb-atm-ueagle/description
934  Kernel support for Eagle 8051 based USB ADSL modems
935 endef
936
937 $(eval $(call KernelPackage,usb-atm-ueagle))
938
939
940 define KernelPackage/usb-atm-cxacru
941   TITLE:=cxacru
942   FILES:=$(LINUX_DIR)/drivers/usb/atm/cxacru.ko
943   KCONFIG:=CONFIG_USB_CXACRU
944   AUTOLOAD:=$(call AutoProbe,cxacru)
945   $(call AddDepends/usb-atm)
946 endef
947
948 define KernelPackage/usb-atm-cxacru/description
949  Kernel support for cxacru based USB ADSL modems
950 endef
951
952 $(eval $(call KernelPackage,usb-atm-cxacru))
953
954
955 define KernelPackage/usb-net
956   TITLE:=Kernel modules for USB-to-Ethernet convertors
957   DEPENDS:=+kmod-mii
958   KCONFIG:=CONFIG_USB_USBNET \
959         CONFIG_USB_NET_DRIVERS
960   AUTOLOAD:=$(call AutoProbe,usbnet)
961   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.ko
962   $(call AddDepends/usb)
963 endef
964
965 define KernelPackage/usb-net/description
966  Kernel modules for USB-to-Ethernet convertors
967 endef
968
969 $(eval $(call KernelPackage,usb-net))
970
971
972 define AddDepends/usb-net
973   SUBMENU:=$(USB_MENU)
974   DEPENDS+=kmod-usb-net $(1)
975 endef
976
977
978 define KernelPackage/usb-net-asix
979   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
980   DEPENDS:=+kmod-libphy
981   KCONFIG:=CONFIG_USB_NET_AX8817X
982   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.ko
983   AUTOLOAD:=$(call AutoProbe,asix)
984   $(call AddDepends/usb-net)
985 endef
986
987 define KernelPackage/usb-net-asix/description
988  Kernel module for USB-to-Ethernet Asix convertors
989 endef
990
991 $(eval $(call KernelPackage,usb-net-asix))
992
993
994 define KernelPackage/usb-net-asix-ax88179
995   TITLE:=Kernel module for USB-to-Gigabit-Ethernet Asix convertors
996   DEPENDS:=+kmod-libphy
997   KCONFIG:=CONFIG_USB_NET_AX88179_178A
998   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/ax88179_178a.ko
999   AUTOLOAD:=$(call AutoProbe,ax88179_178a)
1000   $(call AddDepends/usb-net)
1001 endef
1002
1003 define KernelPackage/usb-net-asix-ax88179/description
1004  Kernel module for USB-to-Ethernet ASIX AX88179 based USB 3.0/2.0
1005  to Gigabit Ethernet adapters.
1006 endef
1007
1008 $(eval $(call KernelPackage,usb-net-asix-ax88179))
1009
1010
1011 define KernelPackage/usb-net-hso
1012   TITLE:=Kernel module for Option USB High Speed Mobile Devices
1013   KCONFIG:=CONFIG_USB_HSO
1014   FILES:= \
1015         $(LINUX_DIR)/drivers/$(USBNET_DIR)/hso.ko
1016   AUTOLOAD:=$(call AutoProbe,hso)
1017   $(call AddDepends/usb-net)
1018   $(call AddDepends/rfkill)
1019 endef
1020
1021 define KernelPackage/usb-net-hso/description
1022  Kernel module for Option USB High Speed Mobile Devices
1023 endef
1024
1025 $(eval $(call KernelPackage,usb-net-hso))
1026
1027
1028 define KernelPackage/usb-net-kaweth
1029   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
1030   KCONFIG:=CONFIG_USB_KAWETH
1031   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.ko
1032   AUTOLOAD:=$(call AutoProbe,kaweth)
1033   $(call AddDepends/usb-net)
1034 endef
1035
1036 define KernelPackage/usb-net-kaweth/description
1037  Kernel module for USB-to-Ethernet Kaweth convertors
1038 endef
1039
1040 $(eval $(call KernelPackage,usb-net-kaweth))
1041
1042
1043 define KernelPackage/usb-net-pegasus
1044   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
1045   KCONFIG:=CONFIG_USB_PEGASUS
1046   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.ko
1047   AUTOLOAD:=$(call AutoProbe,pegasus)
1048   $(call AddDepends/usb-net)
1049 endef
1050
1051 define KernelPackage/usb-net-pegasus/description
1052  Kernel module for USB-to-Ethernet Pegasus convertors
1053 endef
1054
1055 $(eval $(call KernelPackage,usb-net-pegasus))
1056
1057
1058 define KernelPackage/usb-net-mcs7830
1059   TITLE:=Kernel module for USB-to-Ethernet MCS7830 convertors
1060   KCONFIG:=CONFIG_USB_NET_MCS7830
1061   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/mcs7830.ko
1062   AUTOLOAD:=$(call AutoProbe,mcs7830)
1063   $(call AddDepends/usb-net)
1064 endef
1065
1066 define KernelPackage/usb-net-mcs7830/description
1067  Kernel module for USB-to-Ethernet MCS7830 convertors
1068 endef
1069
1070 $(eval $(call KernelPackage,usb-net-mcs7830))
1071
1072
1073 define KernelPackage/usb-net-smsc95xx
1074   TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices
1075   KCONFIG:=CONFIG_USB_NET_SMSC95XX
1076   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko
1077   AUTOLOAD:=$(call AutoProbe,smsc95xx)
1078   $(call AddDepends/usb-net, +kmod-lib-crc16)
1079 endef
1080
1081 define KernelPackage/usb-net-smsc95xx/description
1082  Kernel module for SMSC LAN95XX based devices
1083 endef
1084
1085 $(eval $(call KernelPackage,usb-net-smsc95xx))
1086
1087
1088 define KernelPackage/usb-net-dm9601-ether
1089   TITLE:=Support for DM9601 ethernet connections
1090   KCONFIG:=CONFIG_USB_NET_DM9601
1091   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/dm9601.ko
1092   AUTOLOAD:=$(call AutoProbe,dm9601)
1093   $(call AddDepends/usb-net)
1094 endef
1095
1096 define KernelPackage/usb-net-dm9601-ether/description
1097  Kernel support for USB DM9601 devices
1098 endef
1099
1100 $(eval $(call KernelPackage,usb-net-dm9601-ether))
1101
1102 define KernelPackage/usb-net-cdc-ether
1103   TITLE:=Support for cdc ethernet connections
1104   KCONFIG:=CONFIG_USB_NET_CDCETHER
1105   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ether.ko
1106   AUTOLOAD:=$(call AutoProbe,cdc_ether)
1107   $(call AddDepends/usb-net)
1108 endef
1109
1110 define KernelPackage/usb-net-cdc-ether/description
1111  Kernel support for USB CDC Ethernet devices
1112 endef
1113
1114 $(eval $(call KernelPackage,usb-net-cdc-ether))
1115
1116
1117 define KernelPackage/usb-net-cdc-eem
1118   TITLE:=Support for CDC EEM connections
1119   KCONFIG:=CONFIG_USB_NET_CDC_EEM
1120   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_eem.ko
1121   AUTOLOAD:=$(call AutoProbe,cdc_eem)
1122   $(call AddDepends/usb-net)
1123 endef
1124
1125 define KernelPackage/usb-net-cdc-eem/description
1126  Kernel support for USB CDC EEM
1127 endef
1128
1129 $(eval $(call KernelPackage,usb-net-cdc-eem))
1130
1131
1132 define KernelPackage/usb-net-cdc-subset
1133   TITLE:=Support for CDC Ethernet subset connections
1134   KCONFIG:= \
1135         CONFIG_USB_NET_CDC_SUBSET \
1136         CONFIG_USB_ARMLINUX
1137   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_subset.ko
1138   AUTOLOAD:=$(call AutoProbe,cdc_subset)
1139   $(call AddDepends/usb-net)
1140 endef
1141
1142 define KernelPackage/usb-net-cdc-subset/description
1143  Kernel support for Simple USB Network Links (CDC Ethernet subset)
1144 endef
1145
1146 $(eval $(call KernelPackage,usb-net-cdc-subset))
1147
1148
1149 define KernelPackage/usb-net-qmi-wwan
1150   TITLE:=QMI WWAN driver
1151   KCONFIG:=CONFIG_USB_NET_QMI_WWAN
1152   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/qmi_wwan.ko
1153   AUTOLOAD:=$(call AutoProbe,qmi_wwan)
1154   $(call AddDepends/usb-net,+kmod-usb-wdm)
1155 endef
1156
1157 define KernelPackage/usb-net-qmi-wwan/description
1158  QMI WWAN driver for Qualcomm MSM based 3G and LTE modems
1159 endef
1160
1161 $(eval $(call KernelPackage,usb-net-qmi-wwan))
1162
1163
1164 define KernelPackage/usb-net-rtl8150
1165   TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
1166   KCONFIG:=CONFIG_USB_RTL8150
1167   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/rtl8150.ko
1168   AUTOLOAD:=$(call AutoProbe,rtl8150)
1169   $(call AddDepends/usb-net)
1170 endef
1171
1172 define KernelPackage/usb-net-rtl8150/description
1173  Kernel module for USB-to-Ethernet Realtek 8150 convertors
1174 endef
1175
1176 $(eval $(call KernelPackage,usb-net-rtl8150))
1177
1178
1179 define KernelPackage/usb-net-rtl8152
1180   TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
1181   KCONFIG:=CONFIG_USB_RTL8152
1182   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/r8152.ko
1183   AUTOLOAD:=$(call AutoProbe,r8152)
1184   $(call AddDepends/usb-net)
1185 endef
1186
1187 define KernelPackage/usb-net-rtl8152/description
1188  Kernel module for USB-to-Ethernet Realtek 8152 USB2.0/3.0 convertors
1189 endef
1190
1191 $(eval $(call KernelPackage,usb-net-rtl8152))
1192
1193
1194 define KernelPackage/usb-net-sr9700
1195   TITLE:=Support for CoreChip SR9700 ethernet devices
1196   KCONFIG:=CONFIG_USB_NET_SR9700
1197   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/sr9700.ko
1198   AUTOLOAD:=$(call AutoProbe,sr9700)
1199   $(call AddDepends/usb-net)
1200 endef
1201
1202 define KernelPackage/usb-net-sr9700/description
1203  Kernel module for CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices
1204 endef
1205
1206 $(eval $(call KernelPackage,usb-net-sr9700))
1207
1208
1209 define KernelPackage/usb-net-rndis
1210   TITLE:=Support for RNDIS connections
1211   KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
1212   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.ko
1213   AUTOLOAD:=$(call AutoProbe,rndis_host)
1214   $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether)
1215 endef
1216
1217 define KernelPackage/usb-net-rndis/description
1218  Kernel support for RNDIS connections
1219 endef
1220
1221 $(eval $(call KernelPackage,usb-net-rndis))
1222
1223
1224 define KernelPackage/usb-net-cdc-mbim
1225   SUBMENU:=$(USB_MENU)
1226   TITLE:=Kernel module for MBIM Devices
1227   KCONFIG:=CONFIG_USB_NET_CDC_MBIM
1228   FILES:= \
1229    $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_mbim.ko
1230   AUTOLOAD:=$(call AutoProbe,cdc_mbim)
1231   $(call AddDepends/usb-net,+kmod-usb-wdm +kmod-usb-net-cdc-ncm)
1232 endef
1233
1234 define KernelPackage/usb-net-cdc-mbim/description
1235  Kernel module for Option USB High Speed Mobile Devices
1236 endef
1237
1238 $(eval $(call KernelPackage,usb-net-cdc-mbim))
1239
1240
1241 define KernelPackage/usb-net-cdc-ncm
1242   TITLE:=Support for CDC NCM connections
1243   KCONFIG:=CONFIG_USB_NET_CDC_NCM
1244   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ncm.ko
1245   AUTOLOAD:=$(call AutoProbe,cdc_ncm)
1246   $(call AddDepends/usb-net)
1247 endef
1248
1249 define KernelPackage/usb-net-cdc-ncm/description
1250  Kernel support for CDC NCM connections
1251 endef
1252
1253 $(eval $(call KernelPackage,usb-net-cdc-ncm))
1254
1255
1256 define KernelPackage/usb-net-huawei-cdc-ncm
1257   TITLE:=Support for Huawei CDC NCM connections
1258   KCONFIG:=CONFIG_USB_NET_HUAWEI_CDC_NCM
1259   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/huawei_cdc_ncm.ko
1260   AUTOLOAD:=$(call AutoProbe,huawei_cdc_ncm)
1261   $(call AddDepends/usb-net,+kmod-usb-net-cdc-ncm +kmod-usb-wdm)
1262 endef
1263
1264 define KernelPackage/usb-net-huawei-cdc-ncm/description
1265  Kernel support for Huawei CDC NCM connections
1266 endef
1267
1268 $(eval $(call KernelPackage,usb-net-huawei-cdc-ncm))
1269
1270
1271 define KernelPackage/usb-net-sierrawireless
1272   TITLE:=Support for Sierra Wireless devices
1273   KCONFIG:=CONFIG_USB_SIERRA_NET
1274   FILES:=$(LINUX_DIR)/drivers/net/usb/sierra_net.ko
1275   AUTOLOAD:=$(call AutoProbe,sierra_net)
1276   $(call AddDepends/usb-net)
1277 endef
1278
1279 define KernelPackage/usb-net-sierrawireless/description
1280  Kernel support for Sierra Wireless devices
1281 endef
1282
1283 $(eval $(call KernelPackage,usb-net-sierrawireless))
1284
1285
1286 define KernelPackage/usb-net-ipheth
1287   TITLE:=Apple iPhone USB Ethernet driver
1288   KCONFIG:=CONFIG_USB_IPHETH
1289   FILES:=$(LINUX_DIR)/drivers/net/usb/ipheth.ko
1290   AUTOLOAD:=$(call AutoProbe,ipheth)
1291   $(call AddDepends/usb-net)
1292 endef
1293
1294 define KernelPackage/usb-net-ipheth/description
1295  Kernel support for Apple iPhone USB Ethernet driver
1296 endef
1297
1298 $(eval $(call KernelPackage,usb-net-ipheth))
1299
1300
1301 define KernelPackage/usb-net-kalmia
1302   TITLE:=Samsung Kalmia based LTE USB modem
1303   KCONFIG:=CONFIG_USB_NET_KALMIA
1304   FILES:=$(LINUX_DIR)/drivers/net/usb/kalmia.ko
1305   AUTOLOAD:=$(call AutoProbe,kalmia)
1306   $(call AddDepends/usb-net)
1307 endef
1308
1309 define KernelPackage/usb-net-kalmia/description
1310  Kernel support for Samsung Kalmia based LTE USB modem
1311 endef
1312
1313 $(eval $(call KernelPackage,usb-net-kalmia))
1314
1315
1316 define KernelPackage/usb-hid
1317   TITLE:=Support for USB Human Input Devices
1318   KCONFIG:=CONFIG_HID_SUPPORT=y CONFIG_USB_HID CONFIG_USB_HIDDEV=y
1319   DEPENDS:=+kmod-hid +kmod-hid-generic +kmod-input-evdev
1320   FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
1321   AUTOLOAD:=$(call AutoProbe,usbhid)
1322   $(call AddDepends/usb)
1323 endef
1324
1325 define KernelPackage/usb-hid/description
1326  Kernel support for USB HID devices such as keyboards and mice
1327 endef
1328
1329 $(eval $(call KernelPackage,usb-hid))
1330
1331
1332 define KernelPackage/usb-yealink
1333   TITLE:=USB Yealink VOIP phone
1334   DEPENDS:=+kmod-input-evdev
1335   KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
1336   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
1337   AUTOLOAD:=$(call AutoProbe,yealink)
1338   $(call AddDepends/usb)
1339 endef
1340
1341 define KernelPackage/usb-yealink/description
1342  Kernel support for Yealink VOIP phone
1343 endef
1344
1345 $(eval $(call KernelPackage,usb-yealink))
1346
1347
1348 define KernelPackage/usb-cm109
1349   TITLE:=Support for CM109 device
1350   DEPENDS:=+kmod-input-evdev
1351   KCONFIG:=CONFIG_USB_CM109 CONFIG_INPUT_CM109 CONFIG_INPUT=m CONFIG_INPUT_MISC=y
1352   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/cm109.ko
1353   AUTOLOAD:=$(call AutoProbe,cm109)
1354   $(call AddDepends/usb)
1355 endef
1356
1357 define KernelPackage/usb-cm109/description
1358  Kernel support for CM109 VOIP phone
1359 endef
1360
1361 $(eval $(call KernelPackage,usb-cm109))
1362
1363
1364 define KernelPackage/usb-test
1365   TITLE:=USB Testing Driver
1366   DEPENDS:=@DEVEL
1367   KCONFIG:=CONFIG_USB_TEST
1368   FILES:=$(LINUX_DIR)/drivers/usb/misc/usbtest.ko
1369   $(call AddDepends/usb)
1370 endef
1371
1372 define KernelPackage/usb-test/description
1373  Kernel support for testing USB Host Controller software
1374 endef
1375
1376 $(eval $(call KernelPackage,usb-test))
1377
1378
1379 define KernelPackage/usbip
1380   TITLE := USB-over-IP kernel support
1381   KCONFIG:= \
1382         CONFIG_USBIP_CORE \
1383         CONFIG_USBIP_DEBUG=n
1384   FILES:=$(LINUX_DIR)/drivers/usb/usbip/usbip-core.ko
1385   AUTOLOAD:=$(call AutoProbe,usbip-core)
1386   $(call AddDepends/usb)
1387 endef
1388
1389 $(eval $(call KernelPackage,usbip))
1390
1391
1392 define KernelPackage/usbip-client
1393   TITLE := USB-over-IP client driver
1394   DEPENDS := +kmod-usbip
1395   KCONFIG := CONFIG_USBIP_VHCI_HCD
1396   FILES :=$(LINUX_DIR)/drivers/usb/usbip/vhci-hcd.ko
1397   AUTOLOAD := $(call AutoProbe,vhci-hcd)
1398   $(call AddDepends/usb)
1399 endef
1400
1401 $(eval $(call KernelPackage,usbip-client))
1402
1403
1404 define KernelPackage/usbip-server
1405 $(call KernelPackage/usbip/Default)
1406   TITLE := USB-over-IP host driver
1407   DEPENDS := +kmod-usbip
1408   KCONFIG := CONFIG_USBIP_HOST
1409   FILES :=$(LINUX_DIR)/drivers/usb/usbip/usbip-host.ko
1410   AUTOLOAD := $(call AutoProbe,usbip-host)
1411   $(call AddDepends/usb)
1412 endef
1413
1414 $(eval $(call KernelPackage,usbip-server))
1415
1416
1417 define KernelPackage/usbmon
1418   TITLE:=USB traffic monitor
1419   KCONFIG:=CONFIG_USB_MON
1420   $(call AddDepends/usb)
1421   FILES:=$(LINUX_DIR)/drivers/usb/mon/usbmon.ko
1422   AUTOLOAD:=$(call AutoProbe,usbmon)
1423 endef
1424
1425 define KernelPackage/usbmon/description
1426  Kernel support for USB traffic monitoring
1427 endef
1428
1429 $(eval $(call KernelPackage,usbmon))
1430
1431 XHCI_MODULES := xhci-hcd xhci-pci xhci-plat-hcd
1432 ifdef CONFIG_TARGET_ramips_mt7621
1433   XHCI_MODULES += xhci-mtk
1434 endif
1435 XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,$(XHCI_MODULES)))
1436 XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES))
1437
1438 define KernelPackage/usb3
1439   TITLE:=Support for USB3 controllers
1440   DEPENDS:= \
1441         +TARGET_bcm53xx:kmod-usb-bcma \
1442         +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3
1443   KCONFIG:= \
1444         CONFIG_USB_XHCI_HCD \
1445         CONFIG_USB_XHCI_PCI \
1446         CONFIG_USB_XHCI_PLATFORM \
1447         CONFIG_USB_XHCI_MVEBU=y \
1448         CONFIG_USB_XHCI_MTK \
1449         CONFIG_USB_XHCI_HCD_DEBUGGING=n
1450   FILES:= \
1451         $(XHCI_FILES)
1452   AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1)
1453   $(call AddDepends/usb)
1454 endef
1455
1456 define KernelPackage/usb3/description
1457  Kernel support for USB3 (XHCI) controllers
1458 endef
1459
1460 $(eval $(call KernelPackage,usb3))
1461
1462
1463 define KernelPackage/usb-net2280
1464   TITLE:=Support for NetChip 228x PCI USB peripheral controller
1465   KCONFIG:= CONFIG_USB_NET2280
1466   DEPENDS:=@PCI_SUPPORT +kmod-usb-gadget
1467   FILES:=$(LINUX_DIR)/drivers/usb/gadget/udc/net2280.ko
1468   AUTOLOAD:=$(call AutoLoad,46,net2280)
1469   $(call AddDepends/usb)
1470 endef
1471
1472 define KernelPackage/usb-net2280/description
1473   Kernel support for NetChip 228x / PLX USB338x PCI USB peripheral controller.
1474 endef
1475
1476 $(eval $(call KernelPackage,usb-net2280))
1477