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