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