From: Claudio Mignanti <c.mignanti@gmail.com>
Date: Fri, 2 Oct 2009 09:34:10 +0000 (+0000)
Subject: Export USB host driver as kernel package
X-Git-Tag: reboot~22316
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=7f3ed114f2c84012013ffecd3afe88e94d8580e4;p=openwrt%2Fstaging%2Fblogic.git

Export USB host driver as kernel package

SVN-Revision: 17818
---

diff --git a/package/kernel/modules/usb.mk b/package/kernel/modules/usb.mk
index 4fcf5573ae9c..3ab32fd30bd5 100644
--- a/package/kernel/modules/usb.mk
+++ b/package/kernel/modules/usb.mk
@@ -134,6 +134,22 @@ endef
 
 $(eval $(call KernelPackage,usb-adm5120))
 
+define KernelPackage/usb-etrax
+  $(call usbdep,@TARGET_etrax)
+  DEPENDS=kmod-usb-core
+  TITLE:=Support for the ETRAX USB host controller
+  KCONFIG:=CONFIG_ETRAX_USB_HOST \
+	CONFIG_ETRAX_USB_HOST_PORT1=y CONFIG_ETRAX_USB_HOST_PORT2=y
+  FILES:=$(LINUX_DIR)/drivers/usb/host/hc-crisv10.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,hc-crisv10)
+endef
+
+define KernelPackage/usb-etrax/description
+ Kernel support for the ETRAX USB host controller
+endef
+
+$(eval $(call KernelPackage,usb-etrax))
+
 
 define KernelPackage/usb2
   $(call usbdep,)
diff --git a/target/linux/etrax/config-2.6.30 b/target/linux/etrax/config-2.6.30
index 33b650848e9c..17aeeee91e1a 100644
--- a/target/linux/etrax/config-2.6.30
+++ b/target/linux/etrax/config-2.6.30
@@ -131,9 +131,7 @@ CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN=y
 CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS=5
 # CONFIG_ETRAX_SOFT_SHUTDOWN is not set
 # CONFIG_ETRAX_SYNCHRONOUS_SERIAL is not set
-CONFIG_ETRAX_USB_HOST=y
-CONFIG_ETRAX_USB_HOST_PORT1=y
-CONFIG_ETRAX_USB_HOST_PORT2=y
+# CONFIG_ETRAX_USB_HOST is not set
 # CONFIG_ETRAX_VCS_SIM is not set
 # CONFIG_ETRAX_WATCHDOG is not set
 CONFIG_FORCE_MAX_ZONEORDER=6
@@ -166,4 +164,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y
 # CONFIG_SVINTO_SIM is not set
 # CONFIG_SYSTEM_PROFILER is not set
 CONFIG_UID16=y
-CONFIG_USB=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB_ARCH_HAS_HCD is not set
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_SUPPORT=y
diff --git a/target/linux/etrax/patches-2.6.30/300-usb_support.patch b/target/linux/etrax/patches-2.6.30/300-usb_support.patch
index b2c1d27e8da9..7b2972656af5 100644
--- a/target/linux/etrax/patches-2.6.30/300-usb_support.patch
+++ b/target/linux/etrax/patches-2.6.30/300-usb_support.patch
@@ -4,7 +4,7 @@
  obj-$(CONFIG_USB_FHCI_HCD)	+= fhci.o
  obj-$(CONFIG_USB_SL811_HCD)	+= sl811-hcd.o
  obj-$(CONFIG_USB_SL811_CS)	+= sl811_cs.o
-+obj-$(CONFIG_ETRAX_ARCH_V10)	+= hc-crisv10.o
++obj-$(CONFIG_ETRAX_USB_HOST)	+= hc-crisv10.o
  obj-$(CONFIG_USB_U132_HCD)	+= u132-hcd.o
  obj-$(CONFIG_USB_R8A66597_HCD)	+= r8a66597-hcd.o
  obj-$(CONFIG_USB_ISP1760_HCD)	+= isp1760.o
@@ -18,3 +18,14 @@
  
  obj-$(CONFIG_USB_C67X00_HCD)	+= c67x00/
  
+--- a/arch/cris/arch-v10/drivers/Kconfig
++++ b/arch/cris/arch-v10/drivers/Kconfig
+@@ -410,7 +410,7 @@ config ETRAX_RS485_DISABLE_RECEIVER
+ 	  Axis 2400/2401 must disable receiver.
+ 
+ config ETRAX_USB_HOST
+-	bool "USB host"
++	tristate "ETRAX USB host"
+ 	select USB
+ 	help
+ 	   This option enables the host functionality of the ETRAX 100LX