cleanup
[openwrt/svn-archive/archive.git] / package / kernel / modules / usb.mk
index fe6e093f5ca15e0c6e63d02bb53a56876d10fb1e..12a55d75b8a4cf95d9438f97c5c3ea5226e6d664 100644 (file)
 
 USBMENU:=USB Support
 
+ifeq ($(KERNEL),2.4)
+  USBNET_DIR:=usb/net
+endif
+
+ifeq ($(KERNEL_PATCHVER),2.6.21)
+  USBNET_DIR:=usb/net
+  USBHID_DIR:=usb/input
+  USBINPUT_DIR:=usb/input
+endif
+
+USBNET_DIR?=net/usb
+USBHID_DIR?=hid/usbhid
+USBINPUT_DIR?=input/misc
+
+define usbdep
+  SUBMENU:=$(USBMENU)
+  DEPENDS:=kmod-usb-core $(1)
+endef
+
 define KernelPackage/usb-core
   TITLE:=Support for USB
   DESCRIPTION:=Kernel support for USB
   DEPENDS:=@USB_SUPPORT
   KCONFIG:=$(CONFIG_USB)
   SUBMENU:=$(USBMENU)
-  AUTOLOAD:=$(call AutoLoad,20,usb-core)
+  AUTOLOAD:=$(call AutoLoad,20,usbcore)
 endef
 
 define KernelPackage/usb-core/2.4
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/usbcore.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/usbcore.$(LINUX_KMOD_SUFFIX)
 endef
 
 define KernelPackage/usb-core/2.6
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/core/usbcore.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/core/usbcore.$(LINUX_KMOD_SUFFIX)
 endef
-$(eval $(call KernelPackage,usbcore))
+$(eval $(call KernelPackage,usb-core))
 
 
 define KernelPackage/usb-uhci
+  $(call usbdep,)
   TITLE:=Support for UHCI controllers
   DESCRIPTION:=Kernel support for USB UHCI controllers
-  DEPENDS:=kmod-usb-core
-  PROVIDES:=usb-controller
-  SUBMENU:=$(USBMENU)
 endef
 
 define KernelPackage/usb-uhci/2.4
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/host/uhci.o
+  FILES:=$(LINUX_DIR)/drivers/usb/host/uhci.o
   KCONFIG:=$(CONFIG_USB_UHCI_ALT)
   AUTOLOAD:=$(call AutoLoad,50,uhci)
 endef
 
 define KernelPackage/usb-uhci/2.6
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/host/uhci-hcd.ko
+  FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko
   KCONFIG:=$(CONFIG_USB_UHCI_HCD)
   AUTOLOAD:=$(call AutoLoad,50,uhci-hcd)
 endef
 $(eval $(call KernelPackage,usb-uhci))
 
+define KernelPackage/usb-uhci-iv
+  $(call usbdep,@LINUX_2_4)
+  TITLE:=Support for Intel/VIA UHCI controllers 
+  DESCRIPTION:=Kernel support for Intel/VIA USB UHCI controllers
+endef 
+
+define KernelPackage/usb-uhci-iv/2.4
+  FILES:=$(LINUX_DIR)/drivers/usb/host/usb-uhci.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=$(CONFIG_USB_UHCI)
+  AUTOLOAD:=$(call AutoLoad,50,usb-uhci) 
+endef 
+$(eval $(call KernelPackage,usb-uhci-iv)) 
 
 define KernelPackage/usb-ohci
+  $(call usbdep,)
   TITLE:=Support for OHCI controllers
   DESCRIPTION:=Kernel support for USB OHCI controllers
-  DEPENDS:=kmod-usb-core
-  PROVIDES:=usb-controller
-  SUBMENU:=$(USBMENU)
 endef
 
 define KernelPackage/usb-ohci/2.4
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/host/usb-ohci.o
+  FILES:=$(LINUX_DIR)/drivers/usb/host/usb-ohci.o
   KCONFIG:=$(CONFIG_USB_OHCI)
   AUTOLOAD:=$(call AutoLoad,50,usb-ohci)
 endef
 
 define KernelPackage/usb-ohci/2.6
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/host/ohci-hcd.ko
+  FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko
   KCONFIG:=$(CONFIG_USB_OHCI_HCD)
   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd)
 endef
 $(eval $(call KernelPackage,usb-ohci))
 
-
 define KernelPackage/usb2
+  $(call usbdep,)
   TITLE:=Support for USB2 controllers
   DESCRIPTION:=Kernel support for USB2 (EHCI) controllers
