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