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