fix last change - some pats are 2.6.22 specific, and we aren't there yet
[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 # This is 2.6.22 specific
12 #ifeq ($(KERNEL),2.4)
13         USBNET_DIR=usb/net
14 #else
15 #       USBNET_DIR=net/usb
16 #endif
17
18 define KernelPackage/usb-core
19   TITLE:=Support for USB
20   DESCRIPTION:=Kernel support for USB
21   DEPENDS:=@USB_SUPPORT
22   KCONFIG:=$(CONFIG_USB)
23   SUBMENU:=$(USBMENU)
24   AUTOLOAD:=$(call AutoLoad,20,usbcore)
25 endef
26
27 define KernelPackage/usb-core/2.4
28   FILES:=$(LINUX_DIR)/drivers/usb/usbcore.$(LINUX_KMOD_SUFFIX)
29 endef
30
31 define KernelPackage/usb-core/2.6
32   FILES:=$(LINUX_DIR)/drivers/usb/core/usbcore.$(LINUX_KMOD_SUFFIX)
33 endef
34 $(eval $(call KernelPackage,usb-core))
35
36
37 define KernelPackage/usb-uhci
38   TITLE:=Support for UHCI controllers
39   DESCRIPTION:=Kernel support for USB UHCI controllers
40   DEPENDS:=kmod-usb-core
41   SUBMENU:=$(USBMENU)
42 endef
43
44 define KernelPackage/usb-uhci/2.4
45   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci.o
46   KCONFIG:=$(CONFIG_USB_UHCI_ALT)
47   AUTOLOAD:=$(call AutoLoad,50,uhci)
48 endef
49
50 define KernelPackage/usb-uhci/2.6
51   FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
52   KCONFIG:=$(CONFIG_USB_UHCI_HCD)
53   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd)
54 endef
55 $(eval $(call KernelPackage,usb-uhci))
56
57 define KernelPackage/usb-uhci-iv
58   TITLE:=Support for Intel/VIA UHCI controllers 
59   DESCRIPTION:=Kernel support for Intel/VIA USB UHCI controllers
60   DEPENDS:=kmod-usb-core @LINUX_2_4
61   SUBMENU:=$(USBMENU)
62 endef 
63
64 define KernelPackage/usb-uhci-iv/2.4
65   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-uhci.$(LINUX_KMOD_SUFFIX)
66   KCONFIG:=$(CONFIG_USB_UHCI)
67   AUTOLOAD:=$(call AutoLoad,50,usb-uhci) 
68 endef 
69 $(eval $(call KernelPackage,usb-uhci-iv)) 
70
71 define KernelPackage/usb-ohci
72   TITLE:=Support for OHCI controllers
73   DESCRIPTION:=Kernel support for USB OHCI controllers
74   DEPENDS:=kmod-usb-core
75   SUBMENU:=$(USBMENU)
76 endef
77
78 define KernelPackage/usb-ohci/2.4
79   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-ohci.o
80   KCONFIG:=$(CONFIG_USB_OHCI)
81   AUTOLOAD:=$(call AutoLoad,50,usb-ohci)
82 endef
83
84 define KernelPackage/usb-ohci/2.6
85   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko
86   KCONFIG:=$(CONFIG_USB_OHCI_HCD)
87   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd)
88 endef
89 $(eval $(call KernelPackage,usb-ohci))
90
91 define KernelPackage/usb2
92   TITLE:=Support for USB2 controllers
93   DESCRIPTION:=Kernel support for USB2 (EHCI) controllers
94   DEPENDS:=kmod-usb-core
95   KCONFIG:=$(CONFIG_USB)
96   SUBMENU:=$(USBMENU)
97   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
98   KCONFIG:=$(CONFIG_USB_EHCI_HCD)
99   AUTOLOAD:=$(call AutoLoad,50,ehci-hcd)
100 endef
101 $(eval $(call KernelPackage,usb2))
102
103
104 define usbdep
105   SUBMENU:=$(USBMENU)
106   DEPENDS:=kmod-usb-core $(1)
107 endef
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   TITLE:=Support for Airprime (EVDO) 
182   DESCRIPTION:=Kernel support for Airprime (EVDO) 
183   DEPENDS:=kmod-usb-serial
184   SUBMENU:=$(USBMENU)
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   TITLE:=Support for Belkin devices
193   DESCRIPTION:=Kernel support for Belkin USB-to-Serial converters
194   DEPENDS:=kmod-usb-serial
195   SUBMENU:=$(USBMENU)
196   KCONFIG:=$(CONFIG_USB_SERIAL_BELKIN)
197   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
198   AUTOLOAD:=$(call AutoLoad,65,belkin_sa)
199 endef
200 $(eval $(call KernelPackage,usb-serial-belkin))
201
202
203 define KernelPackage/usb-serial-ftdi
204   TITLE:=Support for FTDI devices
205   DESCRIPTION:=Kernel support for FTDI USB-to-Serial converters
206   DEPENDS:=kmod-usb-serial
207   SUBMENU:=$(USBMENU)
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   TITLE:=Support for Magic Control Tech. devices
217   DESCRIPTION:=Kernel support for Magic Control Technology USB-to-Serial converters
218   DEPENDS:=kmod-usb-serial
219   SUBMENU:=$(USBMENU)
220   KCONFIG:=$(CONFIG_USB_SERIAL_MCT_U232)
221   FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.$(LINUX_KMOD_SUFFIX)
222   AUTOLOAD:=$(call AutoLoad,65,mct_u232)
223 endef
224 $(eval $(call KernelPackage,usb-serial-mct))
225
226 define KernelPackage/usb-serial-pl2303
227   TITLE:=Support for Prolific PL2303 devices
228   DESCRIPTION:=Kernel support for Prolific PL2303 USB-to-Serial converters
229   DEPENDS:=kmod-usb-serial
230   SUBMENU:=$(USBMENU)
231   KCONFIG:=$(CONFIG_USB_SERIAL_PL2303)
232   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
233   AUTOLOAD:=$(call AutoLoad,65,pl2303)
234 endef
235 $(eval $(call KernelPackage,usb-serial-pl2303))
236
237
238 define KernelPackage/usb-serial-sierrawireless
239   TITLE:=Support for Sierra Wireless devices
240   DESCRIPTION:=Kernel support for Sierra Wireless devices
241   DEPENDS:=kmod-usb-serial
242   SUBMENU:=$(USBMENU)
243   KCONFIG:=$(CONFIG_USB_SERIAL_SIERRAWIRELESS)
244   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
245   AUTOLOAD:=$(call AutoLoad,65,sierra)
246 endef
247 $(eval $(call KernelPackage,usb-serial-sierrawireless))
248
249
250 define KernelPackage/usb-serial-visor
251   TITLE:=Support for Handspring Visor devices
252   DESCRIPTION:=Kernel support for Handspring Visor PDAs
253   DEPENDS:=kmod-usb-serial
254   SUBMENU:=$(USBMENU)
255   KCONFIG:=$(CONFIG_USB_SERIAL_VISOR)
256   FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.$(LINUX_KMOD_SUFFIX)
257   AUTOLOAD:=$(call AutoLoad,65,visor)
258 endef
259 $(eval $(call KernelPackage,usb-serial-visor))
260
261
262 define KernelPackage/usb-storage
263   $(call usbdep,)
264   TITLE:=USB Storage support
265   DESCRIPTION:=Kernel support for USB Mass Storage devices
266   KCONFIG:=$(CONFIG_USB_STORAGE)
267   FILES:= \
268         $(LINUX_DIR)/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
269   AUTOLOAD:=$(call AutoLoad,60,scsi_mod sd_mod usb-storage)
270   DEPENDS:=+kmod-scsi-core
271 endef
272 $(eval $(call KernelPackage,usb-storage))
273
274 define KernelPackage/usb-atm
275   $(call usbdep,@LINUX_2_6 kmod-atm)
276   TITLE:=Support for ATM on USB bus
277   DESCRIPTION:=Kernel support for USB DSL modems
278   KCONFIG:=$(CONFIG_USB_ATM)
279   FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX)
280   AUTOLOAD:=$(call AutoLoad,60,usbatm)
281 endef
282 $(eval $(call KernelPackage,usb-atm))
283
284 define KernelPackage/usb-speedtouch
285   $(call usbdep,@LINUX_2_6 kmod-atm)
286   TITLE:=Support for SpeedTouch ADSL modems
287   DESCRIPTION:=Kernel support for SpeedTouch USB ADSL modems
288   KCONFIG:=$(CONFIG_USB_SPEEDTOUCH)
289   FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
290   AUTOLOAD:=$(call AutoLoad,70,speedtch)
291 endef
292 $(eval $(call KernelPackage,usb-speedtouch))
293
294 define KernelPackage/ueagle-atm
295   $(call usbdep,@LINUX_2_6 kmod-atm)
296   TITLE:=Driver for Eagle 8051 based USB ADSL modems
297   DESCRIPTION:=Kernel support for Eagle 8051 based USB ADSL modems
298   FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.$(LINUX_KMOD_SUFFIX)
299   KCONFIG:=$(CONFIG_USB_UEAGLEATM)
300   AUTOLOAD:=$(call AutoLoad,70,ueagle-atm)
301 endef
302 $(eval $(call KernelPackage,ueagle-atm))
303
304 define KernelPackage/usb-pwc
305   $(call usbdep,+kmod-videodev)
306   TITLE:=Philips WebCam driver
307   DESCRIPTION:=Kernel modules for supporting Philips WebCam USB devices
308   KCONFIG:=$(CONFIG_USB_PWC)
309   AUTOLOAD:=$(call AutoLoad,70,pwc)
310 endef
311
312 define KernelPackage/usb-pwc/2.4
313   FILES:=$(LINUX_DIR)/drivers/usb/pwc.$(LINUX_KMOD_SUFFIX)
314 endef
315
316 define KernelPackage/usb-pwc/2.6
317   FILES:=$(LINUX_DIR)/drivers/usb/media/pwc/pwc.$(LINUX_KMOD_SUFFIX)
318 endef
319 $(eval $(call KernelPackage,usb-pwc))
320
321 define KernelPackage/usb-net
322   $(call usbdep,)
323   TITLE:=Kernel modules for USB-to-Ethernet convertors
324   DESCRIPTION:=Kernel modules for USB-to-Ethernet convertors
325   KCONFIG:=$(CONFIG_USB_USBNET)
326   DEPENDS:=@USB_SUPPORT
327   AUTOLOAD:=$(call Autoload,60, usbnet)
328 endef
329
330 define KernelPackage/usb-net/2.4
331   FILES:=$(LINUX_DIR)/drivers/usb/usbnet.$(LINUX_KMOD_SUFFIX)
332 endef
333
334 define KernelPackage/usb-net/2.6
335   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.$(LINUX_KMOD_SUFFIX)
336 endef
337
338 $(eval $(call KernelPackage,usb-net))
339
340 define KernelPackage/usb-net-asix
341   $(call usbdep,+kmod-usbnet)
342   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
343   DESCRIPTION:=Kernel module for USB-to-Ethernet Asix convertors
344   DEPENDS:=kmod-usb-net
345   KCONFIG:=$(CONFIG_USB_NET_AX8817X)
346 endef
347
348 define KernelPackage/usb-net-asix/2.4
349   FILES:=$(LINUX_DIR)/drivers/usb/ax8817x.$(LINUX_KMOD_SUFFIX)
350   AUTOLOAD:=$(call Autoload,61,ax8817x)
351 endef
352
353 define KernelPackage/usb-net-asix/2.6
354   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.$(LINUX_KMOD_SUFFIX)
355   AUTOLOAD:=$(call Autoload,61,asix)
356 endef
357
358 $(eval $(call KernelPackage,usb-net-asix))
359
360 define KernelPackage/usb-net-kaweth
361   $(call usbdep,+kmod-usbnet)
362   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
363   DESCRIPTION:=Kernel module for USB-to-Ethernet Kaweth convertors
364   DEPENDS:=kmod-usb-net
365   KCONFIG:=$(CONFIG_USB_KAWETH)
366   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.$(LINUX_KMOD_SUFFIX)
367   AUTOLOAD:=$(call Autoload,61,kaweth)
368 endef
369
370 $(eval $(call KernelPackage,usb-net-kaweth))
371
372 define KernelPackage/usb-net-pegasus
373   $(call usbdep,+kmod-usbnet)
374   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
375   DESCRIPTION:=Kernel module for USB-to-Ethernet Pegasus convertors
376   DEPENDS:=kmod-usb-net
377   KCONFIG:=$(CONFIG_USB_PEGASUS)
378   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.$(LINUX_KMOD_SUFFIX)
379   AUTOLOAD:=$(call Autoload,61,pegasus)
380 endef
381
382 $(eval $(call KernelPackage,usb-net-pegasus))
383
384 define KernelPackage/usb-hid
385   $(call usbdep,@LINUX_2_6 evdev)
386   TITLE:=Support for USB Human Input Devices
387   DESCRIPTION:=Kernel support for USB HID devices such as keyboards and mice
388   KCONFIG:=$(CONFIG_USB_HID)
389   AUTOLOAD:=$(call AutoLoad,70,usbhid)
390 endef
391
392 define KernelPackage/usb-hid/2.6
393   FILES:=$(LINUX_DIR)/drivers/usb/input/usbhid.ko
394 endef
395 $(eval $(call KernelPackage,usb-hid))
396
397 define KernelPackage/usb-yealink
398   $(call usbdep,@LINUX_2_6)
399   TITLE:=USB Yealink VOIP phone
400   DESCRIPTION:=Kernel support for Yealink VOIP phone
401   KCONFIG:=$(CONFIG_USB_YEALINK)
402   FILES:=$(LINUX_DIR)/drivers/usb/input/yealink.ko
403   AUTOLOAD:=$(call AutoLoad,70,yealink)
404   DEPENDS:=kmod-input-core kmod-input-evdev
405 endef
406 $(eval $(call KernelPackage,usb-yealink))
407
408