kernel version specific fixups for kmod packages
[openwrt/staging/yousong.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