From 4f1db6c93eb42957f37ff207b3c6f52939b14ae3 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat, 2 Apr 2005 15:34:55 +0000
Subject: [PATCH] split usb packages and add usb2 support

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@518 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 openwrt/package/linux/Config.in               | 37 ++++++++-
 openwrt/package/linux/Makefile                | 22 ++++-
 ...kmod-usb.control => kmod-usb-core.control} |  4 +-
 .../linux/control/kmod-usb-ohci.control       |  7 ++
 .../linux/control/kmod-usb-printer.control    |  6 ++
 .../linux/control/kmod-usb-storage.control    |  6 ++
 .../linux/control/kmod-usb-uhci.control       |  7 ++
 .../package/linux/control/kmod-usb2.control   |  7 ++
 openwrt/package/linux/linux.config            | 82 +------------------
 9 files changed, 89 insertions(+), 89 deletions(-)
 rename openwrt/package/linux/control/{kmod-usb.control => kmod-usb-core.control} (60%)
 create mode 100644 openwrt/package/linux/control/kmod-usb-ohci.control
 create mode 100644 openwrt/package/linux/control/kmod-usb-printer.control
 create mode 100644 openwrt/package/linux/control/kmod-usb-storage.control
 create mode 100644 openwrt/package/linux/control/kmod-usb-uhci.control
 create mode 100644 openwrt/package/linux/control/kmod-usb2.control

diff --git a/openwrt/package/linux/Config.in b/openwrt/package/linux/Config.in
index 6caf8f495..c06bcd241 100644
--- a/openwrt/package/linux/Config.in
+++ b/openwrt/package/linux/Config.in
@@ -43,11 +43,40 @@ config BR2_PACKAGE_KMOD_CIFS
 	  Kernel modules for CIFS support
 
 config BR2_PACKAGE_KMOD_USB
-	tristate "USB/SCSI support"
+	tristate "USB support"
 	default m
-	help
-	  Kernel modules for USB/SCSI support
-	  Includes usb-storage and printer
+
+config BR2_PACKAGE_KMOD_USB_CONTROLLER
+	tristate
+	depends on BR2_PACKAGE_KMOD_USB_UHCI || BR2_PACKAGE_KMOD_USB_OHCI
+	default n
+
+config BR2_PACKAGE_KMOD_USB_UHCI
+	tristate "Support for UHCI controllers"
+	default m
+	depends BR2_PACKAGE_KMOD_USB
+	select BR2_PACKAGE_KMOD_USB_CONTROLLER
+
+config BR2_PACKAGE_KMOD_USB_OHCI
+	tristate "Support for OHCI controllers"
+	default m
+	depends BR2_PACKAGE_KMOD_USB
+	select BR2_PACKAGE_KMOD_USB_CONTROLLER
+
+config BR2_PACKAGE_KMOD_USB2
+	tristate "Support for USB 2.0 controllers"
+	default m
+	depends BR2_PACKAGE_KMOD_USB_CONTROLLER
+
+config BR2_PACKAGE_KMOD_USB_STORAGE
+	tristate "Support for USB storage devices"
+	default m
+	depends BR2_PACKAGE_KMOD_USB_CONTROLLER
+
+config BR2_PACKAGE_KMOD_USB_PRINTER
+	tristate "Support for USB printers"
+	default m
+	depends BR2_PACKAGE_KMOD_USB_CONTROLLER
 
 config BR2_PACKAGE_KMOD_VFAT
 	tristate "VFAT filesystem support"
