On Thu, Nov 18, 2021 at 09:52:28AM -0800, Matthias Kaehlcke wrote: > On Wed, Nov 17, 2021 at 04:11:34PM -0800, Doug Anderson wrote: > > Hi, > > > > On Tue, Nov 16, 2021 at 12:07 PM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote: > > > > > > --- a/drivers/usb/misc/Kconfig > > > +++ b/drivers/usb/misc/Kconfig > > > @@ -284,3 +284,20 @@ config BRCM_USB_PINMAP > > > This option enables support for remapping some USB external > > > signals, which are typically on dedicated pins on the chip, > > > to any gpio. > > > + > > > +config USB_ONBOARD_HUB > > > + tristate "Onboard USB hub support" > > > > Aren't you back to shenanigans now that you're being called straight > > from the USB core? What if you're a module and the USB core is > > builtin? It can't call you, right? ...or what if you're builtin but > > the USB core is a module (yeah, I know that sounds insane but I don't > > think anything technically prevents it)? > > Indeed, a dependency involving USB host mode is needed, as previously > with xhci_plat. > > > Can you just add a dependency here such that if the USB core is a > > module that you're a module and if the USB core is builtin that you're > > builtin? > > I couldn't find a way to specify that in the config options of the driver > itself. I fear the dependency has to be specified in CONFIG_USB, like it > was done previously with USB_XHCI_PLATFORM: > > https://patchwork.kernel.org/project/linux-usb/patch/20210813125146.v16.6.I7a3a7d9d2126c34079b1cab87aa0b2ec3030f9b7@changeid/ > > Hope that isn't controversial. Ugh, actually adding depends on USB_ONBOARD_HUB || !USB_ONBOARD_HUB to CONFIG_USB does not work. The problem is that USB_ONBOARD_HUB depends on CONFIG_USB (not through an explicit dependency, but the 'misc' directory it resides in is only included when CONFIG_USB=y/m), so the above rule would introduce a circular dependency. Unless there is some other way to specify "don't allow building USB_ONBOARD_HUB as a module, unless USB is a module" I fear USB_ONBOARD_HUB must be bool, which isn't really great :(