-  DEPENDS:=kmod-usb-core
-  PROVIDES:=usb-controller
-  KCONFIG:=$(CONFIG_USB)
-  SUBMENU:=$(USBMENU)
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
   KCONFIG:=$(CONFIG_USB_EHCI_HCD)
   AUTOLOAD:=$(call AutoLoad,50,ehci-hcd)
 endef
 $(eval $(call KernelPackage,usb2))
 
 
-define usbdep
-  SUBMENU:=$(USBMENU)
-  DEPENDS:=kmod-usb-core usb-controller $(1)
-endef
-
-
 define KernelPackage/usb-acm
   $(call usbdep,)
   TITLE:=Support for modems/isdn controllers
@@ -99,12 +116,12 @@ define KernelPackage/usb-acm
 endef
 
 define KernelPackage/usb-acm/2.4
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/acm.o
+  FILES:=$(LINUX_DIR)/drivers/usb/acm.o
   AUTOLOAD:=$(call AutoLoad,60,acm)
 endef
 
 define KernelPackage/usb-acm/2.6
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/class/cdc-acm.ko
+  FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko
   AUTOLOAD:=$(call AutoLoad,60,cdc-acm)
 endef
 $(eval $(call KernelPackage,usb-acm))
@@ -114,16 +131,20 @@ define KernelPackage/usb-audio
   $(call usbdep,+kmod-soundcore)
   TITLE:=Support for audio devices
   DESCRIPTION:=Kernel support for USB audio devices
-  KCONFIG:=$(CONFIG_USB_AUDIO)
-  AUTOLOAD:=$(call AutoLoad,60,audio)
 endef
 
 define KernelPackage/usb-audio/2.4
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/audio.o
+  KCONFIG:=$(CONFIG_USB_AUDIO)
+  FILES:=$(LINUX_DIR)/drivers/usb/audio.o
+  AUTOLOAD:=$(call AutoLoad,60,audio)
 endef
 
 define KernelPackage/usb-audio/2.6
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/class/audio.ko
+  KCONFIG:=$(CONFIG_SND_USB_AUDIO)
+  FILES:= \
+       $(LINUX_DIR)/sound/usb/snd-usb-lib.ko \
+       $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
+  AUTOLOAD:=$(call AutoLoad,60,snd-usb-lib snd-usb-audio)
 endef
 $(eval $(call KernelPackage,usb-audio))
 
@@ -136,12 +157,12 @@ define KernelPackage/usb-printer
 endef
 
 define KernelPackage/usb-printer/2.4
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/printer.o
+  FILES:=$(LINUX_DIR)/drivers/usb/printer.o
   AUTOLOAD:=$(call AutoLoad,60,printer)
 endef
 
 define KernelPackage/usb-printer/2.6
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/class/usblp.ko
+  FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko
   AUTOLOAD:=$(call AutoLoad,60,usblp)
 endef
 $(eval $(call KernelPackage,usb-printer))
@@ -152,95 +173,252 @@ define KernelPackage/usb-serial
   TITLE:=Support for USB-to-Serial converters
   DESCRIPTION:=Kernel support for USB-to-Serial converters
   KCONFIG:=$(CONFIG_USB_SERIAL)
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/serial/usbserial.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,60,usbserial)
 endef
 $(eval $(call KernelPackage,usb-serial))
 
+define KernelPackage/usb-serial-airprime
+  $(call usbdep,kmod-usb-serial)
+  TITLE:=Support for Airprime (EVDO) 
+  DESCRIPTION:=Kernel support for Airprime (EVDO) 
+  KCONFIG:=$(CONFIG_USB_SERIAL_AIRPRIME)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/airprime.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,65,airprime)
+endef
+$(eval $(call KernelPackage,usb-serial-airprime))
 
 define KernelPackage/usb-serial-belkin
+  $(call usbdep,kmod-usb-serial)
   TITLE:=Support for Belkin devices
   DESCRIPTION:=Kernel support for Belkin USB-to-Serial converters
-  DEPENDS:=kmod-usb-serial
-  SUBMENU:=$(USBMENU)
   KCONFIG:=$(CONFIG_USB_SERIAL_BELKIN)
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,belkin_sa)
 endef
 $(eval $(call KernelPackage,usb-serial-belkin))
 
 
 define KernelPackage/usb-serial-ftdi
+  $(call usbdep,kmod-usb-serial)
   TITLE:=Support for FTDI devices
   DESCRIPTION:=Kernel support for FTDI USB-to-Serial converters
-  DEPENDS:=kmod-usb-serial
-  SUBMENU:=$(USBMENU)
   KCONFIG:=$(CONFIG_USB_SERIAL_FTDI_SIO)
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/serial/ftdi_sio.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,ftdi_sio)
 endef
 $(eval $(call KernelPackage,usb-serial-ftdi))
 
 
 define KernelPackage/usb-serial-mct