diff --git a/openwrt/package/linux/Makefile b/openwrt/package/linux/Makefile
index f872ab088..771a9979d 100644
--- a/openwrt/package/linux/Makefile
+++ b/openwrt/package/linux/Makefile
@@ -61,11 +61,25 @@ $(eval $(call KMOD_template,NFS,nfs,\
 	$(MODULES_DIR)/kernel/fs/nfs/*.o \
 	$(MODULES_DIR)/kernel/net/sunrpc/*.o \
 ,CONFIG_NFS_FS))
-$(eval $(call KMOD_template,USB,usb,\
-	$(MODULES_DIR)/kernel/drivers/scsi/*.o \
-	$(MODULES_DIR)/kernel/drivers/usb/*.o \
-	$(MODULES_DIR)/kernel/drivers/usb/*/*.o \
+$(eval $(call KMOD_template,USB,usb-core,\
+	$(MODULES_DIR)/kernel/drivers/usb/usbcore.o \
 ,CONFIG_USB))
+$(eval $(call KMOD_template,USB_UHCI,usb-uhci,\
+	$(MODULES_DIR)/kernel/drivers/usb/host/uhci.o \
+,CONFIG_USB_UHCI_ALT))
+$(eval $(call KMOD_template,USB_OHCI,usb-ohci,\
+	$(MODULES_DIR)/kernel/drivers/usb/host/usb-ohci.o \
+,CONFIG_USB_OHCI))
+$(eval $(call KMOD_template,USB2,usb2,\
+	$(MODULES_DIR)/kernel/drivers/usb/host/ehci-hcd.o \
+,CONFIG_USB_EHCI_HCD))
+$(eval $(call KMOD_template,USB_STORAGE,usb-storage,\
+	$(MODULES_DIR)/kernel/drivers/scsi/*.o \
+	$(MODULES_DIR)/kernel/drivers/usb/storage/*.o \
+,CONFIG_USB_STORAGE))
+$(eval $(call KMOD_template,USB_PRINTER,usb-printer,\
+	$(MODULES_DIR)/kernel/drivers/usb/printer.o \
+,CONFIG_USB_PRINTER))
 $(eval $(call KMOD_template,LP,lp,\
 	$(MODULES_DIR)/kernel/drivers/parport/parport.o \
 	$(MODULES_DIR)/kernel/drivers/parport/parport_splink.o \
diff --git a/openwrt/package/linux/control/kmod-usb.control b/openwrt/package/linux/control/kmod-usb-core.control
similarity index 60%
rename from openwrt/package/linux/control/kmod-usb.control
rename to openwrt/package/linux/control/kmod-usb-core.control
index a98eb668c..2e6966296 100644
--- a/openwrt/package/linux/control/kmod-usb.control
+++ b/openwrt/package/linux/control/kmod-usb-core.control
@@ -1,6 +1,6 @@
-Package: kmod-usb
+Package: kmod-usb-core
 Priority: optional
 Section: sys
 Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
 Source: buildroot internal
-Description: Kernel modules for USB/SCSI support
+Description: Kernel Support for USB
diff --git a/openwrt/package/linux/control/kmod-usb-ohci.control b/openwrt/package/linux/control/kmod-usb-ohci.control
new file mode 100644
index 000000000..cc87fa8da
--- /dev/null
+++ b/openwrt/package/linux/control/kmod-usb-ohci.control
@@ -0,0 +1,7 @@
+Package: kmod-usb-ohci
+Priority: optional
+Section: sys
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Depends: kmod-usb-core
+Description: Kernel driver for OHCI USB controllers
diff --git a/openwrt/package/linux/control/kmod-usb-printer.control b/openwrt/package/linux/control/kmod-usb-printer.control
new file mode 100644
index 000000000..b9f13fec6
--- /dev/null
+++ b/openwrt/package/linux/control/kmod-usb-printer.control
@@ -0,0 +1,6 @@
+Package: kmod-usb-printer
+Priority: optional
+Section: sys
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Description: Kernel modules for USB Printer support
diff --git a/openwrt/package/linux/control/kmod-usb-storage.control b/openwrt/package/linux/control/kmod-usb-storage.control
new file mode 100644
index 000000000..4156a0d91
--- /dev/null
+++ b/openwrt/package/linux/control/kmod-usb-storage.control
@@ -0,0 +1,6 @@
+Package: kmod-usb-storage
+Priority: optional
+Section: sys
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Description: Kernel modules for USB storage support
diff --git a/openwrt/package/linux/control/kmod-usb-uhci.control b/openwrt/package/linux/control/kmod-usb-uhci.control
new file mode 100644
index 000000000..53a07d892
--- /dev/null
+++ b/openwrt/package/linux/control/kmod-usb-uhci.control
@@ -0,0 +1,7 @@
+Package: kmod-usb-uhci
+Priority: optional
+Section: sys
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Depends: kmod-usb-core
+Description: Kernel driver for UHCI USB controllers
diff --git a/openwrt/package/linux/control/kmod-usb2.control b/openwrt/package/linux/control/kmod-usb2.control
new file mode 100644
index 000000000..8fef6cd4b
--- /dev/null
+++ b/openwrt/package/linux/control/kmod-usb2.control
@@ -0,0 +1,7 @@
+Package: kmod-usb2
+Priority: optional
+Section: sys
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Depends: kmod-usb-core
+Description: Kernel driver for USB2 controllers
diff --git a/openwrt/package/linux/linux.config b/openwrt/package/linux/linux.config
index f636f8c23..923a0e344 100644
--- a/openwrt/package/linux/linux.config
+++ b/openwrt/package/linux/linux.config
@@ -1,5 +1,5 @@
 #
-# Automatically generated make config: don't edit
+# Automatically generated by make menuconfig: don't edit
 #
 CONFIG_MIPS=y
 CONFIG_MIPS32=y
@@ -181,10 +181,6 @@ CONFIG_MTD_PARTITIONS=y
 # CONFIG_MTD_CONCAT is not set
 # CONFIG_MTD_REDBOOT_PARTS is not set
 # CONFIG_MTD_CMDLINE_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
 CONFIG_MTD_CHAR=y
 CONFIG_MTD_BLOCK=y
 # CONFIG_FTL is not set
@@ -250,10 +246,6 @@ CONFIG_MTD_SFLASH=y
 # CONFIG_MTD_SLRAM is not set
 # CONFIG_MTD_MTDRAM is not set
 # CONFIG_MTD_BLKMTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
 # CONFIG_MTD_DOC1000 is not set
 # CONFIG_MTD_DOC2000 is not set
 # CONFIG_MTD_DOC2001 is not set
@@ -436,10 +428,6 @@ CONFIG_IP6_NF_TARGET_MARK=m
 # CONFIG_IP_SCTP is not set
 # CONFIG_ATM is not set
 CONFIG_VLAN_8021Q=y
-
-#
-#  
-#
 # CONFIG_IPX is not set
 # CONFIG_ATALK is not set
 # CONFIG_DECNET is not set
@@ -524,20 +512,12 @@ CONFIG_NET_CLS_POLICE=y
 # SCSI support
 #
 CONFIG_SCSI=m
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
 CONFIG_BLK_DEV_SD=m
 CONFIG_SD_EXTRA_DEVS=5
 # CONFIG_CHR_DEV_ST is not set
 # CONFIG_CHR_DEV_OSST is not set
 # CONFIG_BLK_DEV_SR is not set
 CONFIG_CHR_DEV_SG=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
 # CONFIG_SCSI_DEBUG_QUEUES is not set
 # CONFIG_SCSI_MULTI_LUN is not set
 # CONFIG_SCSI_CONSTANTS is not set
@@ -721,10 +701,6 @@ CONFIG_NET_RADIO=y
 # CONFIG_PLX_HERMES is not set
 # CONFIG_TMD_HERMES is not set
 # CONFIG_PCI_HERMES is not set
-
-#
-# Prism54 PCI/PCMCIA GT/Duette Driver - 802.11(a/b/g)
-#
 # CONFIG_PRISM54 is not set
 CONFIG_NET_WIRELESS=y
 
@@ -796,14 +772,6 @@ CONFIG_PRINTER=m
 # Joysticks
 #
 # CONFIG_INPUT_GAMEPORT is not set
-
-#
-# Input core support is needed for gameports
-#
-
-#
-# Input core support is needed for joysticks
-#
 # CONFIG_QIC02_TAPE is not set
 # CONFIG_IPMI_HANDLER is not set
 # CONFIG_IPMI_PANIC_EVENT is not set
@@ -1033,24 +1001,12 @@ CONFIG_NLS_DEFAULT="iso8859-1"
 #
 CONFIG_USB=m
 # CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
 CONFIG_USB_DEVICEFS=y
 # CONFIG_USB_BANDWIDTH is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_EHCI_HCD is not set
+CONFIG_USB_EHCI_HCD=m
 # CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
+CONFIG_USB_UHCI_ALT=m
 CONFIG_USB_OHCI=m
-
-#
-# USB Device Class drivers
-#
 # CONFIG_USB_AUDIO is not set
 # CONFIG_USB_EMI26 is not set
 # CONFIG_USB_BLUETOOTH is not set
@@ -1067,15 +1023,7 @@ CONFIG_USB_STORAGE_SDDR55=y
 CONFIG_USB_STORAGE_JUMPSHOT=y
 # CONFIG_USB_ACM is not set
 CONFIG_USB_PRINTER=m
-
-#
-# USB Human Interface Devices (HID)
-#
 # CONFIG_USB_HID is not set
-
-#
-#     Input core support is needed for USB HID input layer or HIDBP support
-#
 # CONFIG_USB_HIDINPUT is not set
 # CONFIG_USB_HIDDEV is not set
 # CONFIG_USB_KBD is not set
@@ -1084,47 +1032,23 @@ CONFIG_USB_PRINTER=m
 # CONFIG_USB_WACOM is not set
 # CONFIG_USB_KBTAB is not set
 # CONFIG_USB_POWERMATE is not set
-
-#
-# USB Imaging devices
-#
 # CONFIG_USB_DC2XX is not set
 # CONFIG_USB_MDC800 is not set
 # CONFIG_USB_SCANNER is not set
 # CONFIG_USB_MICROTEK is not set
 # CONFIG_USB_HPUSBSCSI is not set
-
-#
-# USB Multimedia devices
-#
-
-#
-#   Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network adaptors
-#
 # CONFIG_USB_PEGASUS is not set
 # CONFIG_USB_RTL8150 is not set
 # CONFIG_USB_KAWETH is not set
 # CONFIG_USB_CATC is not set
 # CONFIG_USB_CDCETHER is not set
 # CONFIG_USB_USBNET is not set
-
-#
-# USB port drivers
-#
 # CONFIG_USB_USS720 is not set
 
 #
 # USB Serial Converter support
 #
 # CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
 # CONFIG_USB_RIO500 is not set
 # CONFIG_USB_AUERSWALD is not set
 # CONFIG_USB_TIGL is not set
-- 
2.20.1