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"
 
        $(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 \
 
 #
-# Automatically generated make config: don't edit
+# Automatically generated by make menuconfig: don't edit
 #
 CONFIG_MIPS=y
 CONFIG_MIPS32=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
 # 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
 # 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
 # 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
 # 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
 
 # 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
 #
 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
 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
 # 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