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:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ilya Lipnitskiy
					Ilya Lipnitskiy