modern routers have USB3 (xHCI) 

- build the module
- dirty: disable compile error by deleting 
811-pci_disable_usb_common_quirks.patch

Signed-off-by: Dirk Neukirchen <[email protected]>
---
 package/kernel/linux/modules/usb.mk                | 18 +++++
 .../811-pci_disable_usb_common_quirks.patch        | 80 ----------------------
 2 files changed, 18 insertions(+), 80 deletions(-)
 delete mode 100644 
target/linux/generic/patches-3.10/811-pci_disable_usb_common_quirks.patch

diff --git a/package/kernel/linux/modules/usb.mk 
b/package/kernel/linux/modules/usb.mk
index 1614419..91e766c 100644
--- a/package/kernel/linux/modules/usb.mk
+++ b/package/kernel/linux/modules/usb.mk
@@ -1092,3 +1092,21 @@ define KernelPackage/usbmon/description
 endef
 
 $(eval $(call KernelPackage,usbmon))
+
+
+define KernelPackage/usb3
+  TITLE:=Support for USB3 controllers
+  KCONFIG:= \
+       CONFIG_USB_XHCI \
+       CONFIG_USB_XHCI_HCD \
+       CONFIG_USB_XHCI_HCD_DEBUGGING=y
+  FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-hcd.ko
+  AUTOLOAD:=$(call AutoLoad,50,xhci-hcd,1)
+  $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb3/description
+ Kernel support for USB USB3 controllers
+endef
+
+$(eval $(call KernelPackage,usb3,1))
diff --git 
a/target/linux/generic/patches-3.10/811-pci_disable_usb_common_quirks.patch 
b/target/linux/generic/patches-3.10/811-pci_disable_usb_common_quirks.patch
deleted file mode 100644
index 1486e0d..0000000
--- a/target/linux/generic/patches-3.10/811-pci_disable_usb_common_quirks.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-
---- a/drivers/usb/host/pci-quirks.c
-+++ b/drivers/usb/host/pci-quirks.c
-@@ -79,6 +79,8 @@
- #define USB_INTEL_USB3_PSSEN   0xD8
- #define USB_INTEL_USB3PRM      0xDC
- 
-+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
-+
- static struct amd_chipset_info {
-       struct pci_dev  *nb_dev;
-       struct pci_dev  *smbus_dev;
-@@ -353,6 +355,10 @@ void usb_amd_dev_put(void)
- }
- EXPORT_SYMBOL_GPL(usb_amd_dev_put);
- 
-+#endif /* CONFIG_PCI_DISABLE_COMMON_QUIRKS */
-+
-+#if IS_ENABLED(CONFIG_USB_UHCI_HCD)
-+
- /*
-  * Make sure the controller is completely inactive, unable to
-  * generate interrupts or do DMA.
-@@ -432,8 +438,17 @@ reset_needed:
-       uhci_reset_hc(pdev, base);
-       return 1;
- }
-+#else
-+int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base)
-+{
-+      return 0;
-+}
-+
-+#endif
- EXPORT_SYMBOL_GPL(uhci_check_and_reset_hc);
- 
-+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
-+
- static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
- {
-       u16 cmd;
-@@ -974,3 +989,4 @@ static void quirk_usb_early_handoff(stru
- }
- DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
-                       PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
-+#endif
---- a/drivers/usb/host/pci-quirks.h
-+++ b/drivers/usb/host/pci-quirks.h
-@@ -4,18 +4,26 @@
- #ifdef CONFIG_PCI
- void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
- int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
-+bool usb_is_intel_switchable_xhci(struct pci_dev *pdev);
-+void usb_enable_xhci_ports(struct pci_dev *xhci_pdev);
-+void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
-+#else
-+static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
-+#endif  /* CONFIG_PCI */
-+
-+#if defined(CONFIG_PCI) && !defined(CONFIG_PCI_DISABLE_COMMON_QUIRKS)
- int usb_amd_find_chipset_info(void);
- void usb_amd_dev_put(void);
- void usb_amd_quirk_pll_disable(void);
- void usb_amd_quirk_pll_enable(void);
--bool usb_is_intel_switchable_xhci(struct pci_dev *pdev);
--void usb_enable_xhci_ports(struct pci_dev *xhci_pdev);
--void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
- #else
-+static inline int usb_amd_find_chipset_info(void)
-+{
-+      return 0;
-+}
- static inline void usb_amd_quirk_pll_disable(void) {}
- static inline void usb_amd_quirk_pll_enable(void) {}
- static inline void usb_amd_dev_put(void) {}
--static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
--#endif  /* CONFIG_PCI */
-+#endif
- 
- #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
-- 
1.8.1.2
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to