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
