Add a zyxel prestige profile for the adm5120eb target, build the hcd driver as a...
[openwrt/svn-archive/archive.git] / package / kernel / modules / usb.mk
index daa7c9124019a06ae546708406cc62962328782c..6d2545a31069e284102e6916b6d96c00f62252b1 100644 (file)
@@ -8,11 +8,30 @@
 
 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)
+  KCONFIG:=CONFIG_USB
   SUBMENU:=$(USBMENU)
   AUTOLOAD:=$(call AutoLoad,20,usbcore)
 endef
@@ -28,83 +47,75 @@ $(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
-  SUBMENU:=$(USBMENU)
+  KCONFIG:=CONFIG_USB_UHCI_ALT CONFIG_USB_UHCI_HCD
 endef
-
 define KernelPackage/usb-uhci/2.4
   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:=$(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
-  DEPENDS:=kmod-usb-core @LINUX_2_4
-  SUBMENU:=$(USBMENU)
-endef 
-
-define KernelPackage/usb-uhci-iv/2.4
   FILES:=$(LINUX_DIR)/drivers/usb/host/usb-uhci.$(LINUX_KMOD_SUFFIX)
-  KCONFIG:=$(CONFIG_USB_UHCI)
+  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
-  SUBMENU:=$(USBMENU)
+  KCONFIG:=CONFIG_USB_OHCI CONFIG_USB_OHCI_HCD
 endef
 
 define KernelPackage/usb-ohci/2.4
   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:=$(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/usb-adm5120
+  $(call usbdep,@LINUX_2_6_ADM5120||@LINUX_2_6_ADM5120EB)
+  TITLE:=Support for the ADM5120 HCD controller
+  DESCRIPTION:=Kernel support for the ADM5120 HCD USB controller
+  KCONFIG:=CONFIG_USB_ADM5120_HCD
+  FILES:=$(LINUX_DIR)/drivers/usb/host/adm5120-hcd.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,adm5120-hcd)
+endef
+$(eval $(call KernelPackage,usb-adm5120))
+
 define KernelPackage/usb2
+  $(call usbdep,)
   TITLE:=Support for USB2 controllers
   DESCRIPTION:=Kernel support for USB2 (EHCI) controllers
-  DEPENDS:=kmod-usb-core
-  KCONFIG:=$(CONFIG_USB)
-  SUBMENU:=$(USBMENU)
   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.$(LINUX_KMOD_SUFFIX)
-  KCONFIG:=$(CONFIG_USB_EHCI_HCD)
+  KCONFIG:=CONFIG_USB_EHCI_HCD
   AUTOLOAD:=$(call AutoLoad,50,ehci-hcd)
 endef
 $(eval $(call KernelPackage,usb2))
 
 
-define usbdep
-  SUBMENU:=$(USBMENU)
-  DEPENDS:=kmod-usb-core $(1)
-endef
-
-
 define KernelPackage/usb-acm
   $(call usbdep,)
   TITLE:=Support for modems/isdn controllers
   DESCRIPTION:=Kernel support for USB ACM devices (modems/isdn controllers)
-  KCONFIG:=$(CONFIG_USB_ACM)
+  KCONFIG:=CONFIG_USB_ACM
 endef
 
 define KernelPackage/usb-acm/2.4
@@ -123,16 +134,15 @@ define KernelPackage/usb-audio
   $(call usbdep,+kmod-soundcore)
   TITLE:=Support for audio devices
   DESCRIPTION:=Kernel support for USB audio devices
+  KCONFIG:=CONFIG_USB_AUDIO CONFIG_SND_USB_AUDIO
 endef
 
 define KernelPackage/usb-audio/2.4
-  KCONFIG:=$(CONFIG_USB_AUDIO)
   FILES:=$(LINUX_DIR)/drivers/usb/audio.o
   AUTOLOAD:=$(call AutoLoad,60,audio)
 endef
 
 define KernelPackage/usb-audio/2.6
-  KCONFIG:=$(CONFIG_SND_USB_AUDIO)
   FILES:= \
        $(LINUX_DIR)/sound/usb/snd-usb-lib.ko \
        $(LINUX_DIR)/sound/usb/snd-usb-audio.ko
@@ -145,7 +155,7 @@ define KernelPackage/usb-printer
   $(call usbdep,)
   TITLE:=Support for printers
   DESCRIPTION:=Kernel support for USB printers
-  KCONFIG:=$(CONFIG_USB_PRINTER)
+  KCONFIG:=CONFIG_USB_PRINTER
 endef
 
 define KernelPackage/usb-printer/2.4
@@ -164,29 +174,27 @@ define KernelPackage/usb-serial
   $(call usbdep,)
   TITLE:=Support for USB-to-Serial converters
   DESCRIPTION:=Kernel support for USB-to-Serial converters
-  KCONFIG:=$(CONFIG_USB_SERIAL)
+  KCONFIG:=CONFIG_USB_SERIAL
   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 @LINUX_2_6)
   TITLE:=Support for Airprime (EVDO) 
   DESCRIPTION:=Kernel support for Airprime (EVDO) 
-  DEPENDS:=kmod-usb-serial
-  SUBMENU:=$(USBMENU)
-  KCONFIG:=$(CONFIG_USB_SERIAL_AIRPRIME)
+  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)
+  KCONFIG:=CONFIG_USB_SERIAL_BELKIN
   FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,belkin_sa)
 endef
