On Mon, Jul 18, 2022 at 2:29 PM Tomer Maimon <tmaimon77@xxxxxxxxx> wrote: > > config USB_EHCI_HCD_NPCM7XX > tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller" > - depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST > + depends on (USB_EHCI_HCD && ARCH_NPCM7XX && RESET_NPCM) || COMPILE_TEST > default y if (USB_EHCI_HCD && ARCH_NPCM7XX) > help > Enables support for the on-chip EHCI controller on I would leave out this Kconfig change, there is really no need to enforce this specific dependency. It is expected that a device driver has dependencies on several other subsystems (irqchip, reset, pinctrl, clock, ....) and will only work if the required drivers are also built for the same kernel. Also, forcing the USB driver to be a loadable module when the reset driver is a module (rather than built-in) does not guarantee that they are initialized in the correct order. If only the USB driver is built-in and the reset driver is a module, or both are loadable modules and USB gets loaded first, then the probe() function should notice this and return -EPROBE_DEFER so it will be retried after the reset driver is successfully loaded. Arnd