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