+  $(call usbdep,kmod-usb-serial)
   TITLE:=Support for Magic Control Tech. devices
   DESCRIPTION:=Kernel support for Magic Control Technology USB-to-Serial converters
-  DEPENDS:=kmod-usb-serial
-  SUBMENU:=$(USBMENU)
   KCONFIG:=$(CONFIG_USB_SERIAL_MCT_U232)
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/serial/mct_u232.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,mct_u232)
 endef
 $(eval $(call KernelPackage,usb-serial-mct))
 
 define KernelPackage/usb-serial-pl2303
+  $(call usbdep,kmod-usb-serial)
   TITLE:=Support for Prolific PL2303 devices
   DESCRIPTION:=Kernel support for Prolific PL2303 USB-to-Serial converters
-  DEPENDS:=kmod-usb-serial
-  SUBMENU:=$(USBMENU)
   KCONFIG:=$(CONFIG_USB_SERIAL_PL2303)
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,pl2303)
 endef
 $(eval $(call KernelPackage,usb-serial-pl2303))
 
 
+define KernelPackage/usb-serial-sierrawireless
+  $(call usbdep,kmod-usb-serial)
+  TITLE:=Support for Sierra Wireless devices
+  DESCRIPTION:=Kernel support for Sierra Wireless devices
+  KCONFIG:=$(CONFIG_USB_SERIAL_SIERRAWIRELESS)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,65,sierra)
+endef
+$(eval $(call KernelPackage,usb-serial-sierrawireless))
+
+
 define KernelPackage/usb-serial-visor
+  $(call usbdep,kmod-usb-serial)
   TITLE:=Support for Handspring Visor devices
   DESCRIPTION:=Kernel support for Handspring Visor PDAs
-  DEPENDS:=kmod-usb-serial
-  SUBMENU:=$(USBMENU)
   KCONFIG:=$(CONFIG_USB_SERIAL_VISOR)
-  FILES:=$(MODULES_DIR)/kernel/drivers/usb/serial/visor.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,visor)
 endef
 $(eval $(call KernelPackage,usb-serial-visor))
 
+define KernelPackage/usb-serial-option
+  $(call usbdep,kmod-usb-serial)
+  TITLE:=Support for Option HSDPA modems
+  DESCRIPTION:=Kernel support for Option HSDPA modems
+  DEPENDS:=@LINUX_2_6
+  KCONFIG:=$(CONFIG_USB_SERIAL_OPTION)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/option.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,65,option)
+endef
+$(eval $(call KernelPackage,usb-serial-option))
+
 
 define KernelPackage/usb-storage
-  $(call usbdep,)
+  $(call usbdep,+kmod-scsi-core)
   TITLE:=USB Storage support
   DESCRIPTION:=Kernel support for USB Mass Storage devices
   KCONFIG:=$(CONFIG_USB_STORAGE)
   FILES:= \
-       $(MODULES_DIR)/kernel/drivers/scsi/scsi_mod.$(LINUX_KMOD_SUFFIX) \
-       $(MODULES_DIR)/kernel/drivers/scsi/sd_mod.$(LINUX_KMOD_SUFFIX) \
-       $(MODULES_DIR)/kernel/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
+       $(LINUX_DIR)/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,60,scsi_mod sd_mod usb-storage)
 endef
 $(eval $(call KernelPackage,usb-storage))
 
-
+define KernelPackage/usb-atm
+  $(call usbdep,@LINUX_2_6 kmod-atm)
+  TITLE:=Support for ATM on USB bus
+  DESCRIPTION:=Kernel support for USB DSL modems
+  KCONFIG:=$(CONFIG_USB_ATM)
+  FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,60,usbatm)
+endef
+$(eval $(call KernelPackage,usb-atm))
 
 define KernelPackage/usb-speedtouch
   $(call usbdep,@LINUX_2_6 kmod-atm)
   TITLE:=Support for SpeedTouch ADSL modems
   DESCRIPTION:=Kernel support for SpeedTouch USB ADSL modems
   KCONFIG:=$(CONFIG_USB_SPEEDTOUCH)
-  FILES:= \
-       $(MODULES_DIR)/kernel/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX) \
-       $(MODULES_DIR)/kernel/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,70,usbatm speedtch)
+  FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,70,speedtch)
 endef
 $(eval $(call KernelPackage,usb-speedtouch))