@@ -194,11 +202,10 @@ $(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)
+  KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO
   FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,ftdi_sio)
 endef
@@ -206,22 +213,20 @@ $(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)
+  KCONFIG:=CONFIG_USB_SERIAL_MCT_U232
   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)
+  KCONFIG:=CONFIG_USB_SERIAL_PL2303
   FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,pl2303)
 endef
@@ -229,11 +234,10 @@ $(eval $(call KernelPackage,usb-serial-pl2303))
 
 
 define KernelPackage/usb-serial-sierrawireless
+  $(call usbdep,kmod-usb-serial @LINUX_2_6)
   TITLE:=Support for Sierra Wireless devices
   DESCRIPTION:=Kernel support for Sierra Wireless devices
-  DEPENDS:=kmod-usb-serial
-  SUBMENU:=$(USBMENU)
-  KCONFIG:=$(CONFIG_USB_SERIAL_SIERRAWIRELESS)
+  KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
   FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,65,sierra)
 endef
@@ -241,49 +245,72 @@ $(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)
+  KCONFIG:=CONFIG_USB_SERIAL_VISOR
   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 @LINUX_2_6)
+  TITLE:=Support for Option HSDPA modems
+  DESCRIPTION:=Kernel support for Option HSDPA modems
+  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)
+  KCONFIG:=CONFIG_USB_STORAGE
   FILES:= \
        $(LINUX_DIR)/drivers/usb/storage/usb-storage.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,60,scsi_mod sd_mod usb-storage)
-  DEPENDS:=+kmod-scsi-core
 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:= \
-       $(LINUX_DIR)/drivers/usb/atm/usbatm.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/usb/atm/speedtch.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,70,usbatm speedtch)
+  KCONFIG:=CONFIG_USB_SPEEDTOUCH
+  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)
+  $(call usbdep,+kmod-videodev @LINUX_2_6)
   TITLE:=Philips WebCam driver
   DESCRIPTION:=Kernel modules for supporting Philips WebCam USB devices
-  KCONFIG:=$(CONFIG_USB_PWC)
+  KCONFIG:=CONFIG_USB_PWC CONFIG_VIDEO_V4L1=y CONFIG_VIDEO_CAPTURE_DRIVERS=y CONFIG_V4L_USB_DRIVERS=y CONFIG_USB_PWC_DEBUG=n
   AUTOLOAD:=$(call AutoLoad,70,pwc)
 endef
 
@@ -291,14 +318,26 @@ 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 @LINUX_2_6)
+  TITLE:=CPIA2 video driver
+  DESCRIPTION:=Kernel modules for CPIA2 WebCam devices
+  KCONFIG:=CONFIG_VIDEO_CPIA2
+  AUTOLOAD:=$(call AutoLoad,70,cpia2)
+  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)
-  DEPENDS:=@USB_SUPPORT
+  KCONFIG:=CONFIG_USB_USBNET
   AUTOLOAD:=$(call Autoload,60, usbnet)
 endef
 
@@ -307,76 +346,64 @@ define KernelPackage/usb-net/2.4
 endef
 
 define KernelPackage/usb-net/2.6
-  FILES:=$(LINUX_DIR)/drivers/usb/net/usbnet.$(LINUX_KMOD_SUFFIX)
+  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)
+  $(call usbdep,kmod-usb-net @LINUX_2_6)
   TITLE:=Kernel module for USB-to-Ethernet Asix convertors
   DESCRIPTION:=Kernel module for USB-to-Ethernet Asix convertors
-  DEPENDS:=kmod-usb-net
-  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/usb/net/asix.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=CONFIG_USB_NET_AX8817X
+  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)
+  $(call usbdep,kmod-usb-net @LINUX_2_6)
   TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors
   DESCRIPTION:=Kernel module for USB-to-Ethernet Kaweth convertors
-  DEPENDS:=kmod-usb-net
-  KCONFIG:=$(CONFIG_USB_KAWETH)
-  FILES:=$(LINUX_DIR)/drivers/usb/net/kaweth.$(LINUX_KMOD_SUFFIX)
+  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)
+  $(call usbdep,kmod-usb-net @LINUX_2_6)
   TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
   DESCRIPTION:=Kernel module for USB-to-Ethernet Pegasus convertors
-  DEPENDS:=kmod-usb-net
-  KCONFIG:=$(CONFIG_USB_PEGASUS)
-  FILES:=$(LINUX_DIR)/drivers/usb/net/pegasus.$(LINUX_KMOD_SUFFIX)
+  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 evdev)
+  $(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)
+  KCONFIG:=CONFIG_USB_HID
   AUTOLOAD:=$(call AutoLoad,70,usbhid)
 endef
 
 define KernelPackage/usb-hid/2.6
-  FILES:=$(LINUX_DIR)/drivers/usb/input/usbhid.ko
+  FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
 endef
 $(eval $(call KernelPackage,usb-hid))
 
 define KernelPackage/usb-yealink
-  $(call usbdep,@LINUX_2_6)
+  $(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/usb/input/yealink.ko
+  KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
+  FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
   AUTOLOAD:=$(call AutoLoad,70,yealink)
-  DEPENDS:=kmod-input-core kmod-input-evdev
 endef
 $(eval $(call KernelPackage,usb-yealink))