f6991c248f44430f31b070043e41e8df6b22dc63
[openwrt.git] / package / kernel / modules / usb.mk
1
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 USBMENU:=USB Support
10
11 ifeq ($(KERNEL),2.4)
12   USBNET_DIR:=usb/net
13 endif
14
15 ifeq ($(KERNEL_PATCHVER),2.6.21)
16   USBNET_DIR:=usb/net
17   USBHID_DIR:=usb/input
18   USBINPUT_DIR:=usb/input
19 endif
20
21 USBNET_DIR?=net/usb
22 USBHID_DIR?=hid/usbhid
23 USBINPUT_DIR?=input/misc
24
25 define usbdep
26   SUBMENU:=$(USBMENU)
27   DEPENDS:=kmod-usb-core $(1)
28 endef
29
30
31 define KernelPackage/usb-core
32   SUBMENU:=$(USBMENU)
33   TITLE:=Support for USB
34   DESCRIPTION:=Kernel support for USB
35   DEPENDS:=@USB_SUPPORT
36   KCONFIG:=CONFIG_USB
37   AUTOLOAD:=$(call AutoLoad,20,usbcore)
38 endef
39
40 define KernelPackage/usb-core/2.4
41   FILES:=$(LINUX_DIR)/drivers/usb/usbcore.$(LINUX_KMOD_SUFFIX)
42 endef
43
44 define KernelPackage/usb-core/2.6
45   FILES:=$(LINUX_DIR)/drivers/usb/core/usbcore.$(LINUX_KMOD_SUFFIX)
46 endef
47
48 $(eval $(call KernelPackage,usb-core))
49
50
51 define KernelPackage/usb-uhci
52   $(call usbdep,)
53   TITLE:=Support for UHCI controllers
54   DESCRIPTION:=Kernel support for USB UHCI controllers
55   KCONFIG:=CONFIG_USB_UHCI_ALT CONFIG_USB_UHCI_HCD
56 endef
57
58 define KernelPackage/usb-uhci/2.4
59   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci.o
60   AUTOLOAD:=$(call AutoLoad,50,uhci)
61 endef
62
63 define KernelPackage/usb-uhci/2.6
64   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
65   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd)
66 endef
67
68 $(eval $(call KernelPackage,usb-uhci))
69
70
71 define KernelPackage/usb-uhci-iv
72   $(call usbdep,@LINUX_2_4)
73   TITLE:=Support for Intel/VIA UHCI controllers 
74   DESCRIPTION:=Kernel support for Intel/VIA USB UHCI controllers
75   KCONFIG:=CONFIG_USB_UHCI
76   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-uhci.$(LINUX_KMOD_SUFFIX)
77   AUTOLOAD:=$(call AutoLoad,50,usb-uhci) 
78 endef 
79
80 $(eval $(call KernelPackage,usb-uhci-iv)) 
81
82
83 define KernelPackage/usb-ohci
84   $(call usbdep,)
85   TITLE:=Support for OHCI controllers
86   DESCRIPTION:=Kernel support for USB OHCI controllers
87   KCONFIG:=CONFIG_USB_OHCI CONFIG_USB_OHCI_HCD
88 endef
89
90 define KernelPackage/usb-ohci/2.4
91   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-ohci.o
92   AUTOLOAD:=$(call AutoLoad,50,usb-ohci)
93 endef
94
95 define KernelPackage/usb-ohci/2.6
96   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko
97   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd)
98 endef
99
100 $(eval $(call KernelPackage,usb-ohci))
101
102
103 define KernelPackage/usb-adm5120
104   $(call usbdep,@LINUX_2_6_ADM5120||@LINUX_2_6_ADM5120EB)
105   TITLE:=Support for the ADM5120 HCD controller
106   DESCRIPTION:=Kernel support for the ADM5120 HCD USB controller
107   KCONFIG:=CONFIG_USB_ADM5120_HCD
108   FILES:=$(LINUX_DIR)/drivers/usb/host/adm5120-hcd.$(LINUX_KMOD_SUFFIX)
109   AUTOLOAD:=$(call AutoLoad,50,adm5120-hcd)
110 endef
111
112 $(eval $(call KernelPackage,usb-adm5120))
113
114
115 define KernelPackage/usb2
116   $(call usbdep,)
117   TITLE:=Support for USB2 controllers
118   DESCRIPTION:=Kernel support for USB2 (EHCI) controllers
119   KCONFIG:=CONFIG_USB_EHCI_HCD
120   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
121   AUTOLOAD:=$(call AutoLoad,50,ehci-hcd)
122 endef
123
124 $(eval $(call KernelPackage,usb2))
125
126
127 define KernelPackage/usb-acm
128   $(call usbdep,)
129   TITLE:=Support for modems/isdn controllers
130   DESCRIPTION:=Kernel support for USB ACM devices (modems/isdn controllers)
131   KCONFIG:=CONFIG_USB_ACM
132 endef
133
134 define KernelPackage/usb-acm/2.4
135   FILES:=$(LINUX_DIR)/drivers/usb/acm.o
136   AUTOLOAD:=$(call AutoLoad,60,acm)
137 endef
138
139 define KernelPackage/usb-acm/2.6
140   FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
141   AUTOLOAD:=$(call AutoLoad,60,cdc-acm)
142 endef
143
144 $(eval $(call KernelPackage,usb-acm))
145
146
147 define KernelPackage/usb-audio
148   $(call usbdep,+kmod-soundcore)
149   TITLE:=Support for audio devices
150   DESCRIPTION:=Kernel support for USB audio devices
151   KCONFIG:=CONFIG_USB_AUDIO CONFIG_SND_USB_AUDIO
152 endef
153
154 define KernelPackage/usb-audio/2.4
155   FILES:=$(LINUX_DIR)/drivers/usb/audio.o
156   AUTOLOAD:=$(call AutoLoad,60,audio)
157 endef
158
159 define KernelPackage/usb-audio/2.6
160   FILES:= \
161         $(LINUX_DIR)/sound/usb/snd-usb-lib.ko \
162         $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
163   AUTOLOAD:=$(call AutoLoad,60,snd-usb-lib snd-usb-audio)
164 endef
165
166 $(eval $(call KernelPackage,usb-audio))
167
168
169 define KernelPackage/usb-printer
170   $(call usbdep,)
171   TITLE:=Support for printers
172   DESCRIPTION:=Kernel support for USB printers
173   KCONFIG:=CONFIG_USB_PRINTER
174 endef
175
176 define KernelPackage/usb-printer/2.4
177   FILES:=$(LINUX_DIR)/drivers/usb/printer.o
178   AUTOLOAD:=$(call AutoLoad,60,printer)
179 endef
180
181 define KernelPackage/usb-printer/2.6
182   FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
183   AUTOLOAD:=$(call AutoLoad,60,usblp)
184 endef
185
186 $(eval $(call KernelPackage,usb-printer))
187
188
189 define KernelPackage/usb-serial
190   $(call usbdep,)
191   TITLE:=Support for USB-to-Serial converters
192   DESCRIPTION:=Kernel support for USB-to-Serial converters
193   KCONFIG:=CONFIG_USB_SERIAL
194   FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.$(LINUX_KMOD_SUFFIX)
195   AUTOLOAD:=$(call AutoLoad,60,usbserial)
196 endef
197
198 $(eval $(call KernelPackage,usb-serial))
199
200
201 define KernelPackage/usb-serial-airprime
202   $(call usbdep,kmod-usb-serial @LINUX_2_6)
203   TITLE:=Support for Airprime (EVDO) 
204   DESCRIPTION:=Kernel support for Airprime (EVDO) 
205   KCONFIG:=CONFIG_USB_SERIAL_AIRPRIME
206   FILES:=$(LINUX_DIR)/drivers/usb/serial/airprime.$(LINUX_KMOD_SUFFIX)
207   AUTOLOAD:=$(call AutoLoad,65,airprime)
208 endef
209
210 $(eval $(call KernelPackage,usb-serial-airprime))
211
212
213 define KernelPackage/usb-serial-belkin
214   $(call usbdep,kmod-usb-serial)
215   TITLE:=Support for Belkin devices
216   DESCRIPTION:=Kernel support for Belkin USB-to-Serial converters
217   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
218   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
219   AUTOLOAD:=$(call AutoLoad,65,belkin_sa)
220 endef
221
222 $(eval $(call KernelPackage,usb-serial-belkin))
223
224
225 define KernelPackage/usb-serial-ftdi
226   $(call usbdep,kmod-usb-serial)
227   TITLE:=Support for FTDI devices
228   DESCRIPTION:=Kernel support for FTDI USB-to-Serial converters
229   KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
230   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.$(LINUX_KMOD_SUFFIX)
231   AUTOLOAD:=$(call AutoLoad,65,ftdi_sio)
232 endef
233
234 $(eval $(call KernelPackage,usb-serial-ftdi))
235
236
237 define KernelPackage/usb-serial-mct
238   $(call usbdep,kmod-usb-serial)
239   TITLE:=Support for Magic Control Tech. devices
240   DESCRIPTION:=Kernel support for Magic Control Technology USB-to-Serial converters
241   KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
242   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.$(LINUX_KMOD_SUFFIX)
243   AUTOLOAD:=$(call AutoLoad,65,mct_u232)
244 endef
245
246 $(eval $(call KernelPackage,usb-serial-mct))
247
248
249 define KernelPackage/usb-serial-pl2303
250   $(call usbdep,kmod-usb-serial)
251   TITLE:=Support for Prolific PL2303 devices
252   DESCRIPTION:=Kernel support for Prolific PL2303 USB-to-Serial converters
253   KCONFIG:=CONFIG_USB_SERIAL_PL2303
254   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
255   AUTOLOAD:=$(call AutoLoad,65,pl2303)
256 endef
257
258 $(eval $(call KernelPackage,usb-serial-pl2303))
259
260
261 define KernelPackage/usb-serial-sierrawireless
262   $(call usbdep,kmod-usb-serial @LINUX_2_6)
263   TITLE:=Support for Sierra Wireless devices
264   DESCRIPTION:=Kernel support for Sierra Wireless devices
265   KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
266   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
267   AUTOLOAD:=$(call AutoLoad,65,sierra)
268 endef
269
270 $(eval $(call KernelPackage,usb-serial-sierrawireless))
271
272
273 define KernelPackage/usb-serial-visor
274   $(call usbdep,kmod-usb-serial)
275   TITLE:=Support for Handspring Visor devices
276   DESCRIPTION:=Kernel support for Handspring Visor PDAs
277   KCONFIG:=CONFIG_USB_SERIAL_VISOR
278   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.$(LINUX_KMOD_SUFFIX)
279   AUTOLOAD:=$(call AutoLoad,65,visor)
280 endef
281
282 $(eval $(call KernelPackage,usb-serial-visor))
283
284
285 define KernelPackage/usb-serial-keyspan
286   $(call usbdep,kmod-usb-serial)
287   TITLE:=Support for Keyspan USB-to-Serial devices
288   DESCRIPTION:=Kernel support for Keyspan USB-to-Serial devices
289   KCONFIG:= \
290                 $(CONFIG_USB_SERIAL_KEYSPAN) \
291                 $(CONFIG_USB_SERIAL_KEYSPAN_USA28) \
292                 $(CONFIG_USB_SERIAL_KEYSPAN_USA28X) \
293                 $(CONFIG_USB_SERIAL_KEYSPAN_USA28XA) \
294                 $(CONFIG_USB_SERIAL_KEYSPAN_USA28XB) \
295                 $(CONFIG_USB_SERIAL_KEYSPAN_USA19) \
296                 $(CONFIG_USB_SERIAL_KEYSPAN_USA18X) \
297                 $(CONFIG_USB_SERIAL_KEYSPAN_USA19W) \
298                 $(CONFIG_USB_SERIAL_KEYSPAN_USA19QW) \
299                 $(CONFIG_USB_SERIAL_KEYSPAN_USA19QI) \
300                 $(CONFIG_USB_SERIAL_KEYSPAN_MPR) \
301                 $(CONFIG_USB_SERIAL_KEYSPAN_USA49W) \
302                 $(CONFIG_USB_SERIAL_KEYSPAN_USA49WLC)
303   FILES:=$(LINUX_DIR)/drivers/usb/serial/keyspan.$(LINUX_KMOD_SUFFIX)
304   AUTOLOAD:=$(call AutoLoad,65,keyspan)
305 endef
306
307 $(eval $(call KernelPackage,usb-serial-keyspan))
308
309
310 define KernelPackage/usb-serial-option
311   $(call usbdep,kmod-usb-serial @LINUX_2_6)
312   TITLE:=Support for Option HSDPA modems
313   DESCRIPTION:=Kernel support for Option HSDPA modems
314   KCONFIG:=CONFIG_USB_SERIAL_OPTION
315   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.$(LINUX_KMOD_SUFFIX)
316   AUTOLOAD:=$(call AutoLoad,65,option)
317 endef
318
319 $(eval $(call KernelPackage,usb-serial-option))
320
321
322 define KernelPackage/usb-storage
323   $(call usbdep,+kmod-scsi-core)
324   TITLE:=USB Storage support
325   DESCRIPTION:=Kernel support for USB Mass Storage devices
326   KCONFIG:=CONFIG_USB_STORAGE
327   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
328   AUTOLOAD:=$(call AutoLoad,60,scsi_mod sd_mod usb-storage)
329 endef
330
331 $(eval $(call KernelPackage,usb-storage))
332
333
334 define KernelPackage/usb-atm
335   $(call usbdep,@LINUX_2_6 kmod-atm)
336   TITLE:=Support for ATM on USB bus
337   DESCRIPTION:=Kernel support for USB DSL modems
338   KCONFIG:=CONFIG_USB_ATM
339   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX)
340   AUTOLOAD:=$(call AutoLoad,60,usbatm)
341 endef
342
343 $(eval $(call KernelPackage,usb-atm))
344
345
346 define KernelPackage/usb-speedtouch
347   $(call usbdep,@LINUX_2_6 kmod-atm)
348   TITLE:=Support for SpeedTouch ADSL modems
349   DESCRIPTION:=Kernel support for SpeedTouch USB ADSL modems
350   KCONFIG:=CONFIG_USB_SPEEDTOUCH
351   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
352   AUTOLOAD:=$(call AutoLoad,70,speedtch)
353 endef
354
355 $(eval $(call KernelPackage,usb-speedtouch))
356
357
358 define KernelPackage/ueagle-atm
359   $(call usbdep,@LINUX_2_6 kmod-atm)
360   TITLE:=Driver for Eagle 8051 based USB ADSL modems
361   DESCRIPTION:=Kernel support for Eagle 8051 based USB ADSL modems
362   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.$(LINUX_KMOD_SUFFIX)
363   KCONFIG:=CONFIG_USB_UEAGLEATM
364   AUTOLOAD:=$(call AutoLoad,70,ueagle-atm)
365 endef
366
367 $(eval $(call KernelPackage,ueagle-atm))
368
369
370 define KernelPackage/usb-pwc
371   $(call usbdep,+kmod-videodev @LINUX_2_6)
372   TITLE:=Philips WebCam driver
373   DESCRIPTION:=Kernel modules for supporting Philips WebCam USB devices
374   KCONFIG:=CONFIG_USB_PWC CONFIG_VIDEO_V4L1=y CONFIG_VIDEO_CAPTURE_DRIVERS=y CONFIG_V4L_USB_DRIVERS=y CONFIG_USB_PWC_DEBUG=n
375   FILES:=$(LINUX_DIR)/drivers/media/video/pwc/pwc.$(LINUX_KMOD_SUFFIX)
376   AUTOLOAD:=$(call AutoLoad,70,pwc)
377 endef
378
379 $(eval $(call KernelPackage,usb-pwc))
380
381
382 define KernelPackage/cpia2
383   $(call usbdep,+kmod-videodev @LINUX_2_6)
384   TITLE:=CPIA2 video driver
385   DESCRIPTION:=Kernel modules for CPIA2 WebCam devices
386   KCONFIG:=CONFIG_VIDEO_CPIA2
387   FILES:=$(LINUX_DIR)/drivers/media/video/cpia2/cpia2.$(LINUX_KMOD_SUFFIX)
388   AUTOLOAD:=$(call AutoLoad,70,cpia2)
389 endef
390
391 $(eval $(call KernelPackage,cpia2))
392
393
394 define KernelPackage/usb-net
395   $(call usbdep,)
396   TITLE:=Kernel modules for USB-to-Ethernet convertors
397   DESCRIPTION:=Kernel modules for USB-to-Ethernet convertors
398   KCONFIG:=CONFIG_USB_USBNET
399   AUTOLOAD:=$(call Autoload,60, usbnet)
400 endef
401
402 define KernelPackage/usb-net/2.4
403   FILES:=$(LINUX_DIR)/drivers/usb/usbnet.$(LINUX_KMOD_SUFFIX)
404 endef
405
406 define KernelPackage/usb-net/2.6
407   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.$(LINUX_KMOD_SUFFIX)
408 endef
409
410 $(eval $(call KernelPackage,usb-net))
411
412
413 define KernelPackage/usb-net-asix
414   $(call usbdep,kmod-usb-net @LINUX_2_6)
415   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
416   DESCRIPTION:=Kernel module for USB-to-Ethernet Asix convertors
417   KCONFIG:=CONFIG_USB_NET_AX8817X
418   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.$(LINUX_KMOD_SUFFIX)
419   AUTOLOAD:=$(call Autoload,61,asix)
420 endef
421
422 $(eval $(call KernelPackage,usb-net-asix))
423
424
425 define KernelPackage/usb-net-kaweth
426   $(call usbdep,kmod-usb-net @LINUX_2_6)
427   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
428   DESCRIPTION:=Kernel module for USB-to-Ethernet Kaweth convertors
429   KCONFIG:=CONFIG_USB_KAWETH
430   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.$(LINUX_KMOD_SUFFIX)
431   AUTOLOAD:=$(call Autoload,61,kaweth)
432 endef
433
434 $(eval $(call KernelPackage,usb-net-kaweth))
435
436
437 define KernelPackage/usb-net-pegasus
438   $(call usbdep,kmod-usb-net @LINUX_2_6)
439   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
440   DESCRIPTION:=Kernel module for USB-to-Ethernet Pegasus convertors
441   KCONFIG:=CONFIG_USB_PEGASUS
442   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.$(LINUX_KMOD_SUFFIX)
443   AUTOLOAD:=$(call Autoload,61,pegasus)
444 endef
445
446 $(eval $(call KernelPackage,usb-net-pegasus))
447
448
449 define KernelPackage/usb-hid
450   $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
451   TITLE:=Support for USB Human Input Devices
452   DESCRIPTION:=Kernel support for USB HID devices such as keyboards and mice
453   KCONFIG:=CONFIG_USB_HID
454   FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
455   AUTOLOAD:=$(call AutoLoad,70,usbhid)
456 endef
457
458 $(eval $(call KernelPackage,usb-hid))
459
460
461 define KernelPackage/usb-yealink
462   $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
463   TITLE:=USB Yealink VOIP phone
464   DESCRIPTION:=Kernel support for Yealink VOIP phone
465   KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
466   FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
467   AUTOLOAD:=$(call AutoLoad,70,yealink)
468 endef
469
470 $(eval $(call KernelPackage,usb-yealink))