-  
+
+define KernelPackage/ueagle-atm
+  $(call usbdep,@LINUX_2_6 kmod-atm)
+  TITLE:=Driver for Eagle 8051 based USB ADSL modems
+  DESCRIPTION:=Kernel support for Eagle 8051 based USB ADSL modems
+  FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=$(CONFIG_USB_UEAGLEATM)
+  AUTOLOAD:=$(call AutoLoad,70,ueagle-atm)
+endef
+$(eval $(call KernelPackage,ueagle-atm))
+
+define KernelPackage/usb-pwc
+  $(call usbdep,+kmod-videodev)
+  TITLE:=Philips WebCam driver
+  DESCRIPTION:=Kernel modules for supporting Philips WebCam USB devices
+  KCONFIG:=$(CONFIG_USB_PWC)
+  AUTOLOAD:=$(call AutoLoad,70,pwc)
+endef
+
+define KernelPackage/usb-pwc/2.4
+  FILES:=$(LINUX_DIR)/drivers/usb/pwc.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/usb-pwc/2.6
+  FILES:=$(LINUX_DIR)/drivers/media/video/pwc/pwc.$(LINUX_KMOD_SUFFIX)
+endef
+$(eval $(call KernelPackage,usb-pwc))
+
+define KernelPackage/cpia2
+  $(call usbdep,+kmod-videodev)
+  TITLE:=CPIA2 video driver
+  DESCRIPTION:=Kernel modules for CPIA2 WebCam devices
+  KCONFIG:=$(CONFIG_VIDEO_CPIA2)
+  AUTOLOAD:=$(call AutoLoad,70,cpia2)
+endef
+
+define KernelPackage/cpia2/2.4
+  FILES:=$(LINUX_DIR)/drivers/usb/cpia2.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/cpia2/2.6
+  FILES:=$(LINUX_DIR)/drivers/media/video/cpia2/cpia2.$(LINUX_KMOD_SUFFIX)
+endef
+$(eval $(call KernelPackage,cpia2))
+
+define KernelPackage/usb-net
+  $(call usbdep,)
+  TITLE:=Kernel modules for USB-to-Ethernet convertors
+  DESCRIPTION:=Kernel modules for USB-to-Ethernet convertors
+  KCONFIG:=$(CONFIG_USB_USBNET)
+  AUTOLOAD:=$(call Autoload,60, usbnet)
+endef
+
+define KernelPackage/usb-net/2.4
+  FILES:=$(LINUX_DIR)/drivers/usb/usbnet.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/usb-net/2.6
+  FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.$(LINUX_KMOD_SUFFIX)
+endef
+
+$(eval $(call KernelPackage,usb-net))
+
+define KernelPackage/usb-net-asix
+  $(call usbdep,kmod-usbnet)
+  TITLE:=Kernel module for USB-to-Ethernet Asix convertors
+  DESCRIPTION:=Kernel module for USB-to-Ethernet Asix convertors
+  KCONFIG:=$(CONFIG_USB_NET_AX8817X)
+endef
+
+define KernelPackage/usb-net-asix/2.4
+  FILES:=$(LINUX_DIR)/drivers/usb/ax8817x.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call Autoload,61,ax8817x)
+endef
+
+define KernelPackage/usb-net-asix/2.6
+  FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call Autoload,61,asix)
+endef
+
+$(eval $(call KernelPackage,usb-net-asix))
+
+define KernelPackage/usb-net-kaweth
+  $(call usbdep,kmod-usbnet)
+  TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
+  DESCRIPTION:=Kernel module for USB-to-Ethernet Kaweth convertors
+  KCONFIG:=$(CONFIG_USB_KAWETH)
+  FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call Autoload,61,kaweth)
+endef
+
+$(eval $(call KernelPackage,usb-net-kaweth))
+
+define KernelPackage/usb-net-pegasus
+  $(call usbdep,kmod-usbnet)
+  TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
+  DESCRIPTION:=Kernel module for USB-to-Ethernet Pegasus convertors
+  KCONFIG:=$(CONFIG_USB_PEGASUS)
+  FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call Autoload,61,pegasus)
+endef
+
+$(eval $(call KernelPackage,usb-net-pegasus))
+
+define KernelPackage/usb-hid
+  $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
+  TITLE:=Support for USB Human Input Devices
+  DESCRIPTION:=Kernel support for USB HID devices such as keyboards and mice
+  KCONFIG:=$(CONFIG_USB_HID)
+  AUTOLOAD:=$(call AutoLoad,70,usbhid)
+endef
+
+define KernelPackage/usb-hid/2.6
+  FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
+endef
+$(eval $(call KernelPackage,usb-hid))
+
+define KernelPackage/usb-yealink
+  $(call usbdep,@LINUX_2_6 +kmod-input-core +kmod-input-evdev)
+  TITLE:=USB Yealink VOIP phone
+  DESCRIPTION:=Kernel support for Yealink VOIP phone
+  KCONFIG:=$(CONFIG_USB_YEALINK)
+  FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
+  AUTOLOAD:=$(call AutoLoad,70,yealink)
+endef
+$(eval $(call KernelPackage,usb-yealink))
+
+