mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
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>
This commit is contained in:
parent
9663562188
commit
7bda2e9aba
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user