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