aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel
diff options
context:
space:
mode:
authorIlya Lipnitskiy <ilya.lipnitskiy@gmail.com>2021-03-05 18:06:02 -0800
committerroot <root@localhost.localdomain>2021-03-06 02:47:11 +0000
commit7bda2e9aba58eaed4519fa2ec0f78dd1ab58594f (patch)
treef1f2ecdae9787ea078720498c476889f8b60cec6 /package/kernel
parent9663562188bb1039e93acacaf3e1c164fdddf021 (diff)
downloadupstream-7bda2e9aba58eaed4519fa2ec0f78dd1ab58594f.tar.gz
upstream-7bda2e9aba58eaed4519fa2ec0f78dd1ab58594f.tar.bz2
upstream-7bda2e9aba58eaed4519fa2ec0f78dd1ab58594f.zip
kernel: fix kmod-usb3 dependencies
Adding CONFIG_USB_XHCI_PCI_RENESAS to KCONFIG made it so it was set for all targets that included kmod-usb3, not just the intended apm821xx/nand. xhci-pci has a dependency on xhci-pci-renesas if CONFIG_USB_XHCI_PCI_RENESAS is set, breaking kmod-usb3 builds on Linux 5.10 on all other targets. Rework the dependencies by breaking out xhci-hcd, xhci-mtk, and xhci-pci-renesas into new hidden kernel modules and setting kmod-usb3 dependencies properly. Tested by building mt7621 and apm821xx/nand with kmod-usb3 on Linux 5.10 Fixes: be23f981 ("apm821xx: add support for kernel 5.10") Cc: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Diffstat (limited to 'package/kernel')
-rw-r--r--package/kernel/linux/modules/usb.mk82
1 files changed, 62 insertions, 20 deletions
diff --git a/package/kernel/linux/modules/usb.mk b/package/kernel/linux/modules/usb.mk
index 1f72d89512..1a45fb3670 100644
--- a/package/kernel/linux/modules/usb.mk
+++ b/package/kernel/linux/modules/usb.mk
@@ -1649,34 +1649,22 @@ endef
$(eval $(call KernelPackage,usbmon))
-XHCI_MODULES := xhci-hcd xhci-pci xhci-plat-hcd
-ifdef CONFIG_TARGET_ramips_mt7621
- XHCI_MODULES += xhci-mtk
-endif
-ifndef CONFIG_LINUX_5_4
- ifdef CONFIG_TARGET_apm821xx_nand
- XHCI_MODULES += xhci-pci-renesas
- endif
-endif
-XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,$(XHCI_MODULES)))
-XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES))
-
define KernelPackage/usb3
TITLE:=Support for USB3 controllers
DEPENDS:= \
+ +kmod-usb-xhci-hcd \
+TARGET_bcm53xx:kmod-usb-bcma \
- +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3
+ +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3 \
+ +TARGET_ramips_mt7621:kmod-usb-xhci-mtk \
+ +(TARGET_apm821xx_nand&&LINUX_5_10):kmod-usb-xhci-pci-renesas
KCONFIG:= \
CONFIG_USB_PCI=y \
- CONFIG_USB_XHCI_HCD \
CONFIG_USB_XHCI_PCI \
- CONFIG_USB_XHCI_PLATFORM \
- CONFIG_USB_XHCI_MTK \
- CONFIG_USB_XHCI_PCI_RENESAS \
- CONFIG_USB_XHCI_HCD_DEBUGGING=n
+ CONFIG_USB_XHCI_PLATFORM
FILES:= \
- $(XHCI_FILES)
- AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1)
+ $(LINUX_DIR)/drivers/usb/host/xhci-pci.ko \
+ $(LINUX_DIR)/drivers/usb/host/xhci-plat-hcd.ko
+ AUTOLOAD:=$(call AutoLoad,54,xhci-pci xhci-plat-hcd,1)
$(call AddDepends/usb)
endef
@@ -1719,6 +1707,60 @@ endef
$(eval $(call KernelPackage,usb-roles))
+define KernelPackage/usb-xhci-hcd
+ TITLE:=xHCI HCD (USB 3.0) support
+ KCONFIG:= \
+ CONFIG_USB_XHCI_HCD \
+ CONFIG_USB_XHCI_HCD_DEBUGGING=n
+ HIDDEN:=1
+ FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-hcd.ko
+ AUTOLOAD:=$(call AutoLoad,54,xhci-hcd,1)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-xhci-hcd/description
+ The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
+ "SuperSpeed" host controller hardware.
+endef
+
+$(eval $(call KernelPackage,usb-xhci-hcd))
+
+
+define KernelPackage/usb-xhci-mtk
+ TITLE:=xHCI support for MediaTek SoCs
+ DEPENDS:=+kmod-usb-xhci-hcd
+ KCONFIG:=CONFIG_USB_XHCI_MTK
+ HIDDEN:=1
+ FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-mtk.ko
+ AUTOLOAD:=$(call AutoLoad,54,xhci-mtk,1)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-xhci-mtk/description
+ Kernel support for the xHCI host controller found in MediaTek SoCs.
+endef
+
+$(eval $(call KernelPackage,usb-xhci-mtk))
+
+
+define KernelPackage/usb-xhci-pci-renesas
+ TITLE:=Support for additional Renesas xHCI controller with firmware
+ DEPENDS:=@LINUX_5_10
+ KCONFIG:=CONFIG_USB_XHCI_PCI_RENESAS
+ HIDDEN:=1
+ FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-pci-renesas.ko
+ AUTOLOAD:=$(call AutoLoad,54,xhci-pci-renesas,1)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-xhci-pci-renesas/description
+ Kernel support for the Renesas xHCI controller with firmware. Make sure you have
+ the firwmare for the device and installed on your system for this device to work.
+endef
+
+$(eval $(call KernelPackage,usb-xhci-pci-renesas))
+
+
define KernelPackage/chaoskey
SUBMENU:=$(USB_MENU)
TITLE:=Chaoskey hardware RNG support