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